diff --git a/java/change-notes/2021-08-02-guava-collections.md b/java/change-notes/2021-08-02-guava-collections.md new file mode 100644 index 00000000000..0fb545f8990 --- /dev/null +++ b/java/change-notes/2021-08-02-guava-collections.md @@ -0,0 +1,2 @@ +lgtm,codescanning +* Improved modelling for the `com.google.common.collect` package of the Guava framework. \ No newline at end of file diff --git a/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll b/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll index 58558b2ffc0..67b2d332305 100644 --- a/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll +++ b/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll @@ -3,102 +3,575 @@ import java private import semmle.code.java.dataflow.DataFlow private import semmle.code.java.dataflow.FlowSteps +private import semmle.code.java.dataflow.ExternalFlow private import semmle.code.java.Collections private string guavaCollectPackage() { result = "com.google.common.collect" } -/** A reference type that extends a parameterization of one of the various immutable container types. */ -private class ImmutableContainerType extends RefType { - string kind; - - ImmutableContainerType() { - this.getSourceDeclaration().getASourceSupertype*().hasQualifiedName(guavaCollectPackage(), kind) and - kind = ["ImmutableCollection", "ImmutableMap", "ImmutableMultimap", "ImmutableTable"] +private class GuavaCollectCsv extends SummaryModelCsv { + override predicate row(string row) { + row = + [ + //"package;type;overrides;name;signature;ext;inputspec;outputspec;kind", + // Methods depending on lambda flow are not currently modelled + // Methods depending on stronger aliasing properties than we support are also not modelled. + "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;ArrayTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "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", + "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", + "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;BiMap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;BiMap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;MapValue of Argument[-1];ReturnValue;value", + "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;MapValue of Argument[-1];ReturnValue;value", + "com.google.common.collect;Collections2;false;filter;(Collection,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable,Comparator);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Collections2;false;permutations;(Collection);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;ConcurrentHashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;HashBasedTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;HashBasedTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;HashBasedTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;HashBiMap;true;create;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;HashBiMap;true;create;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;HashMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;HashMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;HashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableCollection;true;asList;();;Element of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;of;;;ArrayElement of Argument[12];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;reverse;();;Element of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapKey of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;ArrayElement of Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableMultiset$Builder;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value", + "com.google.common.collect;ImmutableMultiset;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSet;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;MapKey of Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;MapValue of Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[6];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[7];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[8];MapKey of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[9];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparable[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterator);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOfSorted;(SortedMultiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedMultiset;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparable[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Collection);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterator);;Element of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;copyOfSorted;(SortedSet);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value", + "com.google.common.collect;ImmutableSortedSet;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;orderColumnsBy;(Comparator);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;orderRowsBy;(Comparator);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[-1];ReturnValue;value", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[2];MapValue of ReturnValue;value", + "com.google.common.collect;Iterables;false;addAll;(Collection,Iterable);;Element of Argument[1];Element of Argument[0];value", + "com.google.common.collect;Iterables;false;concat;(Iterable);;Element of Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Element of Argument[0..2];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Element of Argument[0..3];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;concat;(Iterable[]);;Element of ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;consumingIterable;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;cycle;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;cycle;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;filter;(Iterable,Class);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;filter;(Iterable,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[2];ReturnValue;value", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;get;(Iterable,int);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[2];ReturnValue;value", + "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;getLast;(Iterable);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[1];ReturnValue;value", + "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[1];ReturnValue;value", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterables;false;limit;(Iterable,int);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;mergeSorted;(Iterable,Comparator);;Element of Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;paddedPartition;(Iterable,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;partition;(Iterable,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;skip;(Iterable,int);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;toArray;(Iterable,Class);;Element of Argument[0];ArrayElement of ReturnValue;value", + //"com.google.common.collect;Iterables;false;toString;(Iterable);;Element of Argument[0];ReturnValue;taint", + "com.google.common.collect;Iterables;false;tryFind;(Iterable,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;unmodifiableIterable;(ImmutableCollection);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterables;false;unmodifiableIterable;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;addAll;(Collection,Iterator);;Element of Argument[1];Element of Argument[0];value", + "com.google.common.collect;Iterators;false;asEnumeration;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;concat;(Iterator);;Element of Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Element of Argument[0..2];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Element of Argument[0..3];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;concat;(Iterator[]);;Element of ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;consumingIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;cycle;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;cycle;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;filter;(Iterator,Class);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;filter;(Iterator,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[2];ReturnValue;value", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;forArray;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;forEnumeration;(Enumeration);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;get;(Iterator,int);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[2];ReturnValue;value", + "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;getLast;(Iterator);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[1];ReturnValue;value", + "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[1];ReturnValue;value", + "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[1];ReturnValue;value", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Element of Argument[0];ReturnValue;value", + "com.google.common.collect;Iterators;false;limit;(Iterator,int);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;mergeSorted;(Iterable,Comparator);;Element of Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;paddedPartition;(Iterator,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;partition;(Iterator,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;peekingIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;peekingIterator;(PeekingIterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;singletonIterator;(Object);;Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;toArray;(Iterator,Class);;Element of Argument[0];ArrayElement of ReturnValue;value", + "com.google.common.collect;Iterators;false;tryFind;(Iterator,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;unmodifiableIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Iterators;false;unmodifiableIterator;(UnmodifiableIterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;LinkedHashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;ArrayElement of Argument[2];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;asList;(Object,Object[]);;ArrayElement of Argument[1];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;cartesianProduct;(List);;Element of Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Lists;false;cartesianProduct;(List[]);;Element of ArrayElement of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Lists;false;charactersOf;(CharSequence);;Argument[0];Element of ReturnValue;taint", + "com.google.common.collect;Lists;false;charactersOf;(String);;Argument[0];Element of ReturnValue;taint", + "com.google.common.collect;Lists;false;newArrayList;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;newArrayList;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;newArrayList;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;newCopyOnWriteArrayList;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;newLinkedList;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Lists;false;partition;(List,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Lists;false;reverse;(List);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;MapDifference$ValueDifference;true;leftValue;();;SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];ReturnValue;value", + "com.google.common.collect;MapDifference$ValueDifference;true;rightValue;();;SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.left] of MapValue of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.right] of MapValue of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;asMap;(NavigableSet,Function);;Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;asMap;(Set,Function);;Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;asMap;(SortedSet,Function);;Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value", + "com.google.common.collect;Maps;false;filterEntries;;;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;filterKeys;;;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;filterValues;;;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;fromProperties;(Properties);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;fromProperties;(Properties);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[1];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;immutableEnumMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;newEnumMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;newHashMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;newHashMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;toMap;(Iterable,Function);;Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;toMap;(Iterator,Function);;Element of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;transformValues;(Map,Function);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;transformValues;(NavigableMap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;transformValues;(SortedMap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;uniqueIndex;(Iterable,Function);;Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;uniqueIndex;(Iterator,Function);;Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value", + "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;keySet;();;MapKey of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;keys;();;MapKey of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimap;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(Multimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;forMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;forMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;index;(Iterable,Function);;Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;index;(Iterator,Function);;Element of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[1];ReturnValue;value", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;MapKey of Argument[0];MapValue of Argument[1];value", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;MapValue of Argument[0];MapKey of Argument[1];value", + "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;transformValues;(ListMultimap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;transformValues;(Multimap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Multiset$Entry;true;getElement;();;Element of Argument[-1];ReturnValue;value", + "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;Multiset;true;elementSet;();;Element of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Multiset;true;entrySet;();;Element of Argument[-1];Element of Element of ReturnValue;value", + "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Element of Argument[-1];value", + "com.google.common.collect;Multisets;false;copyHighestCountFirst;(Multiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;difference;(Multiset,Multiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;filter;(Multiset,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;immutableEntry;(Object,int);;Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;intersection;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;sum;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;union;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;unmodifiableMultiset;(ImmutableMultiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;unmodifiableMultiset;(Multiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Multisets;false;unmodifiableSortedMultiset;(SortedMultiset);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[0];ArrayElement of ReturnValue;value", + "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;ArrayElement of Argument[1];ArrayElement of ReturnValue;value", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[1];ArrayElement of ReturnValue;value", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;ArrayElement of Argument[0];ArrayElement of ReturnValue;value", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object[],Class);;ArrayElement of Argument[0..1];ArrayElement of ReturnValue;value", + "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,Duration);;Element of Argument[0];Element of Argument[1];value", + "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,long,TimeUnit);;Element of Argument[0];Element of Argument[1];value", + "com.google.common.collect;Queues;false;newArrayDeque;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;newConcurrentLinkedQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;newLinkedBlockingDeque;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;newLinkedBlockingQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;newPriorityBlockingQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;newPriorityQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;synchronizedDeque;(Deque);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Queues;false;synchronizedQueue;(Queue);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets$SetView;true;copyInto;(Set);;Element of Argument[-1];Element of Argument[0];value", + "com.google.common.collect;Sets$SetView;true;immutableCopy;();;Element of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;cartesianProduct;(List);;Element of Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Sets;false;cartesianProduct;(Set[]);;Element of ArrayElement of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Sets;false;combinations;(Set,int);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Sets;false;difference;(Set,Set);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;filter;(NavigableSet,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;filter;(Set,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;filter;(SortedSet,Predicate);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;intersection;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newCopyOnWriteArraySet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newHashSet;(Iterator);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newHashSet;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newLinkedHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newSetFromMap;(Map);;MapKey of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;newTreeSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;powerSet;(Set);;Element of Argument[0];Element of Element of ReturnValue;value", + "com.google.common.collect;Sets;false;subSet;(NavigableSet,Range);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;symmetricDifference;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;synchronizedNavigableSet;(NavigableSet);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;union;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value", + "com.google.common.collect;Sets;false;unmodifiableNavigableSet;(NavigableSet);;Element of Argument[0];Element of ReturnValue;value", + "com.google.common.collect;Table$Cell;true;getColumnKey;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];ReturnValue;value", + "com.google.common.collect;Table$Cell;true;getRowKey;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];ReturnValue;value", + "com.google.common.collect;Table$Cell;true;getValue;();;MapValue of Argument[-1];ReturnValue;value", + "com.google.common.collect;Table;true;cellSet;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value", + "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of Element of ReturnValue;value", + "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of Element of ReturnValue;value", + "com.google.common.collect;Table;true;column;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;column;(Object);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;Table;true;columnKeySet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Table;true;columnMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;get;(Object,Object);;MapValue of Argument[-1];ReturnValue;value", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value", + "com.google.common.collect;Table;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value", + "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value", + "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value", + "com.google.common.collect;Table;true;remove;(Object,Object);;MapValue of Argument[-1];ReturnValue;value", + "com.google.common.collect;Table;true;row;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;row;(Object);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value", + "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value", + "com.google.common.collect;Table;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[2];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapKey of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapKey of MapValue of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapValue of MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;transformValues;(Table,Function);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;transformValues;(Table,Function);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;transpose;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;transpose;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;transpose;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value", + "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;MapValue of Argument[0];MapValue of ReturnValue;value", + "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", + "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", + "com.google.common.collect;TreeMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value", + "com.google.common.collect;TreeMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value", + "com.google.common.collect;TreeMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ] } - - /** - * Gets the name of the most general superclass of this type - * from among `ImmutableCollection`, `ImmutableMap`, `ImmutableMultimap`, and `ImmutableTable`. - */ - string getKind() { result = kind } -} - -/** A nested `Builder` class of one of the various immutable container classes */ -private class ContainerBuilder extends NestedType { - ContainerBuilder() { - this.hasName("Builder") and - this.getEnclosingType() instanceof ImmutableContainerType - } -} - -private class BuilderBuildMethod extends TaintPreservingCallable { - BuilderBuildMethod() { - this.getDeclaringType().getASourceSupertype*() instanceof ContainerBuilder and - // abstract ImmutableCollection build() - // similar for other builder types - this.hasName("build") - } - - override predicate returnsTaintFrom(int arg) { arg = -1 } -} - -/** A method on a `Builder` class that adds elements to the container being built */ -private class BuilderAddMethod extends TaintPreservingCallable { - int argument; - - BuilderAddMethod() { - this.getDeclaringType().getASourceSupertype*() instanceof ContainerBuilder and - ( - // abstract ImmutableCollection.Builder add(E element) - // ImmutableCollection.Builder add(E... elements) - // ImmutableCollection.Builder addAll(Iterable elements) - // ImmutableCollection.Builder addAll(Iterator elements) - // ImmutableMultiset.Builder addCopies(E element, int occurrences) - // ImmutableMultiset.Builder setCount(E element, int count) - this.hasName(["add", "addAll", "addCopies", "setCount"]) and - argument = 0 - or - // ImmutableMap.Builder put(K key, V value) - // ImmutableMap.Builder put(Map.Entry entry) - // ImmutableMap.Builder putAll(Map map) - // ImmutableMap.Builder putAll(Iterable> entries) - // ImmutableMultimap.Builder put(K key, V value) - // ImmutableMultimap.Builder put(Map.Entry entry) - // ImmutableMultimap.Builder putAll(Iterable> entries) - // ImmutableMultimap.Builder putAll(K key, Iterable values) - // ImmutableMultimap.Builder putAll(K key, V... values) - // ImmutableMultimap.Builder putAll(Multimap multimap) - // ImmutableTable.Builder put(R rowKey, C columnKey, V value) - // ImmutableTable.Builder put(Table.Cell cell) - // ImmutableTable.Builder putAll(Table table) - this.hasName(["put", "putAll"]) and - argument = getNumberOfParameters() - 1 - ) - } - - override predicate returnsTaintFrom(int arg) { arg = [-1, argument] } - - override predicate transfersTaint(int src, int sink) { src = argument and sink = -1 } -} - -/** - * In a chained call `b.add(x).add(y).add(z)`, represents a flow step from the return value of - * this expression to the post update node of `b` (valid because the builder add methods return their qualifier). - * This is sufficient to express flow from `y` and `z` to `b`. - */ -private class ChainedBuilderAddStep extends AdditionalTaintStep { - override predicate step(DataFlow::Node src, DataFlow::Node sink) { - exists(MethodAccess ma | - ma.getMethod() instanceof BuilderAddMethod and - src.asExpr() = ma and - chainedBuilderMethod+(sink.(DataFlow::PostUpdateNode).getPreUpdateNode().asExpr()) = ma - ) - } -} - -private MethodAccess chainedBuilderMethod(Expr e) { - result.getQualifier() = e and - result.getMethod() instanceof BuilderAddMethod } /** @@ -126,39 +599,6 @@ class MultimapType extends RefType { } } -private class MultimapWriteMethod extends TaintPreservingCallable { - MultimapWriteMethod() { - this.getDeclaringType() instanceof MultimapType and - // boolean put(K key, V value) - // boolean putAll(K key, Iterable values) - // boolean putAll(Multimap multimap) - // Collection replaceValues(K key, Iterable values) - this.hasName(["put", "putAll", "replaceValues"]) - } - - override predicate transfersTaint(int src, int sink) { - src = getNumberOfParameters() - 1 and - sink = -1 - } -} - -private class MultimapReadMethod extends TaintPreservingCallable { - MultimapReadMethod() { - this.getDeclaringType() instanceof MultimapType and - // Collection replaceValues(K key, Iterable values) - // Collection removeAll(@CompatibleWith("K") Object key) - // Collection get(K key) - // Collection values() - // Collection> entries() - // Map> asMap() - this.hasName(["replaceValues", "removeAll", "get", "values", "entries", "asMap"]) - } - - override predicate returnsTaintFrom(int arg) { arg = -1 } - // Not implemented: Some of these methods return "views", which when modified will modify the map itself. - // However, taint flow from these views to the map is not implemented. -} - /** * A reference type that extends a parameterization of `com.google.common.collect.Table`. */ @@ -190,171 +630,3 @@ class TableType extends RefType { ) } } - -private class TableWriteMethod extends TaintPreservingCallable { - TableWriteMethod() { - this.getDeclaringType() instanceof TableType and - // V put(R rowKey, C columnKey, V value) - // void putAll(Table table) - this.hasName(["put", "putAll"]) - } - - override predicate transfersTaint(int src, int sink) { - src = getNumberOfParameters() - 1 and - sink = -1 - } -} - -private class TableReadMethod extends TaintPreservingCallable { - TableReadMethod() { - this.getDeclaringType() instanceof TableType and - // V put(R rowKey, C columnKey, V value) - // V remove(@CompatibleWith("R") Object rowKey, @CompatibleWith("C") Object columnKey) - // V get(@CompatibleWith("R") Object rowKey, @CompatibleWith("C") Object columnKey) - // Map row(R rowKey) - // Map column(C columnKey) - // Set> cellSet() - // Collection values() - // Map> rowMap() - // Map> columnMap() - this.hasName([ - "put", "remove", "get", "row", "column", "cellSet", "values", "rowMap", "columnMap" - ]) - } - - override predicate returnsTaintFrom(int arg) { arg = -1 } - // Not implemented: Some of these methods return "views", which when modified will modify the table itself. - // However, taint flow from these views to the table is not implemented. -} - -private class TableCellReadMethod extends TaintPreservingCallable { - TableCellReadMethod() { - exists(NestedType cell | - cell.getEnclosingType() instanceof TableType and - cell.hasName("Cell") and - this.getDeclaringType().getSourceDeclaration().getASourceSupertype*() = cell and - // V getValue() - this.hasName("getValue") - ) - } - - override predicate returnsTaintFrom(int arg) { arg = -1 } -} - -/** - * An `of` static method on the various immutable container types. - */ -private class OfMethod extends TaintPreservingCallable { - string kind; - - OfMethod() { - this.getDeclaringType().(ImmutableContainerType).getKind() = kind and - // static ImmutableList of(E e1, E e2, E e3, E e4, E e5, E e6) - // static ImmutableMap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) - // static ImmutableMultimap of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) - // static ImmutableTable of(R rowKey, C columnKey, V value) - // etc for other types and numbers of parameters - this.hasName("of") and - this.isStatic() - } - - override predicate returnsTaintFrom(int arg) { - arg = [0 .. getNumberOfParameters()] and - (kind.regexpMatch(".*[Mm]ap") implies arg % 2 = 1) and - (kind = "ImmutableTable" implies arg % 3 = 2) - } -} - -private class ComparatorType extends RefType { - ComparatorType() { this.getASourceSupertype*().hasQualifiedName("java.util", "Comparator") } -} - -/** - * A `copyOf`, `sortedCopyOf`, or `copyOfSorted` static method on the various immutable container types. - */ -private class CopyOfMethod extends TaintPreservingCallable { - CopyOfMethod() { - this.getDeclaringType() instanceof ImmutableContainerType and - // static ImmutableList copyOf(E[] elements) - // static ImmutableList copyOf(Iterable elements) - // static ImmutableList copyOf(Collection elements) - // static ImmutableList copyOf(Iterator elements) - // static > ImmutableList sortedCopyOf(Iterable elements) - // static ImmutableList sortedCopyOf(Comparator comparator, Iterable elements) - // static ImmutableMap copyOf(Map map) - // static ImmutableMap copyOf(Iterable> entries) - // static ImmutableMultimap copyOf(Multimap multimap) - // static ImmutableMultimap copyOf(Iterable> entries) - // static ImmutableTable copyOf(Table table) - // static ImmutableSortedMap copyOf(Map map) - // static ImmutableSortedMap copyOf(Map map, Comparator comparator) - // static ImmutableSortedMap copyOfSorted(SortedMap map) - // static ImmutableSortedSet copyOf(Iterator elements) - // static ImmutableSortedSet copyOf(Comparator comparator, Iterator elements) - // static ImmutableSortedSet copyOfSorted(SortedSet sortedSet) - // etc - this.hasName(["copyOf", "sortedCopyOf", "copyOfSorted"]) and - this.isStatic() - } - - override predicate returnsTaintFrom(int arg) { - arg = [0 .. getNumberOfParameters()] and - not getParameterType(arg) instanceof ComparatorType - } -} - -private class CollectionAsListMethod extends TaintPreservingCallable { - CollectionAsListMethod() { - this.getDeclaringType() - .getASourceSupertype*() - .hasQualifiedName(guavaCollectPackage(), "ImmutableCollection") and - // public ImmutableList asList() - this.hasName("asList") - } - - override predicate returnsTaintFrom(int arg) { arg = -1 } -} - -/** - * A taint-preserving static method of `com.google.common.collect.Sets`. - */ -private class SetsMethod extends TaintPreservingCallable { - int arg; - - SetsMethod() { - this.getDeclaringType().hasQualifiedName(guavaCollectPackage(), "Sets") and - this.isStatic() and - ( - // static HashSet newHashSet(E... elements) - // static Set newConcurrentHashSet(Iterable elements) - // static CopyOnWriteArraySet newCopyOnWriteArraySet(Iterable elements) - // etc - this.getName().matches("new%Set") and - arg = 0 - or - // static Set> cartesianProduct(List> sets) - // static Set> cartesianProduct(Set... sets) - // static Set> combinations(Set set, int size) - // static Sets.SetView difference(Set set1, Set set2) - // static NavigableSet filter(NavigableSet unfiltered, Predicate predicate) - // static Set filter(Set unfiltered, Predicate predicate) - // static SortedSet filter(SortedSet unfiltered, Predicate predicate) - // static Set> powerSet(Set set) - // static > NavigableSet subSet(NavigableSet set, Range range) - // static NavigableSet synchronizedNavigableSet(NavigableSet navigableSet) - // static NavigableSet unmodifiableNavigableSet(NavigableSet set) - this.hasName([ - "cartesianProduct", "combinations", "difference", "filter", "powerSet", "subSet", - "synchronizedNavigableSet", "unmodifyableNavigableSet" - ]) and - arg = 0 - or - // static Sets.SetView symmetricDifference(Set set1, Set set2) - // static Sets.SetView union(Set set1, Set set2) - this.hasName(["symmetricDifference", "union"]) and - arg = [0, 1] - ) - } - - override predicate returnsTaintFrom(int arg_) { arg_ = arg } -} diff --git a/java/ql/src/utils/FlowTestCase.qll b/java/ql/src/utils/FlowTestCase.qll index 5bf5517f4e5..4d12f91c812 100644 --- a/java/ql/src/utils/FlowTestCase.qll +++ b/java/ql/src/utils/FlowTestCase.qll @@ -257,9 +257,15 @@ class TestCase extends TTestCase { if componentStack = baseOutput then result = "out" else - result = - SupportMethod::getMethodForContent(componentStack) - .getCall(this.getOutput(componentStack.tail())) + if componentStack.tail() = baseOutput + then + result = + SupportMethod::getMethodFor(this.getOutputType(), componentStack) + .getCall(this.getOutput(componentStack.tail())) + else + result = + SupportMethod::getMethodForContent(componentStack) + .getCall(this.getOutput(componentStack.tail())) ) } diff --git a/java/ql/src/utils/FlowTestCaseSupportMethods.qll b/java/ql/src/utils/FlowTestCaseSupportMethods.qll index fd19f555f79..1e6c1bcc063 100644 --- a/java/ql/src/utils/FlowTestCaseSupportMethods.qll +++ b/java/ql/src/utils/FlowTestCaseSupportMethods.qll @@ -145,7 +145,7 @@ private class DefaultGetMethod extends GetMethod { DefaultGetMethod() { this = "DefaultGet" + contentToken(c) } - string getName() { result = "get" + contentToken(c) } + string getName() { result = "get" + contentToken(c) + "Default" } override int getPriority() { result = 999 } @@ -159,12 +159,12 @@ private class DefaultGetMethod extends GetMethod { override string getCall(string arg) { result = this.getName() + "(" + arg + ")" } override string getDefinition() { - result = "Object get" + contentToken(c) + "(Object container) { return null; }" + result = "Object get" + contentToken(c) + "Default(Object container) { return null; }" } override string getCsvModel() { result = - "generatedtest;Test;false;" + this.getName() + ";;;" + + "generatedtest;Test;false;" + this.getName() + ";(Object);;" + getComponentSpec(SummaryComponent::content(c)) + " of Argument[0];ReturnValue;value" } } @@ -201,6 +201,22 @@ private class IteratorGetMethod extends GetMethod { override string getCall(string arg) { result = "getElement(" + arg + ")" } } +private class EnumerationGetMethod extends GetMethod { + EnumerationGetMethod() { this = "enumerationgetmethod" } + + override predicate appliesTo(Type t, Content c) { + t.(RefType).getASourceSupertype*().hasQualifiedName("java.util", "Enumeration") and + c instanceof CollectionContent + } + + override string getDefinition() { + result = " T getElement(Enumeration it) { return it.nextElement(); }" + } + + bindingset[arg] + override string getCall(string arg) { result = "getElement(" + arg + ")" } +} + private class OptionalGetMethod extends GetMethod { OptionalGetMethod() { this = "optionalgetmethod" } @@ -215,8 +231,8 @@ private class OptionalGetMethod extends GetMethod { override string getCall(string arg) { result = "getElement(" + arg + ")" } } -private class MapGetKeyMethod extends GetMethod { - MapGetKeyMethod() { this = "mapgetkeymethod" } +private class MapGetKeytMethod extends GetMethod { + MapGetKeytMethod() { this = "mapgetkeymethod" } override predicate appliesTo(Type t, Content c) { t.(RefType).getASourceSupertype*().hasQualifiedName("java.util", "Map") and @@ -231,8 +247,20 @@ private class MapGetKeyMethod extends GetMethod { override string getCall(string arg) { result = "getMapKey(" + arg + ")" } } -private class MapValueGetMethod extends GetMethod { - MapValueGetMethod() { this = "MapValueGetMethod" } +private class MapEntryGetKeyMethod extends GetMethod { + MapEntryGetKeyMethod() { this = "mapentrygetkeymethod" } + + override predicate appliesTo(Type t, Content c) { + t.(RefType).getASourceSupertype*().hasQualifiedName("java.util", "Map$Entry") and + c instanceof MapKeyContent + } + + bindingset[arg] + override string getCall(string arg) { result = arg + ".getKey()" } +} + +private class MapGetValueMethod extends GetMethod { + MapGetValueMethod() { this = "MapGetValueMethod" } override predicate appliesTo(Type t, Content c) { t.(RefType).getASourceSupertype*().hasQualifiedName("java.util", "Map") and @@ -247,6 +275,18 @@ private class MapValueGetMethod extends GetMethod { override string getCall(string arg) { result = "getMapValue(" + arg + ")" } } +private class MapEntryGetValueMethod extends GetMethod { + MapEntryGetValueMethod() { this = "mapentrygetvaluemethod" } + + override predicate appliesTo(Type t, Content c) { + t.(RefType).getASourceSupertype*().hasQualifiedName("java.util", "Map$Entry") and + c instanceof MapValueContent + } + + bindingset[arg] + override string getCall(string arg) { result = arg + ".getValue()" } +} + private class ArrayGetMethod extends GetMethod { ArrayGetMethod() { this = "arraygetmethod" } @@ -285,7 +325,7 @@ private class DefaultGenMethod extends GenMethod { DefaultGenMethod() { this = "DefaultGen" + contentToken(c) } - string getName() { result = "newWith" + contentToken(c) } + string getName() { result = "newWith" + contentToken(c) + "Default" } override int getPriority() { result = 999 } @@ -299,12 +339,12 @@ private class DefaultGenMethod extends GenMethod { override string getCall(string arg) { result = this.getName() + "(" + arg + ")" } override string getDefinition() { - result = "Object newWith" + contentToken(c) + "(Object element) { return null; }" + result = "Object newWith" + contentToken(c) + "Default(Object element) { return null; }" } override string getCsvModel() { result = - "generatedtest;Test;false;" + this.getName() + ";;;Argument[0];" + + "generatedtest;Test;false;" + this.getName() + ";(Object);;Argument[0];" + getComponentSpec(SummaryComponent::content(c)) + " of ReturnValue;value" } } @@ -314,7 +354,8 @@ private class ListGenMethod extends GenMethod { override predicate appliesTo(Type t, Content c) { exists(GenericType list | list.hasQualifiedName("java.util", "List") | - t = list or list.getAParameterizedType().getASupertype*() = t + t.getErasure() = list.getASourceSupertype*().getErasure() or // cover things like Iterable and Collection + list.getAParameterizedType().getASupertype*() = t ) and c instanceof CollectionContent } @@ -323,12 +364,40 @@ private class ListGenMethod extends GenMethod { override string getCall(string arg) { result = "List.of(" + arg + ")" } } +private class SetGenMethod extends GenMethod { + SetGenMethod() { this = "SetGenMethod" } + + override predicate appliesTo(Type t, Content c) { + exists(GenericType set | set.hasQualifiedName("java.util", "Set") | + t.getErasure() = set.getErasure() + ) and + c instanceof CollectionContent + } + + bindingset[arg] + override string getCall(string arg) { result = "Set.of(" + arg + ")" } +} + +private class IteratorGenMethod extends GenMethod { + IteratorGenMethod() { this = "IteratorGenMethod" } + + override predicate appliesTo(Type t, Content c) { + exists(GenericType set | set.hasQualifiedName("java.util", "Iterator") | + t.getErasure() = set.getErasure() + ) and + c instanceof CollectionContent + } + + bindingset[arg] + override string getCall(string arg) { result = "List.of(" + arg + ").iterator()" } +} + private class OptionalGenMethod extends GenMethod { OptionalGenMethod() { this = "optionalgenmethod" } override predicate appliesTo(Type t, Content c) { - exists(GenericType list | list.hasQualifiedName("java.util", "List") | - list.getAParameterizedType().getASupertype*() = t + exists(GenericType op | op.hasQualifiedName("java.util", "Optional") | + op.getAParameterizedType().getASupertype*() = t ) and c instanceof CollectionContent } @@ -351,6 +420,25 @@ private class MapGenKeyMethod extends GenMethod { override string getCall(string arg) { result = "Map.of(" + arg + ", null)" } } +private class MapEntryGenKeyMethod extends GenMethod { + MapEntryGenKeyMethod() { this = "mapentrygenkeymethod" } + + override predicate appliesTo(Type t, Content c) { + exists(GenericType map | map.hasQualifiedName("java.util", "Map$Entry") | + map.getAParameterizedType().getASupertype*() = t + ) and + c instanceof MapKeyContent + } + + override string getDefinition() { + result = + " Map.Entry newEntryWithMapKey(K key) { return Map.of(key, null).entrySet().iterator().next(); }" + } + + bindingset[arg] + override string getCall(string arg) { result = "newEntryWithMapKey(" + arg + ")" } +} + private class MapGenValueMethod extends GenMethod { MapGenValueMethod() { this = "mapvaluegenmethod" } @@ -365,6 +453,25 @@ private class MapGenValueMethod extends GenMethod { override string getCall(string arg) { result = "Map.of(null, " + arg + ")" } } +private class MapEntryGenValueMethod extends GenMethod { + MapEntryGenValueMethod() { this = "mapentrygenvaluemethod" } + + override predicate appliesTo(Type t, Content c) { + exists(GenericType map | map.hasQualifiedName("java.util", "Map$Entry") | + map.getAParameterizedType().getASupertype*() = t + ) and + c instanceof MapValueContent + } + + override string getDefinition() { + result = + " Map.Entry newEntryWithMapValue(V value) { return Map.of(null, value).entrySet().iterator().next(); }" + } + + bindingset[arg] + override string getCall(string arg) { result = "newEntryWithMapValue(" + arg + ")" } +} + /** * Returns a cast to type `t` if `t` is not `java.lang.Object`, or an empty string otherwise. */ diff --git a/java/ql/test/library-tests/frameworks/guava/TestCollect.java b/java/ql/test/library-tests/frameworks/guava/TestCollect.java deleted file mode 100644 index 0af3a694372..00000000000 --- a/java/ql/test/library-tests/frameworks/guava/TestCollect.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.google.common.collect; - -import java.util.Map; -import java.util.SortedSet; -import java.util.SortedMap; -import java.util.Comparator; - -class TestCollect { - String taint() { return "tainted"; } - - void sink(Object o) {} - - void test1() { - String x = taint(); - - ImmutableSet xs = ImmutableSet.of(x, "y", "z"); - sink(xs.asList()); // $numTaintFlow=1 - - ImmutableSet ys = ImmutableSet.of("a", "b", "c"); - - sink(Sets.filter(Sets.union(xs, ys), y -> true)); // $numTaintFlow=1 - - sink(Sets.newHashSet("a", "b", "c", "d", x)); // $numTaintFlow=1 - } - - void test2() { - sink(ImmutableList.of(taint(), taint(), taint(), taint())); // $numTaintFlow=4 - sink(ImmutableMap.of(taint(), taint(), taint(), taint())); // $numTaintFlow=2 - sink(ImmutableMultimap.of(taint(), taint(), taint(), taint())); // $numTaintFlow=2 - sink(ImmutableTable.of(taint(),taint(), taint())); // $numTaintFlow=1 - } - - void test3() { - String x = taint(); - - ImmutableList.Builder b = ImmutableList.builder(); - - b.add("a"); - sink(b); - b.add(x); - sink(b.build()); // $numTaintFlow=1 - - b = ImmutableList.builder(); - - b.add("a").add(x); - sink(b.build()); // $numTaintFlow=1 - - sink(ImmutableList.builder().add("a").add(x).build()); // $numTaintFlow=1 - - ImmutableMap.Builder b2 = ImmutableMap.builder(); - b2.put(x,"v"); - sink(b2); - b2.put("k",x); - sink(b2.build()); // $numTaintFlow=1 - } - - void test4(Table t1, Table t2, Table t3) { - String x = taint(); - t1.put(x, "c", "v"); - sink(t1); - t1.put("r", x, "v"); - sink(t1); - t1.put("r", "c", x); - sink(t1); // $numTaintFlow=1 - sink(t1.row("r")); // $numTaintFlow=1 - - t2.putAll(t1); - for (Table.Cell c : t2.cellSet()) { - sink(c.getValue()); // $numTaintFlow=1 - } - - sink(t1.remove("r", "c")); // $numTaintFlow=1 - - t3.row("r").put("c", x); - sink(t3); // $ MISSING:numTaintFlow=1 - } - - void test4(Multimap m1, Multimap m2, Multimap m3, - Multimap m4, Multimap m5){ - String x = taint(); - m1.put("k", x); - sink(m1); // $numTaintFlow=1 - sink(m1.get("k")); // $numTaintFlow=1 - - m2.putAll("k", ImmutableList.of("a", x, "b")); - sink(m2); // $numTaintFlow=1 - - m3.putAll(m1); - sink(m3); // $numTaintFlow=1 - - m4.replaceValues("k", m1.replaceValues("k", ImmutableList.of("a"))); - for (Map.Entry e : m4.entries()) { - sink(e.getValue()); // $numTaintFlow=1 - } - - m5.asMap().get("k").add(x); - sink(m5); // $ MISSING:numTaintFlow=1 - } - - void test5(Comparator comp, SortedSet sorS, SortedMap sorM) { - ImmutableSortedSet s = ImmutableSortedSet.of(taint()); - - sink(s); // $numTaintFlow=1 - sink(ImmutableSortedSet.copyOf(s)); // $numTaintFlow=1 - sink(ImmutableSortedSet.copyOf(comp, s)); // $numTaintFlow=1 - - sorS.add(taint()); - sink(ImmutableSortedSet.copyOfSorted(sorS)); // $ MISSING: numTaintFlow=1 - - sink(ImmutableList.sortedCopyOf(s)); // $numTaintFlow=1 - sink(ImmutableList.sortedCopyOf(comp, s)); // $numTaintFlow=1 - - ImmutableSortedMap m = ImmutableSortedMap.of("k", taint()); - - sink(m); // $numTaintFlow=1 - sink(ImmutableSortedMap.copyOf(m)); // $numTaintFlow=1 - sink(ImmutableSortedMap.copyOf(m, comp)); // $numTaintFlow=1 - - sorM.put("k", taint()); - sink(ImmutableSortedMap.copyOfSorted(sorM)); // $ MISSING: numTaintFlow=1 - } -} diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/Test.java b/java/ql/test/library-tests/frameworks/guava/generated/collect/Test.java new file mode 100644 index 00000000000..cd012b7f156 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/Test.java @@ -0,0 +1,8322 @@ +package generatedtest; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.ArrayTable; +import com.google.common.collect.BiMap; +import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.Collections2; +import com.google.common.collect.ConcurrentHashMultiset; +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.ImmutableBiMap; +import com.google.common.collect.ImmutableClassToInstanceMap; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableListMultimap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.ImmutableMultiset; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSetMultimap; +import com.google.common.collect.ImmutableSortedMap; +import com.google.common.collect.ImmutableSortedMultiset; +import com.google.common.collect.ImmutableSortedSet; +import com.google.common.collect.ImmutableTable; +import com.google.common.collect.Iterables; +import com.google.common.collect.Iterators; +import com.google.common.collect.LinkedHashMultimap; +import com.google.common.collect.LinkedHashMultiset; +import com.google.common.collect.LinkedListMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import com.google.common.collect.MapDifference; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.Multimaps; +import com.google.common.collect.Multiset; +import com.google.common.collect.Multisets; +import com.google.common.collect.MutableClassToInstanceMap; +import com.google.common.collect.ObjectArrays; +import com.google.common.collect.PeekingIterator; +import com.google.common.collect.Queues; +import com.google.common.collect.RowSortedTable; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.Sets; +import com.google.common.collect.SortedMapDifference; +import com.google.common.collect.SortedMultiset; +import com.google.common.collect.SortedSetMultimap; +import com.google.common.collect.Table; +import com.google.common.collect.Tables; +import com.google.common.collect.TreeBasedTable; +import com.google.common.collect.TreeMultimap; +import com.google.common.collect.TreeMultiset; +import com.google.common.collect.UnmodifiableIterator; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Comparator; +import java.util.Deque; +import java.util.EnumMap; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.NavigableMap; +import java.util.NavigableSet; +import java.util.PriorityQueue; +import java.util.Properties; +import java.util.Queue; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.PriorityBlockingQueue; + +// Test case generated by GenerateFlowTestCase.ql +public class Test { + + C getTable_columnKey(ImmutableTable.Builder b) { return getTable_columnKey(b.build()); } + C getTable_columnKey(Table t) { return t.columnKeySet().iterator().next(); } + K getMapKey(ImmutableMap.Builder b) { return getMapKey(b.build()); } + K getMapKey(ImmutableMultimap.Builder b) { return getMapKey(b.build()); } + K getMapKey(Map map) { return map.keySet().iterator().next(); } + K getMapKey(Multimap map) { return map.keySet().iterator().next(); } + Map.Entry newEntryWithMapKey(K key) { return Map.of(key, null).entrySet().iterator().next(); } + Table.Cell newTableCell(R row, C column, V value) { return getElement(ImmutableTable.of(row, column, value).cellSet()); } + TreeBasedTable newTable(R row, C column, V value) { TreeBasedTable t = TreeBasedTable.create(null, null); t.put(row, column, value); return t; } + R getTable_rowKey(ImmutableTable.Builder b) { return getTable_rowKey(b.build()); } + R getTable_rowKey(Table t) { return t.rowKeySet().iterator().next(); } + Multiset.Entry newEntryWithElement(T el) { return getElement(ImmutableMultiset.of(el).entrySet()); } + T getArrayElement(T[] array) { return array[0]; } + T getElement(Enumeration it) { return it.nextElement(); } + T getElement(ImmutableCollection.Builder b) { return getElement(b.build()); } + T getElement(Iterable it) { return it.iterator().next(); } + T getElement(Iterator it) { return it.next(); } + T getElement(Optional o) { return o.get(); } + Map.Entry newEntryWithMapValue(V value) { return Map.of(null, value).entrySet().iterator().next(); } + MapDifference.ValueDifference newMapValueDifference(V l, V r) { return Maps.difference(Map.of(null, l), Map.of(null, r)).entriesDiffering().get(null); } + V getMapValue(ImmutableMap.Builder b) { return getMapValue(b.build()); } + V getMapValue(ImmutableMultimap.Builder b) { return getMapValue(b.build()); } + V getMapValue(ImmutableTable.Builder b) { return getMapValue(b.build()); } + V getMapValue(Map map) { return map.get(null); } + V getMapValue(Multimap map) { return map.values().iterator().next(); } + V getMapValue(Table t) { return t.values().iterator().next(); } + Object newWithElementDefault(Object element) { return null; } + Object newWithMapKeyDefault(Object element) { return null; } + Object newWithMapValueDefault(Object element) { return null; } + Object source() { return null; } + void sink(Object o) { } + + public void test() throws Exception { + + { + // "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ArrayListMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = ArrayListMultimap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ArrayListMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = ArrayListMultimap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + ArrayTable out = null; + Iterable in = (Iterable)List.of(source()); + out = ArrayTable.create(in, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + ArrayTable out = null; + Iterable in = (Iterable)List.of(source()); + out = ArrayTable.create(null, in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ArrayTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = ArrayTable.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "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" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = ArrayTable.create(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "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" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = ArrayTable.create(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out.forcePut(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + HashBiMap out = null; + Object in = (Object)source(); + out.forcePut(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + BiMap out = null; + Object in = (Object)source(); + out.forcePut(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out.forcePut(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + HashBiMap out = null; + Object in = (Object)source(); + out.forcePut(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + BiMap out = null; + Object in = (Object)source(); + out.forcePut(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + ImmutableBiMap in = (ImmutableBiMap)ImmutableBiMap.of(source(), null); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + BiMap out = null; + HashBiMap in = (HashBiMap)HashBiMap.create(Map.of(source(), null)); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + ImmutableBiMap in = (ImmutableBiMap)ImmutableBiMap.of(null, source()); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + BiMap out = null; + HashBiMap in = (HashBiMap)HashBiMap.create(Map.of(null, source())); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;BiMap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(null, source()); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + MutableClassToInstanceMap in = (MutableClassToInstanceMap)MutableClassToInstanceMap.create(Map.of(null, source())); + out = in.getInstance(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ImmutableClassToInstanceMap in = (ImmutableClassToInstanceMap)ImmutableClassToInstanceMap.of(null, source()); + out = in.getInstance(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ClassToInstanceMap in = (ClassToInstanceMap)ImmutableClassToInstanceMap.of(null, source()); + out = in.getInstance(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];MapValue of Argument[-1];value" + MutableClassToInstanceMap out = null; + Object in = (Object)source(); + out.putInstance(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableClassToInstanceMap out = null; + Object in = (Object)source(); + out.putInstance(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];MapValue of Argument[-1];value" + ClassToInstanceMap out = null; + Object in = (Object)source(); + out.putInstance(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + MutableClassToInstanceMap in = (MutableClassToInstanceMap)MutableClassToInstanceMap.create(Map.of(null, source())); + out = in.putInstance(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ImmutableClassToInstanceMap in = (ImmutableClassToInstanceMap)ImmutableClassToInstanceMap.of(null, source()); + out = in.putInstance(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ClassToInstanceMap in = (ClassToInstanceMap)ImmutableClassToInstanceMap.of(null, source()); + out = in.putInstance(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Collections2;false;filter;(Collection,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Collection out = null; + Collection in = (Collection)List.of(source()); + out = Collections2.filter(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable);;Element of Argument[0];Element of Element of ReturnValue;value" + Collection out = null; + Iterable in = (Iterable)List.of(source()); + out = Collections2.orderedPermutations(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable,Comparator);;Element of Argument[0];Element of Element of ReturnValue;value" + Collection out = null; + Iterable in = (Iterable)List.of(source()); + out = Collections2.orderedPermutations(in, null); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Collections2;false;permutations;(Collection);;Element of Argument[0];Element of Element of ReturnValue;value" + Collection out = null; + Collection in = (Collection)List.of(source()); + out = Collections2.permutations(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;ConcurrentHashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ConcurrentHashMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = ConcurrentHashMultiset.create(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashBasedTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + HashBasedTable out = null; + Table in = (Table)newTable(null, null, source()); + out = HashBasedTable.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashBasedTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + HashBasedTable out = null; + Table in = (Table)newTable(null, source(), null); + out = HashBasedTable.create(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashBasedTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + HashBasedTable out = null; + Table in = (Table)newTable(source(), null, null); + out = HashBasedTable.create(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashBiMap;true;create;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + HashBiMap out = null; + Map in = (Map)Map.of(source(), null); + out = HashBiMap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashBiMap;true;create;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + HashBiMap out = null; + Map in = (Map)Map.of(null, source()); + out = HashBiMap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + HashMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = HashMultimap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + HashMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = HashMultimap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;HashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + HashMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = HashMultiset.create(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + Object in = (Object)source(); + out = ImmutableBiMap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableClassToInstanceMap out = null; + Map in = (Map)Map.of(source(), null); + out = ImmutableClassToInstanceMap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableClassToInstanceMap out = null; + Map in = (Map)Map.of(null, source()); + out = ImmutableClassToInstanceMap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[0];MapKey of ReturnValue;value" + ImmutableClassToInstanceMap out = null; + Class in = (Class)source(); + out = ImmutableClassToInstanceMap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[1];MapValue of ReturnValue;value" + ImmutableClassToInstanceMap out = null; + Object in = (Object)source(); + out = ImmutableClassToInstanceMap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableSortedSet.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableSet.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableList.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Element of Argument[-1];value" + ImmutableCollection.Builder out = null; + Object in = (Object)source(); + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableSortedSet.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableSet.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableList.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;ArrayElement of Argument[0];Element of Argument[-1];value" + ImmutableCollection.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.add(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSortedSet.Builder out = null; + ImmutableSortedSet.Builder in = (ImmutableSortedSet.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSortedSet.Builder out = null; + ImmutableSortedSet.Builder in = (ImmutableSortedSet.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSortedMultiset.Builder out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSortedMultiset.Builder out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSet.Builder out = null; + ImmutableSet.Builder in = (ImmutableSet.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableSet.Builder out = null; + ImmutableSet.Builder in = (ImmutableSet.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableMultiset.Builder out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableMultiset.Builder out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableList.Builder out = null; + ImmutableList.Builder in = (ImmutableList.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableList.Builder out = null; + ImmutableList.Builder in = (ImmutableList.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableCollection.Builder out = null; + ImmutableCollection.Builder in = (ImmutableCollection.Builder)source(); + out = in.add((Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value" + ImmutableCollection.Builder out = null; + ImmutableCollection.Builder in = (ImmutableCollection.Builder)source(); + out = in.add((Object)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSortedSet.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSet.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableList.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Element of Argument[0];Element of Argument[-1];value" + ImmutableCollection.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSortedSet.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableSet.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableList.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Element of Argument[0];Element of Argument[-1];value" + ImmutableCollection.Builder out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out.addAll(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedSet.Builder out = null; + ImmutableSortedSet.Builder in = (ImmutableSortedSet.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedSet.Builder out = null; + ImmutableSortedSet.Builder in = (ImmutableSortedSet.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedMultiset.Builder out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedMultiset.Builder out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSet.Builder out = null; + ImmutableSet.Builder in = (ImmutableSet.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableSet.Builder out = null; + ImmutableSet.Builder in = (ImmutableSet.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableMultiset.Builder out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableMultiset.Builder out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableList.Builder out = null; + ImmutableList.Builder in = (ImmutableList.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableList.Builder out = null; + ImmutableList.Builder in = (ImmutableList.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableCollection.Builder out = null; + ImmutableCollection.Builder in = (ImmutableCollection.Builder)source(); + out = in.addAll((Iterator)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value" + ImmutableCollection.Builder out = null; + ImmutableCollection.Builder in = (ImmutableCollection.Builder)source(); + out = in.addAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSortedSet out = null; + ImmutableSortedSet.Builder in = (ImmutableSortedSet.Builder)ImmutableSortedSet.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)ImmutableSortedMultiset.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSet.Builder in = (ImmutableSet.Builder)ImmutableSet.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableMultiset out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)ImmutableMultiset.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableList.Builder in = (ImmutableList.Builder)ImmutableList.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableCollection.Builder in = (ImmutableCollection.Builder)ImmutableList.builder().add(source()); + out = in.build(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection;true;asList;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableSet in = (ImmutableSet)ImmutableSet.of(source()); + out = in.asList(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection;true;asList;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableMultiset in = (ImmutableMultiset)ImmutableMultiset.of(source()); + out = in.asList(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection;true;asList;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableList in = (ImmutableList)ImmutableList.of(source()); + out = in.asList(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableCollection;true;asList;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableCollection in = (ImmutableCollection)ImmutableList.of(source()); + out = in.asList(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value" + ImmutableList out = null; + Collection in = (Collection)List.of(source()); + out = ImmutableList.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableList out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableList.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ImmutableList out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableList.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ImmutableList out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableList.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];Element of ReturnValue;value" + ImmutableList out = null; + Object in = (Object)source(); + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;of;;;ArrayElement of Argument[12];Element of ReturnValue;value" + ImmutableList out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableList.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;reverse;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableList in = (ImmutableList)ImmutableList.of(source()); + out = in.reverse(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value" + ImmutableList out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableList.sortedCopyOf(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableList out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableList.sortedCopyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out = ImmutableListMultimap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)ImmutableSortedMap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)ImmutableMap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableBiMap out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)ImmutableBiMap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)ImmutableSortedMap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)ImmutableMap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableBiMap out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)ImmutableBiMap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableSortedMap.Builder out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)source(); + out = in.orderEntriesByValue(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableMap.Builder out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)source(); + out = in.orderEntriesByValue(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableBiMap.Builder out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)source(); + out = in.orderEntriesByValue(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableMap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableMap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableSortedMap.Builder out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableSortedMap.Builder out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableMap.Builder out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableMap.Builder out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableBiMap.Builder out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableBiMap.Builder out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Map in = (Map)Map.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableMap.Builder out = null; + Map in = (Map)Map.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Map in = (Map)Map.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableSortedMap.Builder out = null; + Map in = (Map)Map.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableMap.Builder out = null; + Map in = (Map)Map.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableBiMap.Builder out = null; + Map in = (Map)Map.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedMap.Builder out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)source(); + out = in.putAll((Map)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSortedMap.Builder out = null; + ImmutableSortedMap.Builder in = (ImmutableSortedMap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMap.Builder out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)source(); + out = in.putAll((Map)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMap.Builder out = null; + ImmutableMap.Builder in = (ImmutableMap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableBiMap.Builder out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)source(); + out = in.putAll((Map)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableBiMap.Builder out = null; + ImmutableBiMap.Builder in = (ImmutableBiMap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out = ImmutableMap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out = ImmutableMap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Map in = (Map)Map.of(source(), null); + out = ImmutableMap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Map in = (Map)Map.of(null, source()); + out = ImmutableMap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableMap out = null; + Object in = (Object)source(); + out = ImmutableMap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)ImmutableSetMultimap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)ImmutableMultimap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)ImmutableListMultimap.builder().put(source(), null); + out = in.build(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)ImmutableSetMultimap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)ImmutableMultimap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)ImmutableListMultimap.builder().put(null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.orderKeysBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.orderKeysBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.orderKeysBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.orderValuesBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.orderValuesBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.orderValuesBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapKey(source()); + out.put(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Map.Entry in = (Map.Entry)newEntryWithMapValue(source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.put(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapKey of Element of Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;MapValue of Element of Argument[0];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Iterable)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Iterable)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Iterable)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Iterable in = (Iterable)List.of(source()); + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Object[])null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Object[])null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Object in = (Object)source(); + out.putAll(in, (Object[])null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;ArrayElement of Argument[1];MapValue of Argument[-1];value" + ImmutableSetMultimap.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;ArrayElement of Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;ArrayElement of Argument[1];MapValue of Argument[-1];value" + ImmutableListMultimap.Builder out = null; + Object[] in = (Object[])new Object[]{source()}; + out.putAll((Object)null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.putAll((Object)null, (Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.putAll((Object)null, (Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.putAll((Multimap)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableSetMultimap.Builder out = null; + ImmutableSetMultimap.Builder in = (ImmutableSetMultimap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.putAll((Object)null, (Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.putAll((Object)null, (Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.putAll((Multimap)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableMultimap.Builder out = null; + ImmutableMultimap.Builder in = (ImmutableMultimap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.putAll((Object)null, (Object[])null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.putAll((Object)null, (Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.putAll((Multimap)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value" + ImmutableListMultimap.Builder out = null; + ImmutableListMultimap.Builder in = (ImmutableListMultimap.Builder)source(); + out = in.putAll((Iterable)null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out = ImmutableMultimap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out = ImmutableMultimap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = ImmutableMultimap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = ImmutableMultimap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(source(), null); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapKey of Argument[-1];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(source(), null); + out = in.inverse(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;inverse;();;MapValue of Argument[-1];MapKey of ReturnValue;value" + ImmutableListMultimap out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(null, source()); + out = in.inverse(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out = ImmutableMultimap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[-1];ReturnValue;value" + ImmutableSortedMultiset.Builder out = null; + ImmutableSortedMultiset.Builder in = (ImmutableSortedMultiset.Builder)source(); + out = in.addCopies(null, 0); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[-1];ReturnValue;value" + ImmutableMultiset.Builder out = null; + ImmutableMultiset.Builder in = (ImmutableMultiset.Builder)source(); + out = in.addCopies(null, 0); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Object in = (Object)source(); + out.addCopies(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Object in = (Object)source(); + out.addCopies(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableSortedMultiset.Builder out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset$Builder;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset.Builder out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ImmutableMultiset out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of((Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of((Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of((Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of((Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out = ImmutableMultiset.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableMultiset;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value" + ImmutableMultiset out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableMultiset.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSet out = null; + Collection in = (Collection)List.of(source()); + out = ImmutableSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSet out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSet out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;copyOf;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ImmutableSet out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of((Object)null, in, (Object)null, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of((Object)null, (Object)null, in, (Object)null, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of((Object)null, (Object)null, (Object)null, in, (Object)null, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of((Object)null, (Object)null, (Object)null, (Object)null, in, (Object)null, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSet out = null; + Object in = (Object)source(); + out = ImmutableSet.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in, (Object[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSet;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value" + ImmutableSet out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ImmutableSet.of((Object)null, (Object)null, (Object)null, (Object)null, (Object)null, (Object)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out = ImmutableSetMultimap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;MapKey of Element of Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out = ImmutableSortedMap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;MapValue of Element of Argument[0];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out = ImmutableSortedMap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;MapKey of Element of Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapKey(source())); + out = ImmutableSortedMap.copyOf(in, (Comparator)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;MapValue of Element of Argument[0];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Iterable in = (Iterable)List.of(newEntryWithMapValue(source())); + out = ImmutableSortedMap.copyOf(in, (Comparator)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Map in = (Map)Map.of(source(), null); + out = ImmutableSortedMap.copyOf(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Map in = (Map)Map.of(null, source()); + out = ImmutableSortedMap.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Map in = (Map)Map.of(source(), null); + out = ImmutableSortedMap.copyOf(in, (Comparator)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Map in = (Map)Map.of(null, source()); + out = ImmutableSortedMap.copyOf(in, (Comparator)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = ImmutableSortedMap.copyOfSorted(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)null, source()); + out = ImmutableSortedMap.copyOfSorted(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(in, null, null, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, in, null, null, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, in, null, null, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, in, null, null, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, in, null, null, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, in, null, null, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, in, null, null, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[6];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, null, in, null, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[7];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[8];MapKey of ReturnValue;value" + ImmutableSortedMap out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, null, null, in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[9];MapValue of ReturnValue;value" + ImmutableSortedMap out = null; + Object in = (Object)source(); + out = ImmutableSortedMap.of(null, null, null, null, null, null, null, null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparable[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable[] in = (Comparable[])new Comparable[]{(Comparable)source()}; + out = ImmutableSortedMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableSortedMultiset.copyOf((Comparator)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterator);;Element of Argument[1];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableSortedMultiset.copyOf((Comparator)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableSortedMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableSortedMultiset.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;copyOfSorted;(SortedMultiset);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + SortedMultiset in = (SortedMultiset)ImmutableSortedMultiset.of((Comparable)source()); + out = ImmutableSortedMultiset.copyOfSorted(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of((Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of((Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of((Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedMultiset.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedMultiset;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value" + ImmutableSortedMultiset out = null; + Comparable[] in = (Comparable[])new Comparable[]{(Comparable)source()}; + out = ImmutableSortedMultiset.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Collection);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Collection in = (Collection)List.of(source()); + out = ImmutableSortedSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparable[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable[] in = (Comparable[])new Comparable[]{(Comparable)source()}; + out = ImmutableSortedSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Collection);;Element of Argument[1];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Collection in = (Collection)List.of(source()); + out = ImmutableSortedSet.copyOf((Comparator)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterable);;Element of Argument[1];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableSortedSet.copyOf((Comparator)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterator);;Element of Argument[1];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableSortedSet.copyOf((Comparator)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Iterable in = (Iterable)List.of(source()); + out = ImmutableSortedSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = ImmutableSortedSet.copyOf(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;copyOfSorted;(SortedSet);;Element of Argument[0];Element of ReturnValue;value" + ImmutableSortedSet out = null; + SortedSet in = (SortedSet)ImmutableSortedSet.of((Comparable)source()); + out = ImmutableSortedSet.copyOfSorted(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in, null, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of((Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of((Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of((Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable)null, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable in = (Comparable)source(); + out = ImmutableSortedSet.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in, (Comparable[])null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableSortedSet;true;of;;;ArrayElement of Argument[6];Element of ReturnValue;value" + ImmutableSortedSet out = null; + Comparable[] in = (Comparable[])new Comparable[]{(Comparable)source()}; + out = ImmutableSortedSet.of((Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, (Comparable)null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;build;();;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableTable out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)ImmutableTable.builder().put(null, null, source()); + out = in.build(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;build;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + ImmutableTable out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)ImmutableTable.builder().put(null, source(), null); + out = in.build(); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;build;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + ImmutableTable out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)ImmutableTable.builder().put(source(), null, null); + out = in.build(); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;orderColumnsBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableTable.Builder out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)source(); + out = in.orderColumnsBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;orderRowsBy;(Comparator);;Argument[-1];ReturnValue;value" + ImmutableTable.Builder out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)source(); + out = in.orderRowsBy(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[-1];ReturnValue;value" + ImmutableTable.Builder out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)source(); + out = in.put(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableTable.Builder out = null; + Table.Cell in = (Table.Cell)newTableCell(null, null, source()); + out.put(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Table.Cell in = (Table.Cell)newTableCell(null, source(), null); + out.put(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Table.Cell in = (Table.Cell)newTableCell(source(), null, null); + out.put(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[-1];ReturnValue;value" + ImmutableTable.Builder out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)source(); + out = in.put(null, null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Object in = (Object)source(); + out.put(in, null, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Object in = (Object)source(); + out.put(null, in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value" + ImmutableTable.Builder out = null; + Object in = (Object)source(); + out.put(null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[-1];ReturnValue;value" + ImmutableTable.Builder out = null; + ImmutableTable.Builder in = (ImmutableTable.Builder)source(); + out = in.putAll(null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableTable.Builder out = null; + Table in = (Table)ImmutableTable.of(null, null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Table in = (Table)ImmutableTable.of(null, source(), null); + out.putAll(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ImmutableTable.Builder out = null; + Table in = (Table)ImmutableTable.of(source(), null, null); + out.putAll(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(null, null, source()); + out = ImmutableTable.copyOf(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(null, source(), null); + out = ImmutableTable.copyOf(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(source(), null, null); + out = ImmutableTable.copyOf(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + ImmutableTable out = null; + Object in = (Object)source(); + out = ImmutableTable.of(in, null, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + ImmutableTable out = null; + Object in = (Object)source(); + out = ImmutableTable.of(null, in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[2];MapValue of ReturnValue;value" + ImmutableTable out = null; + Object in = (Object)source(); + out = ImmutableTable.of(null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;addAll;(Collection,Iterable);;Element of Argument[1];Element of Argument[0];value" + Collection out = null; + Iterable in = (Iterable)List.of(source()); + Iterables.addAll(out, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable);;Element of Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(List.of(source())); + out = Iterables.concat(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable);;Element of Argument[0..1];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable);;Element of Argument[0..1];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Element of Argument[0..2];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Element of Argument[0..2];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Element of Argument[0..2];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Element of Argument[0..3];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Element of Argument[0..3];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Element of Argument[0..3];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Element of Argument[0..3];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.concat(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;concat;(Iterable[]);;Element of ArrayElement of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable[] in = (Iterable[])new Iterable[]{(Iterable)List.of(source())}; + out = Iterables.concat(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;consumingIterable;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.consumingIterable(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;cycle;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.cycle(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;cycle;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Iterables.cycle(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;filter;(Iterable,Class);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.filter(in, (Class)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;filter;(Iterable,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.filter(in, (Predicate)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;find;(Iterable,Predicate);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.find(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[2];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterables.find(null, null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.find(in, null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;get;(Iterable,int);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.get(in, 0); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[2];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterables.get(null, 0, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.get(in, 0, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getLast;(Iterable);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.getLast(in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[1];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterables.getLast(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.getLast(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.getOnlyElement(in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[1];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterables.getOnlyElement(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.getOnlyElement(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;limit;(Iterable,int);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.limit(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;mergeSorted;(Iterable,Comparator);;Element of Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(List.of(source())); + out = Iterables.mergeSorted(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;paddedPartition;(Iterable,int);;Element of Argument[0];Element of Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.paddedPartition(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;partition;(Iterable,int);;Element of Argument[0];Element of Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.partition(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;skip;(Iterable,int);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.skip(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;toArray;(Iterable,Class);;Element of Argument[0];ArrayElement of ReturnValue;value" + Object[] out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.toArray(in, (Class)null); + sink(getArrayElement(out)); // $ hasValueFlow + } + // { + // // "com.google.common.collect;Iterables;false;toString;(Iterable);;Element of Argument[0];ReturnValue;taint" + // String out = null; + // Iterable in = (Iterable)List.of(source()); + // out = Iterables.toString(in); + // sink(out); // $ hasTaintFlow + // } + { + // "com.google.common.collect;Iterables;false;tryFind;(Iterable,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Optional out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.tryFind(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;unmodifiableIterable;(ImmutableCollection);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + ImmutableCollection in = (ImmutableCollection)ImmutableList.of(source()); + out = Iterables.unmodifiableIterable(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterables;false;unmodifiableIterable;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + Iterable out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterables.unmodifiableIterable(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;addAll;(Collection,Iterator);;Element of Argument[1];Element of Argument[0];value" + Collection out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + Iterators.addAll(out, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;asEnumeration;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + Enumeration out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.asEnumeration(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator);;Element of Element of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(List.of(source()).iterator()).iterator(); + out = Iterators.concat(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator);;Element of Argument[0..1];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator);;Element of Argument[0..1];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Element of Argument[0..2];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Element of Argument[0..2];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Element of Argument[0..2];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Element of Argument[0..3];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Element of Argument[0..3];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Element of Argument[0..3];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(null, in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Element of Argument[0..3];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.concat(in, null, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;concat;(Iterator[]);;Element of ArrayElement of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Iterator[] in = (Iterator[])new Iterator[]{(Iterator)List.of(source()).iterator()}; + out = Iterators.concat(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;consumingIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.consumingIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;cycle;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Iterable in = (Iterable)List.of(source()); + out = Iterators.cycle(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;cycle;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Iterators.cycle(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;filter;(Iterator,Class);;Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.filter(in, (Class)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;filter;(Iterator,Predicate);;Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.filter(in, (Predicate)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;find;(Iterator,Predicate);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.find(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[2];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterators.find(null, null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.find(in, null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;forArray;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Iterators.forArray(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;forEnumeration;(Enumeration);;Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Enumeration in = (Enumeration)newWithElementDefault(source()); + out = Iterators.forEnumeration(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;get;(Iterator,int);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.get(in, 0); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[2];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterators.get(null, 0, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.get(in, 0, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getLast;(Iterator);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.getLast(in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[1];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterators.getLast(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.getLast(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[1];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterators.getNext(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.getNext(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.getOnlyElement(in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[1];ReturnValue;value" + Object out = null; + Object in = (Object)source(); + out = Iterators.getOnlyElement(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Element of Argument[0];ReturnValue;value" + Object out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.getOnlyElement(in, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;limit;(Iterator,int);;Element of Argument[0];Element of ReturnValue;value" + Iterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.limit(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;mergeSorted;(Iterable,Comparator);;Element of Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterable in = (Iterable)List.of(List.of(source()).iterator()); + out = Iterators.mergeSorted(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;paddedPartition;(Iterator,int);;Element of Argument[0];Element of Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.paddedPartition(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;partition;(Iterator,int);;Element of Argument[0];Element of Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.partition(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;peekingIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + PeekingIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.peekingIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;peekingIterator;(PeekingIterator);;Element of Argument[0];Element of ReturnValue;value" + PeekingIterator out = null; + PeekingIterator in = (PeekingIterator)Iterators.peekingIterator(List.of(source()).iterator()); + out = Iterators.peekingIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;singletonIterator;(Object);;Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Object in = (Object)source(); + out = Iterators.singletonIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;toArray;(Iterator,Class);;Element of Argument[0];ArrayElement of ReturnValue;value" + Object[] out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.toArray(in, null); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;tryFind;(Iterator,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Optional out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.tryFind(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;unmodifiableIterator;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Iterators.unmodifiableIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Iterators;false;unmodifiableIterator;(UnmodifiableIterator);;Element of Argument[0];Element of ReturnValue;value" + UnmodifiableIterator out = null; + UnmodifiableIterator in = (UnmodifiableIterator)Iterators.unmodifiableIterator(List.of(source()).iterator()); + out = Iterators.unmodifiableIterator(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + LinkedHashMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = LinkedHashMultimap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + LinkedHashMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = LinkedHashMultimap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;LinkedHashMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + LinkedHashMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = LinkedHashMultiset.create(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + LinkedListMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = LinkedListMultimap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + LinkedListMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = LinkedListMultimap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[0..1];Element of ReturnValue;value" + List out = null; + Object in = (Object)source(); + out = Lists.asList(null, in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[0..1];Element of ReturnValue;value" + List out = null; + Object in = (Object)source(); + out = Lists.asList(in, null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;ArrayElement of Argument[2];Element of ReturnValue;value" + List out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Lists.asList(null, null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[0];Element of ReturnValue;value" + List out = null; + Object in = (Object)source(); + out = Lists.asList(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;asList;(Object,Object[]);;ArrayElement of Argument[1];Element of ReturnValue;value" + List out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Lists.asList(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;cartesianProduct;(List);;Element of Element of Argument[0];Element of Element of ReturnValue;value" + List out = null; + List in = (List)List.of(List.of(source())); + out = Lists.cartesianProduct(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;cartesianProduct;(List[]);;Element of ArrayElement of Argument[0];Element of Element of ReturnValue;value" + List out = null; + List[] in = (List[])new List[]{(List)List.of(source())}; + out = Lists.cartesianProduct(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;charactersOf;(CharSequence);;Argument[0];Element of ReturnValue;taint" + List out = null; + CharSequence in = (CharSequence)source(); + out = Lists.charactersOf(in); + sink(getElement(out)); // $ hasTaintFlow + } + { + // "com.google.common.collect;Lists;false;charactersOf;(String);;Argument[0];Element of ReturnValue;taint" + ImmutableList out = null; + String in = (String)source(); + out = Lists.charactersOf(in); + sink(getElement(out)); // $ hasTaintFlow + } + { + // "com.google.common.collect;Lists;false;newArrayList;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ArrayList out = null; + Iterable in = (Iterable)List.of(source()); + out = Lists.newArrayList(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;newArrayList;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + ArrayList out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Lists.newArrayList(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;newArrayList;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + ArrayList out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Lists.newArrayList(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;newCopyOnWriteArrayList;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + CopyOnWriteArrayList out = null; + Iterable in = (Iterable)List.of(source()); + out = Lists.newCopyOnWriteArrayList(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;newLinkedList;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + LinkedList out = null; + Iterable in = (Iterable)List.of(source()); + out = Lists.newLinkedList(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;partition;(List,int);;Element of Argument[0];Element of Element of ReturnValue;value" + List out = null; + List in = (List)List.of(source()); + out = Lists.partition(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Lists;false;reverse;(List);;Element of Argument[0];Element of ReturnValue;value" + List out = null; + List in = (List)List.of(source()); + out = Lists.reverse(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference$ValueDifference;true;leftValue;();;SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];ReturnValue;value" + Object out = null; + MapDifference.ValueDifference in = (MapDifference.ValueDifference)newMapValueDifference(source(), null); + out = in.leftValue(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference$ValueDifference;true;rightValue;();;SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];ReturnValue;value" + Object out = null; + MapDifference.ValueDifference in = (MapDifference.ValueDifference)newMapValueDifference(null, source()); + out = in.rightValue(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)source(), null), null); + out = in.entriesDiffering(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(source(), null), null); + out = in.entriesDiffering(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)source(), null)); + out = in.entriesDiffering(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(source(), null)); + out = in.entriesDiffering(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.left] of MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)null, source()), null); + out = in.entriesDiffering(); + sink(getMapValue(out).leftValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.left] of MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(null, source()), null); + out = in.entriesDiffering(); + sink(getMapValue(out).leftValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.right] of MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)null, source())); + out = in.entriesDiffering(); + sink(getMapValue(out).rightValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesDiffering;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];SyntheticField[com.google.common.collect.MapDifference.right] of MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(null, source())); + out = in.entriesDiffering(); + sink(getMapValue(out).rightValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)source(), null), null); + out = in.entriesInCommon(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(source(), null), null); + out = in.entriesInCommon(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)source(), null)); + out = in.entriesInCommon(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(source(), null)); + out = in.entriesInCommon(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)null, source()), null); + out = in.entriesInCommon(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(null, source()), null); + out = in.entriesInCommon(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)null, source())); + out = in.entriesInCommon(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesInCommon;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(null, source())); + out = in.entriesInCommon(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)source(), null), null); + out = in.entriesOnlyOnLeft(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(source(), null), null); + out = in.entriesOnlyOnLeft(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(ImmutableSortedMap.of((Comparable)null, source()), null); + out = in.entriesOnlyOnLeft(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(Map.of(null, source()), null); + out = in.entriesOnlyOnLeft(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)source(),null)); + out = in.entriesOnlyOnRight(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(source(), null)); + out = in.entriesOnlyOnRight(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value" + SortedMap out = null; + SortedMapDifference in = (SortedMapDifference)Maps.difference(null, ImmutableSortedMap.of((Comparable)null, source())); + out = in.entriesOnlyOnRight(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + MapDifference in = (MapDifference)Maps.difference(null, Map.of(null, source())); + out = in.entriesOnlyOnRight(); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;asMap;(NavigableSet,Function);;Element of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableSet in = (NavigableSet)ImmutableSortedSet.of((Comparable)source()); + out = Maps.asMap(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;asMap;(Set,Function);;Element of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Set in = (Set)Set.of(source()); + out = Maps.asMap(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;asMap;(SortedSet,Function);;Element of Argument[0];MapKey of ReturnValue;value" + SortedMap out = null; + SortedSet in = (SortedSet)ImmutableSortedSet.of((Comparable)source()); + out = Maps.asMap(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.difference(in, (Map)null); + sink(getMapKey(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.difference((Map)null, in); + sink(getMapKey(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.difference(in, (Map)null); + sink(getMapValue(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.difference((Map)null, in); + sink(getMapValue(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.difference(in, null, null); + sink(getMapKey(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.difference(null, in, null); + sink(getMapKey(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.difference(in, null, null); + sink(getMapValue(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + MapDifference out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.difference(null, in, null); + sink(getMapValue(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapKey of Argument[0];MapKey of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + SortedMapDifference out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.difference(in, (Map)null); + sink(getMapKey(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapKey of Argument[1];MapKey of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + SortedMapDifference out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.difference((SortedMap)null, in); + sink(getMapKey(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapValue of Argument[0];MapValue of SyntheticField[com.google.common.collect.MapDifference.left] of ReturnValue;value" + SortedMapDifference out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)null, source()); + out = Maps.difference(in, (Map)null); + sink(getMapValue(out.entriesOnlyOnLeft())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;MapValue of Argument[1];MapValue of SyntheticField[com.google.common.collect.MapDifference.right] of ReturnValue;value" + SortedMapDifference out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.difference((SortedMap)null, in); + sink(getMapValue(out.entriesOnlyOnRight())); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterEntries;;;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterEntries;;;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterEntries;;;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterEntries;;;MapKey of Argument[0];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = Maps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterKeys;;;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterKeys;;;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterKeys;;;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterKeys;;;MapKey of Argument[0];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = Maps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterValues;;;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterValues;;;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterValues;;;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;filterValues;;;MapKey of Argument[0];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = Maps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;fromProperties;(Properties);;MapKey of Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Properties in = (Properties)newWithMapKeyDefault(source()); + out = Maps.fromProperties(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;fromProperties;(Properties);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Properties in = (Properties)newWithMapValueDefault(source()); + out = Maps.fromProperties(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[0];MapKey of ReturnValue;value" + Map.Entry out = null; + Object in = (Object)source(); + out = Maps.immutableEntry(in, null); + sink(out.getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[1];MapValue of ReturnValue;value" + Map.Entry out = null; + Object in = (Object)source(); + out = Maps.immutableEntry(null, in); + sink(out.getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;immutableEnumMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.immutableEnumMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newEnumMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + EnumMap out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.newEnumMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newHashMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + HashMap out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.newHashMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newHashMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + HashMap out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.newHashMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + LinkedHashMap out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.newLinkedHashMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + LinkedHashMap out = null; + Map in = (Map)Map.of(null, source()); + out = Maps.newLinkedHashMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + TreeMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.newTreeMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + TreeMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)null, source()); + out = Maps.newTreeMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.subMap(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;MapValue of Argument[0];MapValue of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)null, source()); + out = Maps.subMap(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = Maps.synchronizedBiMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(null, source()); + out = Maps.synchronizedBiMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.synchronizedNavigableMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)null, source()); + out = Maps.synchronizedNavigableMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;toMap;(Iterable,Function);;Element of Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Iterable in = (Iterable)List.of(source()); + out = Maps.toMap(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;toMap;(Iterator,Function);;Element of Argument[0];MapKey of ReturnValue;value" + ImmutableMap out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Maps.toMap(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;transformValues;(Map,Function);;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Map in = (Map)Map.of(source(), null); + out = Maps.transformValues(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;transformValues;(NavigableMap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.transformValues(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;transformValues;(SortedMap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedMap out = null; + SortedMap in = (SortedMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.transformValues(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;uniqueIndex;(Iterable,Function);;Element of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Iterable in = (Iterable)List.of(source()); + out = Maps.uniqueIndex(in, (Function)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;uniqueIndex;(Iterator,Function);;Element of Argument[0];MapValue of ReturnValue;value" + ImmutableMap out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Maps.uniqueIndex(in, (Function)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(source(), null); + out = Maps.unmodifiableBiMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + BiMap out = null; + BiMap in = (BiMap)ImmutableBiMap.of(null, source()); + out = Maps.unmodifiableBiMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;MapKey of Argument[0];MapKey of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)source(), null); + out = Maps.unmodifiableNavigableMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;MapValue of Argument[0];MapValue of ReturnValue;value" + NavigableMap out = null; + NavigableMap in = (NavigableMap)ImmutableSortedMap.of((Comparable)null, source()); + out = Maps.unmodifiableNavigableMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + NavigableMap out = null; + TreeMultimap in = (TreeMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(source(), null); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapKey of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = in.asMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + NavigableMap out = null; + TreeMultimap in = (TreeMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + Map out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + Map out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + Map out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + Map out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;asMap;();;MapValue of Argument[-1];Element of MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.asMap(); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + Set out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + Set out = null; + LinkedHashMultimap in = (LinkedHashMultimap)LinkedHashMultimap.create(ImmutableMultimap.of(source(), null)); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(source(), null)); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(source(), null); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapKey of Argument[-1];MapKey of Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = in.entries(); + sink(getElement(out).getKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + Set out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + Set out = null; + LinkedHashMultimap in = (LinkedHashMultimap)LinkedHashMultimap.create(ImmutableMultimap.of(null, source())); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(null, source())); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;entries;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.entries(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + SortedSet out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + Set out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + NavigableSet out = null; + TreeMultimap in = (TreeMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(null, source())); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;get;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.get(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keySet;();;MapKey of Argument[-1];Element of ReturnValue;value" + Set out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = in.keySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keySet;();;MapKey of Argument[-1];Element of ReturnValue;value" + Set out = null; + LinkedHashMultimap in = (LinkedHashMultimap)LinkedHashMultimap.create(ImmutableMultimap.of(source(), null)); + out = in.keySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keySet;();;MapKey of Argument[-1];Element of ReturnValue;value" + NavigableSet out = null; + TreeMultimap in = (TreeMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = in.keySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keySet;();;MapKey of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = in.keySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keys;();;MapKey of Argument[-1];Element of ReturnValue;value" + Multiset out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = in.keys(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;keys;();;MapKey of Argument[-1];Element of ReturnValue;value" + ImmutableMultiset out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = in.keys(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + Multimap out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + LinkedListMultimap out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out.put(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + Multimap out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + LinkedListMultimap out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out.put(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapKey of Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out.putAll(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Multimap);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + Multimap out = null; + Object in = (Object)source(); + out.putAll(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out.putAll(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + Multimap out = null; + Iterable in = (Iterable)List.of(source()); + out.putAll(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.putAll(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + SortedSet out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + Set out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(null, source())); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;removeAll;(Object);;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.removeAll(null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + SortedSetMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + SetMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + Multimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ListMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + LinkedListMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + LinkedHashMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableSetMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];MapKey of Argument[-1];value" + ImmutableListMultimap out = null; + Object in = (Object)source(); + out.replaceValues(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + SortedSetMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + SetMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + Multimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ListMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + LinkedListMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + LinkedHashMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableSetMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Element of Argument[1];MapValue of Argument[-1];value" + ImmutableListMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out.replaceValues(null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + SortedSet out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + Set out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + Set out = null; + LinkedHashMultimap in = (LinkedHashMultimap)LinkedHashMultimap.create(ImmutableMultimap.of(null, source())); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(null, source())); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableList out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.replaceValues(null, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + List out = null; + LinkedListMultimap in = (LinkedListMultimap)LinkedListMultimap.create(ImmutableMultimap.of(null, source())); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimap;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + LinkedHashMultimap in = (LinkedHashMultimap)LinkedHashMultimap.create(ImmutableMultimap.of(null, source())); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(source(), null); + out = Multimaps.asMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value" + Map out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = Multimaps.asMap(in); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.asMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(Multimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value" + Map out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.asMap(in); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.asMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value" + Map out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.asMap(in); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Map out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = Multimaps.asMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;MapValue of Argument[0];Element of MapValue of ReturnValue;value" + Map out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = Multimaps.asMap(in); + sink(getElement(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.filterEntries(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.filterEntries(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.filterEntries(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.filterKeys(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.filterKeys(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.filterKeys(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.filterValues(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.filterValues(in, (Predicate)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.filterValues(in, (Predicate)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;forMap;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + Map in = (Map)Map.of(source(), null); + out = Multimaps.forMap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;forMap;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + Map in = (Map)Map.of(null, source()); + out = Multimaps.forMap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;index;(Iterable,Function);;Element of Argument[0];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Iterable in = (Iterable)List.of(source()); + out = Multimaps.index(in, (Function)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;index;(Iterator,Function);;Element of Argument[0];MapValue of ReturnValue;value" + ImmutableListMultimap out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Multimaps.index(in, (Function)null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[1];ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)source(); + out = Multimaps.invertFrom(null, in); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;MapKey of Argument[0];MapValue of Argument[1];value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + Multimaps.invertFrom(in, out); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;MapValue of Argument[0];MapKey of Argument[1];value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + Multimaps.invertFrom(in, out); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value" + ListMultimap out = null; + Map in = (Map)Map.of(null, newWithElementDefault(source())); + out = Multimaps.newListMultimap(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value" + ListMultimap out = null; + Map in = (Map)Map.of(source(), null); + out = Multimaps.newListMultimap(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Map in = (Map)Map.of(null, newWithElementDefault(source())); + out = Multimaps.newMultimap(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Map in = (Map)Map.of(source(), null); + out = Multimaps.newMultimap(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + Map in = (Map)Map.of(null, newWithElementDefault(source())); + out = Multimaps.newSetMultimap(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + Map in = (Map)Map.of(source(), null); + out = Multimaps.newSetMultimap(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Element of MapValue of Argument[0];MapValue of ReturnValue;value" + SortedSetMultimap out = null; + Map in = (Map)Map.of(null, newWithElementDefault(source())); + out = Multimaps.newSortedSetMultimap(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedSetMultimap out = null; + Map in = (Map)Map.of(source(), null); + out = Multimaps.newSortedSetMultimap(in, null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ListMultimap out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(source(), null); + out = Multimaps.synchronizedListMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ListMultimap out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = Multimaps.synchronizedListMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.synchronizedMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.synchronizedMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.synchronizedSetMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.synchronizedSetMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedSetMultimap out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = Multimaps.synchronizedSortedSetMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + SortedSetMultimap out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = Multimaps.synchronizedSortedSetMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;transformValues;(ListMultimap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value" + ListMultimap out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(source(), null); + out = Multimaps.transformValues(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;transformValues;(Multimap,Function);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.transformValues(in, (Function)null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ListMultimap out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(source(), null); + out = Multimaps.unmodifiableListMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ListMultimap out = null; + ImmutableListMultimap in = (ImmutableListMultimap)ImmutableListMultimap.of(null, source()); + out = Multimaps.unmodifiableListMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + ListMultimap out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(source(), null); + out = Multimaps.unmodifiableListMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + ListMultimap out = null; + ListMultimap in = (ListMultimap)ImmutableListMultimap.of(null, source()); + out = Multimaps.unmodifiableListMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(source(), null); + out = Multimaps.unmodifiableMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + ImmutableMultimap in = (ImmutableMultimap)ImmutableMultimap.of(null, source()); + out = Multimaps.unmodifiableMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = Multimaps.unmodifiableMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + Multimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = Multimaps.unmodifiableMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.unmodifiableSetMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + ImmutableSetMultimap in = (ImmutableSetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.unmodifiableSetMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(source(), null); + out = Multimaps.unmodifiableSetMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + SetMultimap out = null; + SetMultimap in = (SetMultimap)ImmutableSetMultimap.of(null, source()); + out = Multimaps.unmodifiableSetMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + SortedSetMultimap out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of((Comparable)source(), null)); + out = Multimaps.unmodifiableSortedSetMultimap(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + SortedSetMultimap out = null; + SortedSetMultimap in = (SortedSetMultimap)TreeMultimap.create(ImmutableMultimap.of(null, (Comparable)source())); + out = Multimaps.unmodifiableSortedSetMultimap(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset$Entry;true;getElement;();;Element of Argument[-1];ReturnValue;value" + Object out = null; + Multiset.Entry in = (Multiset.Entry)newEntryWithElement(source()); + out = in.getElement(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Element of Argument[-1];value" + TreeMultiset out = null; + Object in = (Object)source(); + out.add(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Element of Argument[-1];value" + Multiset out = null; + Object in = (Object)source(); + out.add(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out.add(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Element of Argument[-1];value" + ConcurrentHashMultiset out = null; + Object in = (Object)source(); + out.add(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;elementSet;();;Element of Argument[-1];Element of ReturnValue;value" + Set out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = in.elementSet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;elementSet;();;Element of Argument[-1];Element of ReturnValue;value" + NavigableSet out = null; + SortedMultiset in = (SortedMultiset)ImmutableSortedMultiset.of((Comparable)source()); + out = in.elementSet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;elementSet;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSortedSet out = null; + ImmutableSortedMultiset in = (ImmutableSortedMultiset)ImmutableSortedMultiset.of((Comparable)source()); + out = in.elementSet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;elementSet;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableMultiset in = (ImmutableMultiset)ImmutableMultiset.of(source()); + out = in.elementSet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;entrySet;();;Element of Argument[-1];Element of Element of ReturnValue;value" + Set out = null; + SortedMultiset in = (SortedMultiset)ImmutableSortedMultiset.of((Comparable)source()); + out = in.entrySet(); + sink(getElement(out).getElement()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;entrySet;();;Element of Argument[-1];Element of Element of ReturnValue;value" + Set out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = in.entrySet(); + sink(getElement(out).getElement()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;entrySet;();;Element of Argument[-1];Element of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableMultiset in = (ImmutableMultiset)ImmutableMultiset.of(source()); + out = in.entrySet(); + sink(getElement(out).getElement()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + TreeMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + Multiset out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Element of Argument[-1];value" + ConcurrentHashMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Element of Argument[-1];value" + TreeMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Element of Argument[-1];value" + Multiset out = null; + Object in = (Object)source(); + out.setCount(in, 0, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Element of Argument[-1];value" + ImmutableMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Element of Argument[-1];value" + ConcurrentHashMultiset out = null; + Object in = (Object)source(); + out.setCount(in, 0, 0); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;copyHighestCountFirst;(Multiset);;Element of Argument[0];Element of ReturnValue;value" + ImmutableMultiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.copyHighestCountFirst(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;difference;(Multiset,Multiset);;Element of Argument[0];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.difference(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;filter;(Multiset,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.filter(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;immutableEntry;(Object,int);;Argument[0];Element of ReturnValue;value" + Multiset.Entry out = null; + Object in = (Object)source(); + out = Multisets.immutableEntry(in, 0); + sink(out.getElement()); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;intersection;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.intersection(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;intersection;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.intersection(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;sum;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.sum(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;sum;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.sum(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;union;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.union(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;union;(Multiset,Multiset);;Element of Argument[0..1];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.union(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;unmodifiableMultiset;(ImmutableMultiset);;Element of Argument[0];Element of ReturnValue;value" + Multiset out = null; + ImmutableMultiset in = (ImmutableMultiset)ImmutableMultiset.of(source()); + out = Multisets.unmodifiableMultiset(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;unmodifiableMultiset;(Multiset);;Element of Argument[0];Element of ReturnValue;value" + Multiset out = null; + Multiset in = (Multiset)ImmutableMultiset.of(source()); + out = Multisets.unmodifiableMultiset(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Multisets;false;unmodifiableSortedMultiset;(SortedMultiset);;Element of Argument[0];Element of ReturnValue;value" + SortedMultiset out = null; + SortedMultiset in = (SortedMultiset)ImmutableSortedMultiset.of((Comparable)source()); + out = Multisets.unmodifiableSortedMultiset(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;MapKey of Argument[0];MapKey of ReturnValue;value" + MutableClassToInstanceMap out = null; + Map in = (Map)Map.of(source(), null); + out = MutableClassToInstanceMap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;MapValue of Argument[0];MapValue of ReturnValue;value" + MutableClassToInstanceMap out = null; + Map in = (Map)Map.of(null, source()); + out = MutableClassToInstanceMap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[0];ArrayElement of ReturnValue;value" + Object[] out = null; + Object in = (Object)source(); + out = ObjectArrays.concat(in, (Object[])null); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;ArrayElement of Argument[1];ArrayElement of ReturnValue;value" + Object[] out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ObjectArrays.concat((Object)null, in); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[1];ArrayElement of ReturnValue;value" + Object[] out = null; + Object in = (Object)source(); + out = ObjectArrays.concat((Object[])null, in); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;ArrayElement of Argument[0];ArrayElement of ReturnValue;value" + Object[] out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ObjectArrays.concat(in, (Object)null); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object[],Class);;ArrayElement of Argument[0..1];ArrayElement of ReturnValue;value" + Object[] out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ObjectArrays.concat(null, in, null); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object[],Class);;ArrayElement of Argument[0..1];ArrayElement of ReturnValue;value" + Object[] out = null; + Object[] in = (Object[])new Object[]{source()}; + out = ObjectArrays.concat(in, null, null); + sink(getArrayElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,Duration);;Element of Argument[0];Element of Argument[1];value" + Collection out = null; + BlockingQueue in = (BlockingQueue)newWithElementDefault(source()); + Queues.drain(in, out, 0, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,long,TimeUnit);;Element of Argument[0];Element of Argument[1];value" + Collection out = null; + BlockingQueue in = (BlockingQueue)newWithElementDefault(source()); + Queues.drain(in, out, 0, 0L, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newArrayDeque;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ArrayDeque out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newArrayDeque(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newConcurrentLinkedQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + ConcurrentLinkedQueue out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newConcurrentLinkedQueue(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newLinkedBlockingDeque;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + LinkedBlockingDeque out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newLinkedBlockingDeque(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newLinkedBlockingQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + LinkedBlockingQueue out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newLinkedBlockingQueue(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newPriorityBlockingQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + PriorityBlockingQueue out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newPriorityBlockingQueue(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;newPriorityQueue;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + PriorityQueue out = null; + Iterable in = (Iterable)List.of(source()); + out = Queues.newPriorityQueue(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;synchronizedDeque;(Deque);;Element of Argument[0];Element of ReturnValue;value" + Deque out = null; + Deque in = (Deque)newWithElementDefault(source()); + out = Queues.synchronizedDeque(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Queues;false;synchronizedQueue;(Queue);;Element of Argument[0];Element of ReturnValue;value" + Queue out = null; + Queue in = (Queue)newWithElementDefault(source()); + out = Queues.synchronizedQueue(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets$SetView;true;copyInto;(Set);;Element of Argument[-1];Element of Argument[0];value" + Set out = null; + Sets.SetView in = (Sets.SetView)Sets.union(Set.of(source()), null); + in.copyInto(out); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets$SetView;true;immutableCopy;();;Element of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + Sets.SetView in = (Sets.SetView)Sets.union(Set.of(source()), null); + out = in.immutableCopy(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;cartesianProduct;(List);;Element of Element of Argument[0];Element of Element of ReturnValue;value" + Set out = null; + List in = (List)List.of(Set.of(source())); + out = Sets.cartesianProduct(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;cartesianProduct;(Set[]);;Element of ArrayElement of Argument[0];Element of Element of ReturnValue;value" + Set out = null; + Set[] in = (Set[])new Set[]{Set.of(source())}; + out = Sets.cartesianProduct(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;combinations;(Set,int);;Element of Argument[0];Element of Element of ReturnValue;value" + Set out = null; + Set in = (Set)Set.of(source()); + out = Sets.combinations(in, 0); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;difference;(Set,Set);;Element of Argument[0];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.difference(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;filter;(NavigableSet,Predicate);;Element of Argument[0];Element of ReturnValue;value" + NavigableSet out = null; + NavigableSet in = (NavigableSet)ImmutableSortedSet.of((Comparable)source()); + out = Sets.filter(in, (Predicate)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;filter;(Set,Predicate);;Element of Argument[0];Element of ReturnValue;value" + Set out = null; + Set in = (Set)Set.of(source()); + out = Sets.filter(in, (Predicate)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;filter;(SortedSet,Predicate);;Element of Argument[0];Element of ReturnValue;value" + SortedSet out = null; + SortedSet in = (SortedSet)ImmutableSortedSet.of((Comparable)source()); + out = Sets.filter(in, (Predicate)null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;intersection;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.intersection(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;intersection;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.intersection(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + Set out = null; + Iterable in = (Iterable)List.of(source()); + out = Sets.newConcurrentHashSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newCopyOnWriteArraySet;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + CopyOnWriteArraySet out = null; + Iterable in = (Iterable)List.of(source()); + out = Sets.newCopyOnWriteArraySet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + HashSet out = null; + Iterable in = (Iterable)List.of(source()); + out = Sets.newHashSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newHashSet;(Iterator);;Element of Argument[0];Element of ReturnValue;value" + HashSet out = null; + Iterator in = (Iterator)List.of(source()).iterator(); + out = Sets.newHashSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newHashSet;(Object[]);;ArrayElement of Argument[0];Element of ReturnValue;value" + HashSet out = null; + Object[] in = (Object[])new Object[]{source()}; + out = Sets.newHashSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newLinkedHashSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + LinkedHashSet out = null; + Iterable in = (Iterable)List.of(source()); + out = Sets.newLinkedHashSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newSetFromMap;(Map);;MapKey of Argument[0];Element of ReturnValue;value" + Set out = null; + Map in = (Map)Map.of(source(), null); + out = Sets.newSetFromMap(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;newTreeSet;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + TreeSet out = null; + Iterable in = (Iterable)List.of(source()); + out = Sets.newTreeSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;powerSet;(Set);;Element of Argument[0];Element of Element of ReturnValue;value" + Set out = null; + Set in = (Set)Set.of(source()); + out = Sets.powerSet(in); + sink(getElement(getElement(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;subSet;(NavigableSet,Range);;Element of Argument[0];Element of ReturnValue;value" + NavigableSet out = null; + NavigableSet in = (NavigableSet)ImmutableSortedSet.of((Comparable)source()); + out = Sets.subSet(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;symmetricDifference;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.symmetricDifference(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;symmetricDifference;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.symmetricDifference(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;synchronizedNavigableSet;(NavigableSet);;Element of Argument[0];Element of ReturnValue;value" + NavigableSet out = null; + NavigableSet in = (NavigableSet)ImmutableSortedSet.of((Comparable)source()); + out = Sets.synchronizedNavigableSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;union;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.union(null, in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;union;(Set,Set);;Element of Argument[0..1];Element of ReturnValue;value" + Sets.SetView out = null; + Set in = (Set)Set.of(source()); + out = Sets.union(in, null); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Sets;false;unmodifiableNavigableSet;(NavigableSet);;Element of Argument[0];Element of ReturnValue;value" + NavigableSet out = null; + NavigableSet in = (NavigableSet)ImmutableSortedSet.of((Comparable)source()); + out = Sets.unmodifiableNavigableSet(in); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table$Cell;true;getColumnKey;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];ReturnValue;value" + Object out = null; + Table.Cell in = (Table.Cell)newTableCell(null, source(), null); + out = in.getColumnKey(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table$Cell;true;getRowKey;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];ReturnValue;value" + Object out = null; + Table.Cell in = (Table.Cell)newTableCell(source(), null, null); + out = in.getRowKey(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table$Cell;true;getValue;();;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + Table.Cell in = (Table.Cell)newTableCell(null, null, source()); + out = in.getValue(); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + Set out = null; + Table in = (Table)newTable(null, null, source()); + out = in.cellSet(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + Set out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.cellSet(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;MapValue of Argument[-1];MapValue of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.cellSet(); + sink(getElement(out).getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of Element of ReturnValue;value" + Set out = null; + Table in = (Table)newTable(null, source(), null); + out = in.cellSet(); + sink(getElement(out).getColumnKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of Element of ReturnValue;value" + Set out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = in.cellSet(); + sink(getElement(out).getColumnKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.columnKey] of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, source(), null); + out = in.cellSet(); + sink(getElement(out).getColumnKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of Element of ReturnValue;value" + Set out = null; + Table in = (Table)newTable(source(), null, null); + out = in.cellSet(); + sink(getElement(out).getRowKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of Element of ReturnValue;value" + Set out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = in.cellSet(); + sink(getElement(out).getRowKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;cellSet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];SyntheticField[com.google.common.collect.Table.rowKey] of Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(source(), null, null); + out = in.cellSet(); + sink(getElement(out).getRowKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, null, source()); + out = in.column(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.column(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.column(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(source(), null, null); + out = in.column(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = in.column(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;column;(Object);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(source(), null, null); + out = in.column(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnKeySet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];Element of ReturnValue;value" + Set out = null; + Table in = (Table)newTable(null, source(), null); + out = in.columnKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnKeySet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, source(), null); + out = in.columnKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnKeySet;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = in.columnKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, null, source()); + out = in.columnMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.columnMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.columnMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, source(), null); + out = in.columnMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = in.columnMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, source(), null); + out = in.columnMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(source(), null, null); + out = in.columnMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = in.columnMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;columnMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(source(), null, null); + out = in.columnMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;get;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + Table in = (Table)newTable(null, null, source()); + out = in.get(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;get;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + HashBasedTable in = (HashBasedTable)HashBasedTable.create(ImmutableTable.of(null, null, source())); + out = in.get(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;get;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.get(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + Table out = null; + Object in = (Object)source(); + out.put(in, null, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ImmutableTable out = null; + Object in = (Object)source(); + out.put(in, null, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ArrayTable out = null; + Object in = (Object)source(); + out.put(in, null, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + Table out = null; + Object in = (Object)source(); + out.put(null, in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ImmutableTable out = null; + Object in = (Object)source(); + out.put(null, in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ArrayTable out = null; + Object in = (Object)source(); + out.put(null, in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value" + Table out = null; + Object in = (Object)source(); + out.put(null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value" + ImmutableTable out = null; + Object in = (Object)source(); + out.put(null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];MapValue of Argument[-1];value" + ArrayTable out = null; + Object in = (Object)source(); + out.put(null, null, in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value" + Table out = null; + Table in = (Table)newTable(null, null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(null, null, source()); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;MapValue of Argument[0];MapValue of Argument[-1];value" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(null, null, source())); + out.putAll(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + Table out = null; + Table in = (Table)newTable(null, source(), null); + out.putAll(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(null, source(), null); + out.putAll(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];value" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out.putAll(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + Table out = null; + Table in = (Table)newTable(source(), null, null); + out.putAll(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ImmutableTable out = null; + Table in = (Table)ImmutableTable.of(source(), null, null); + out.putAll(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;putAll;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];value" + ArrayTable out = null; + Table in = (Table)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out.putAll(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;remove;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + Table in = (Table)newTable(null, null, source()); + out = in.remove(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;remove;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.remove(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;remove;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + HashBasedTable in = (HashBasedTable)HashBasedTable.create(ImmutableTable.of(null, null, source())); + out = in.remove(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;remove;(Object,Object);;MapValue of Argument[-1];ReturnValue;value" + Object out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.remove(null, null); + sink(out); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + SortedMap out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, null, source()); + out = in.row(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, null, source()); + out = in.row(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.row(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;MapValue of Argument[-1];MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.row(null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, source(), null); + out = in.row(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, source(), null); + out = in.row(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = in.row(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;row;(Object);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, source(), null); + out = in.row(null); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value" + SortedSet out = null; + TreeBasedTable in = (TreeBasedTable)newTable(source(), null, null); + out = in.rowKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value" + SortedSet out = null; + RowSortedTable in = (RowSortedTable)newTable(source(), null, null); + out = in.rowKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value" + Set out = null; + Table in = (Table)newTable(source(), null, null); + out = in.rowKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(source(), null, null); + out = in.rowKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowKeySet;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];Element of ReturnValue;value" + ImmutableSet out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = in.rowKeySet(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + SortedMap out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, null, source()); + out = in.rowMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + SortedMap out = null; + RowSortedTable in = (RowSortedTable)newTable(null, null, source()); + out = in.rowMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, null, source()); + out = in.rowMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.rowMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;MapValue of Argument[-1];MapValue of MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.rowMap(); + sink(getMapValue(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + SortedMap out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, source(), null); + out = in.rowMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + SortedMap out = null; + RowSortedTable in = (RowSortedTable)newTable(null, source(), null); + out = in.rowMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(null, source(), null); + out = in.rowMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, source(), null)); + out = in.rowMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[-1];MapKey of MapValue of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, source(), null); + out = in.rowMap(); + sink(getMapKey(getMapValue(out))); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + TreeBasedTable in = (TreeBasedTable)newTable(source(), null, null); + out = in.rowMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + SortedMap out = null; + RowSortedTable in = (RowSortedTable)newTable(source(), null, null); + out = in.rowMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + Table in = (Table)newTable(source(), null, null); + out = in.rowMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + Map out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(source(), null, null)); + out = in.rowMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;rowMap;();;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[-1];MapKey of ReturnValue;value" + ImmutableMap out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(source(), null, null); + out = in.rowMap(); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + ImmutableCollection out = null; + ImmutableTable in = (ImmutableTable)ImmutableTable.of(null, null, source()); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + Table in = (Table)newTable(null, null, source()); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Table;true;values;();;MapValue of Argument[-1];Element of ReturnValue;value" + Collection out = null; + ArrayTable in = (ArrayTable)ArrayTable.create(ImmutableTable.of(null, null, source())); + out = in.values(); + sink(getElement(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table.Cell out = null; + Object in = (Object)source(); + out = Tables.immutableCell(in, null, null); + sink(out.getRowKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table.Cell out = null; + Object in = (Object)source(); + out = Tables.immutableCell(null, in, null); + sink(out.getColumnKey()); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[2];MapValue of ReturnValue;value" + Table.Cell out = null; + Object in = (Object)source(); + out = Tables.immutableCell(null, null, in); + sink(out.getValue()); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapKey of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table out = null; + Map in = (Map)Map.of(source(), null); + out = Tables.newCustomTable(in, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapKey of MapValue of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table out = null; + Map in = (Map)Map.of(null, Map.of(source(), null)); + out = Tables.newCustomTable(in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;MapValue of MapValue of Argument[0];MapValue of ReturnValue;value" + Table out = null; + Map in = (Map)Map.of(null, Map.of(null, source())); + out = Tables.newCustomTable(in, null); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;synchronizedTable;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, null, source()); + out = Tables.synchronizedTable(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;synchronizedTable;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, source(), null); + out = Tables.synchronizedTable(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;synchronizedTable;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(source(), null, null); + out = Tables.synchronizedTable(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;transformValues;(Table,Function);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, source(), null); + out = Tables.transformValues(in, null); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;transformValues;(Table,Function);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(source(), null, null); + out = Tables.transformValues(in, null); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;transpose;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, null, source()); + out = Tables.transpose(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;transpose;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, source(), null); + out = Tables.transpose(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;transpose;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(source(), null, null); + out = Tables.transpose(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;MapValue of Argument[0];MapValue of ReturnValue;value" + RowSortedTable out = null; + RowSortedTable in = (RowSortedTable)newTable(null, null, source()); + out = Tables.unmodifiableRowSortedTable(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + RowSortedTable out = null; + RowSortedTable in = (RowSortedTable)newTable(null, source(), null); + out = Tables.unmodifiableRowSortedTable(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + RowSortedTable out = null; + RowSortedTable in = (RowSortedTable)newTable(source(), null, null); + out = Tables.unmodifiableRowSortedTable(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, null, source()); + out = Tables.unmodifiableTable(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(null, source(), null); + out = Tables.unmodifiableTable(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value" + Table out = null; + Table in = (Table)newTable(source(), null, null); + out = Tables.unmodifiableTable(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;MapValue of Argument[0];MapValue of ReturnValue;value" + TreeBasedTable out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, null, source()); + out = TreeBasedTable.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "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" + TreeBasedTable out = null; + TreeBasedTable in = (TreeBasedTable)newTable(null, source(), null); + out = TreeBasedTable.create(in); + sink(getTable_columnKey(out)); // $ hasValueFlow + } + { + // "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" + TreeBasedTable out = null; + TreeBasedTable in = (TreeBasedTable)newTable(source(), null, null); + out = TreeBasedTable.create(in); + sink(getTable_rowKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;TreeMultimap;true;create;(Multimap);;MapKey of Argument[0];MapKey of ReturnValue;value" + TreeMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(source(), null); + out = TreeMultimap.create(in); + sink(getMapKey(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;TreeMultimap;true;create;(Multimap);;MapValue of Argument[0];MapValue of ReturnValue;value" + TreeMultimap out = null; + Multimap in = (Multimap)ImmutableMultimap.of(null, source()); + out = TreeMultimap.create(in); + sink(getMapValue(out)); // $ hasValueFlow + } + { + // "com.google.common.collect;TreeMultiset;true;create;(Iterable);;Element of Argument[0];Element of ReturnValue;value" + TreeMultiset out = null; + Iterable in = (Iterable)List.of(source()); + out = TreeMultiset.create(in); + sink(getElement(out)); // $ hasValueFlow + } + + } + +} \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/options b/java/ql/test/library-tests/frameworks/guava/generated/collect/options new file mode 100644 index 00000000000..c894bb5413e --- /dev/null +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/options @@ -0,0 +1 @@ +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../../stubs/guava-30.0 \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/guava/flow.expected b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected similarity index 100% rename from java/ql/test/library-tests/frameworks/guava/flow.expected rename to java/ql/test/library-tests/frameworks/guava/generated/collect/test.expected diff --git a/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql new file mode 100644 index 00000000000..bd24d2a45b2 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/guava/generated/collect/test.ql @@ -0,0 +1,14 @@ +import java +import TestUtilities.InlineFlowTest + +class SummaryModelTest extends SummaryModelCsv { + override predicate row(string row) { + row = + [ + //"package;type;overrides;name;signature;ext;inputspec;outputspec;kind", + "generatedtest;Test;false;newWithElementDefault;(Object);;Argument[0];Element of ReturnValue;value", + "generatedtest;Test;false;newWithMapKeyDefault;(Object);;Argument[0];MapKey of ReturnValue;value", + "generatedtest;Test;false;newWithMapValueDefault;(Object);;Argument[0];MapValue of ReturnValue;value" + ] + } +} diff --git a/java/ql/test/library-tests/frameworks/guava/TestBase.java b/java/ql/test/library-tests/frameworks/guava/handwritten/TestBase.java similarity index 100% rename from java/ql/test/library-tests/frameworks/guava/TestBase.java rename to java/ql/test/library-tests/frameworks/guava/handwritten/TestBase.java diff --git a/java/ql/test/library-tests/frameworks/guava/handwritten/TestCollect.java b/java/ql/test/library-tests/frameworks/guava/handwritten/TestCollect.java new file mode 100644 index 00000000000..09dd28c19ba --- /dev/null +++ b/java/ql/test/library-tests/frameworks/guava/handwritten/TestCollect.java @@ -0,0 +1,161 @@ +package com.google.common.collect; + +import java.util.Collection; +import java.util.Map; +import java.util.SortedSet; +import java.util.SortedMap; +import java.util.Comparator; + +class TestCollect { + String taint() { return "tainted"; } + + void sink(Object o) {} + + T element(Collection c) { + return c.iterator().next(); + } + + K mapKey(Map m) { + return element(m.keySet()); + } + + V mapValue(Map m) { + return element(m.values()); + } + + K multimapKey(Multimap m) { + return element(m.keySet()); + } + + V multimapValue(Multimap m) { + return element(m.values()); + } + + R tableRow(Table t) { + return element(t.rowKeySet()); + } + + C tableColumn(Table t) { + return element(t.columnKeySet()); + } + + V tableValue(Table t) { + return element(t.values()); + } + + void test1() { + String x = taint(); + + ImmutableSet xs = ImmutableSet.of(x, "y", "z"); + sink(element(xs.asList())); // $numValueFlow=1 + + ImmutableSet ys = ImmutableSet.of("a", "b", "c"); + + sink(element(Sets.filter(Sets.union(xs, ys), y -> true))); // $numValueFlow=1 + + sink(element(Sets.newHashSet("a", "b", "c", "d", x))); // $numValueFlow=1 + } + + void test2() { + sink(element(ImmutableList.of(taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint()))); // $numValueFlow=16 + sink(element(ImmutableSet.of(taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint(),taint(), taint(), taint(), taint()))); // $numValueFlow=16 + sink(mapKey(ImmutableMap.of(taint(), taint(), taint(), taint()))); // $numValueFlow=2 + sink(mapValue(ImmutableMap.of(taint(), taint(), taint(), taint()))); // $numValueFlow=2 + sink(multimapKey(ImmutableMultimap.of(taint(), taint(), taint(), taint()))); // $numValueFlow=2 + sink(multimapValue(ImmutableMultimap.of(taint(), taint(), taint(), taint()))); // $numValueFlow=2 + sink(tableRow(ImmutableTable.of(taint(), taint(), taint()))); // $numValueFlow=1 + sink(tableColumn(ImmutableTable.of(taint(), taint(), taint()))); // $numValueFlow=1 + sink(tableValue(ImmutableTable.of(taint(), taint(), taint()))); // $numValueFlow=1 + } + + void test3() { + String x = taint(); + + ImmutableList.Builder b = ImmutableList.builder(); + + b.add("a"); + sink(b); + b.add(x); + sink(element(b.build())); // $numValueFlow=1 + + b = ImmutableList.builder(); + + b.add("a").add(x); + sink(element(b.build())); // $numValueFlow=1 + + sink(ImmutableList.builder().add("a").add(x).build().toArray()[0]); // $numValueFlow=1 + + ImmutableMap.Builder b2 = ImmutableMap.builder(); + b2.put(x,"v"); + sink(mapKey(b2.build())); // $numValueFlow=1 + b2.put("k",x); + sink(mapValue(b2.build())); // $numValueFlow=1 + } + + void test4(Table t1, Table t2, Table t3) { + String x = taint(); + t1.put(x, "c", "v"); + sink(tableRow(t1)); // $numValueFlow=1 + t1.put("r", x, "v"); + sink(tableColumn(t1)); // $numValueFlow=1 + t1.put("r", "c", x); + sink(tableValue(t1)); // $numValueFlow=1 + sink(mapKey(t1.row("r"))); // $numValueFlow=1 + sink(mapValue(t1.row("r"))); // $numValueFlow=1 + + t2.putAll(t1); + for (Table.Cell c : t2.cellSet()) { + sink(c.getValue()); // $numValueFlow=1 + } + + sink(t1.remove("r", "c")); // $numValueFlow=1 + + t3.row("r").put("c", x); + sink(tableValue(t3)); // $ MISSING:numValueFlow=1 // depends on aliasing + } + + void test5(Multimap m1, Multimap m2, Multimap m3, + Multimap m4, Multimap m5){ + String x = taint(); + m1.put("k", x); + sink(multimapValue(m1)); // $numValueFlow=1 + sink(element(m1.get("k"))); // $numValueFlow=1 + + m2.putAll("k", ImmutableList.of("a", x, "b")); + sink(multimapValue(m2)); // $numValueFlow=1 + + m3.putAll(m1); + sink(multimapValue(m3)); // $numValueFlow=1 + + m4.replaceValues("k", m1.replaceValues("k", ImmutableList.of("a"))); + for (Map.Entry e : m4.entries()) { + sink(e.getValue()); // $numValueFlow=1 + } + + m5.asMap().get("k").add(x); + sink(multimapValue(m5)); // $ MISSING:numValueFlow=1 // depends on aliasing + } + + void test6(Comparator comp, SortedSet sorS, SortedMap sorM) { + ImmutableSortedSet s = ImmutableSortedSet.of(taint()); + + sink(element(s)); // $numValueFlow=1 + sink(element(ImmutableSortedSet.copyOf(s))); // $numValueFlow=1 + sink(element(ImmutableSortedSet.copyOf(comp, s))); // $numValueFlow=1 + + sorS.add(taint()); + sink(element(ImmutableSortedSet.copyOfSorted(sorS))); // $numValueFlow=1 + + sink(element(ImmutableList.sortedCopyOf(s))); // $numValueFlow=1 + sink(element(ImmutableList.sortedCopyOf(comp, s))); // $numValueFlow=1 + + ImmutableSortedMap m = ImmutableSortedMap.of("k", taint()); + + sink(mapValue(m)); // $numValueFlow=1 + sink(mapValue(ImmutableSortedMap.copyOf(m))); // $numValueFlow=1 + sink(mapValue(ImmutableSortedMap.copyOf(m, comp))); // $numValueFlow=1 + + sorM.put("k", taint()); + sink(mapValue(ImmutableSortedMap.copyOfSorted(sorM))); // $numValueFlow=1 + } +} diff --git a/java/ql/test/library-tests/frameworks/guava/TestIO.java b/java/ql/test/library-tests/frameworks/guava/handwritten/TestIO.java similarity index 100% rename from java/ql/test/library-tests/frameworks/guava/TestIO.java rename to java/ql/test/library-tests/frameworks/guava/handwritten/TestIO.java diff --git a/java/ql/test/library-tests/frameworks/guava/handwritten/flow.expected b/java/ql/test/library-tests/frameworks/guava/handwritten/flow.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/test/library-tests/frameworks/guava/flow.ql b/java/ql/test/library-tests/frameworks/guava/handwritten/flow.ql similarity index 97% rename from java/ql/test/library-tests/frameworks/guava/flow.ql rename to java/ql/test/library-tests/frameworks/guava/handwritten/flow.ql index 2c65808f15c..82e43c8e33d 100644 --- a/java/ql/test/library-tests/frameworks/guava/flow.ql +++ b/java/ql/test/library-tests/frameworks/guava/handwritten/flow.ql @@ -24,6 +24,8 @@ class ValueFlowConf extends DataFlow::Configuration { override predicate isSink(DataFlow::Node n) { exists(MethodAccess ma | ma.getMethod().hasName("sink") | n.asExpr() = ma.getAnArgument()) } + + override int fieldFlowBranchLimit() { result = 100 } } class HasFlowTest extends InlineExpectationsTest { diff --git a/java/ql/test/library-tests/frameworks/guava/options b/java/ql/test/library-tests/frameworks/guava/handwritten/options similarity index 76% rename from java/ql/test/library-tests/frameworks/guava/options rename to java/ql/test/library-tests/frameworks/guava/handwritten/options index 918d89d295a..9d76421d185 100644 --- a/java/ql/test/library-tests/frameworks/guava/options +++ b/java/ql/test/library-tests/frameworks/guava/handwritten/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/guava-30.0 \ No newline at end of file +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../../stubs/guava-30.0 \ No newline at end of file diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/base/Converter.java b/java/ql/test/stubs/guava-30.0/com/google/common/base/Converter.java index d4e59f3ff91..4d2a445ccf8 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/base/Converter.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/base/Converter.java @@ -1,55 +1,20 @@ -/* - * Copyright (C) 2008 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ +// Generated automatically from com.google.common.base.Converter for testing purposes package com.google.common.base; -import org.checkerframework.checker.nullness.qual.Nullable; -public abstract class Converter implements Function { - public final @Nullable B convert(@Nullable A a) { - return null; - } - - public Iterable convertAll(final Iterable fromIterable) { - return null; - } - - public Converter reverse() { - return null; - } - - public final Converter andThen(Converter secondConverter) { - return null; - } - - @Override - public final @Nullable B apply(@Nullable A a) { - return null; - } - - @Override - public boolean equals(@Nullable Object object) { - return false; - } - - public static Converter from( - Function forwardFunction, - Function backwardFunction) { - return null; - } - - public static Converter identity() { - return null; - } +import com.google.common.base.Function; +abstract public class Converter implements Function +{ + protected Converter(){} + protected abstract A doBackward(B p0); + protected abstract B doForward(A p0); + public Converter reverse(){ return null; } + public Iterable convertAll(Iterable p0){ return null; } + public boolean equals(Object p0){ return false; } + public final Converter andThen(Converter p0){ return null; } + public final B apply(A p0){ return null; } + public final B convert(A p0){ return null; } + public static Converter from(Function p0, Function p1){ return null; } + public static Converter identity(){ return null; } } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/base/Equivalence.java b/java/ql/test/stubs/guava-30.0/com/google/common/base/Equivalence.java new file mode 100644 index 00000000000..f3fe531bf93 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/base/Equivalence.java @@ -0,0 +1,32 @@ +// Generated automatically from com.google.common.base.Equivalence for testing purposes + +package com.google.common.base; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import java.io.Serializable; +import java.util.function.BiPredicate; + +abstract public class Equivalence implements BiPredicate +{ + protected Equivalence(){} + protected abstract boolean doEquivalent(T p0, T p1); + protected abstract int doHash(T p0); + public final Equivalence onResultOf(Function p0){ return null; } + public final Equivalence.Wrapper wrap(S p0){ return null; } + public final Equivalence> pairwise(){ return null; } + public final Predicate equivalentTo(T p0){ return null; } + public final boolean equivalent(T p0, T p1){ return false; } + public final boolean test(T p0, T p1){ return false; } + public final int hash(T p0){ return 0; } + public static Equivalence equals(){ return null; } + public static Equivalence identity(){ return null; } + static public class Wrapper implements Serializable + { + protected Wrapper() {} + public String toString(){ return null; } + public T get(){ return null; } + public boolean equals(Object p0){ return false; } + public int hashCode(){ return 0; } + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/base/Optional.java b/java/ql/test/stubs/guava-30.0/com/google/common/base/Optional.java index 3f39995651a..7228faa03ab 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/base/Optional.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/base/Optional.java @@ -1,77 +1,31 @@ -/* - * Copyright (C) 2011 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ +// Generated automatically from com.google.common.base.Optional for testing purposes, and manually adjusted. package com.google.common.base; + +import com.google.common.base.Function; +import com.google.common.base.Supplier; import java.io.Serializable; import java.util.Set; -import org.checkerframework.checker.nullness.qual.Nullable; - -public abstract class Optional implements Serializable { - public static Optional absent() { - return null; - } - - public static Optional of(T reference) { - return null; - } - - public static Optional fromNullable(@Nullable T nullableReference) { - return null; - } - - public static @Nullable Optional fromJavaUtil( - java.util.@Nullable Optional javaUtilOptional) { - return null; - } - - public static java.util.@Nullable Optional toJavaUtil( - @Nullable Optional googleOptional) { - return null; - } - - public java.util.Optional toJavaUtil() { - return null; - } - - public abstract boolean isPresent(); - - public abstract T get(); - - public abstract T or(T defaultValue); - - public abstract Optional or(Optional secondChoice); - - public abstract T or(Supplier supplier); - - public abstract @Nullable T orNull(); - - public abstract Set asSet(); - - public abstract Optional transform(Function function); - - @Override - public abstract boolean equals(@Nullable Object object); - - @Override - public abstract int hashCode(); - - @Override - public abstract String toString(); - - public static Iterable presentInstances( - final Iterable> optionals) { - return null; - } +abstract public class Optional implements Serializable +{ + Optional(){} + public java.util.Optional toJavaUtil(){ return null; } + public abstract Optional transform(Function p0); + public abstract Optional or(Optional p0); + public abstract Set asSet(); + public abstract String toString(); + public abstract T get(); + public abstract T or(Supplier p0); + public abstract T or(T p0); + public abstract T orNull(); + public abstract boolean equals(Object p0); + public abstract boolean isPresent(); + public abstract int hashCode(); + public static Iterable presentInstances(Iterable> p0){ return null; } + public static Optional absent(){ return null; } + public static Optional fromJavaUtil(java.util.Optional p0){ return null; } + public static Optional fromNullable(T p0){ return null; } + public static Optional of(T p0){ return null; } + public static java.util.Optional toJavaUtil(Optional p0){ return null; } } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractListMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractListMultimap.java new file mode 100644 index 00000000000..673bf12660a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractListMultimap.java @@ -0,0 +1,21 @@ +// Generated automatically from com.google.common.collect.AbstractListMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMapBasedMultimap; +import com.google.common.collect.ListMultimap; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +abstract class AbstractListMultimap extends AbstractMapBasedMultimap implements ListMultimap +{ + protected AbstractListMultimap() {} + protected AbstractListMultimap(Map> p0){} + public List get(K p0){ return null; } + public List removeAll(Object p0){ return null; } + public List replaceValues(K p0, Iterable p1){ return null; } + public Map> asMap(){ return null; } + public boolean equals(Object p0){ return false; } + public boolean put(K p0, V p1){ return false; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultimap.java new file mode 100644 index 00000000000..81883754e6a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultimap.java @@ -0,0 +1,28 @@ +// Generated automatically from com.google.common.collect.AbstractMapBasedMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMultimap; +import java.io.Serializable; +import java.util.AbstractCollection; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; +import java.util.Spliterator; +import java.util.function.BiConsumer; + +abstract class AbstractMapBasedMultimap extends AbstractMultimap implements Serializable +{ + protected AbstractMapBasedMultimap() {} + protected AbstractMapBasedMultimap(Map> p0){} + public Collection> entries(){ return null; } + public Collection get(K p0){ return null; } + public Collection removeAll(Object p0){ return null; } + public Collection replaceValues(K p0, Iterable p1){ return null; } + public Collection values(){ return null; } + public boolean containsKey(Object p0){ return false; } + public boolean put(K p0, V p1){ return false; } + public int size(){ return 0; } + public void clear(){} + public void forEach(BiConsumer p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultiset.java new file mode 100644 index 00000000000..85f575c0d00 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMapBasedMultiset.java @@ -0,0 +1,27 @@ +// Generated automatically from com.google.common.collect.AbstractMapBasedMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMultiset; +import com.google.common.collect.Count; +import com.google.common.collect.Multiset; +import java.io.Serializable; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.function.ObjIntConsumer; + +abstract class AbstractMapBasedMultiset extends AbstractMultiset implements Serializable +{ + protected AbstractMapBasedMultiset() {} + protected AbstractMapBasedMultiset(Map p0){} + public Iterator iterator(){ return null; } + public Set> entrySet(){ return null; } + public int add(E p0, int p1){ return 0; } + public int count(Object p0){ return 0; } + public int remove(Object p0, int p1){ return 0; } + public int setCount(E p0, int p1){ return 0; } + public int size(){ return 0; } + public void clear(){} + public void forEachEntry(ObjIntConsumer p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMultiset.java new file mode 100644 index 00000000000..1403d74287b --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractMultiset.java @@ -0,0 +1,29 @@ +// Generated automatically from com.google.common.collect.AbstractMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.Multiset; +import java.util.AbstractCollection; +import java.util.Collection; +import java.util.Set; + +abstract class AbstractMultiset extends AbstractCollection implements Multiset +{ + public Set elementSet(){ return null; } + public Set> entrySet(){ return null; } + public abstract void clear(); + public boolean contains(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public boolean setCount(E p0, int p1, int p2){ return false; } + public final String toString(){ return null; } + public final boolean add(E p0){ return false; } + public final boolean addAll(Collection p0){ return false; } + public final boolean equals(Object p0){ return false; } + public final boolean remove(Object p0){ return false; } + public final boolean removeAll(Collection p0){ return false; } + public final boolean retainAll(Collection p0){ return false; } + public final int hashCode(){ return 0; } + public int add(E p0, int p1){ return 0; } + public int remove(Object p0, int p1){ return 0; } + public int setCount(E p0, int p1){ return 0; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSetMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSetMultimap.java new file mode 100644 index 00000000000..58a869e4061 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSetMultimap.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.AbstractSetMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMapBasedMultimap; +import com.google.common.collect.SetMultimap; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +abstract class AbstractSetMultimap extends AbstractMapBasedMultimap implements SetMultimap +{ + protected AbstractSetMultimap() {} + protected AbstractSetMultimap(Map> p0){} + public Map> asMap(){ return null; } + public Set> entries(){ return null; } + public Set get(K p0){ return null; } + public Set removeAll(Object p0){ return null; } + public Set replaceValues(K p0, Iterable p1){ return null; } + public boolean equals(Object p0){ return false; } + public boolean put(K p0, V p1){ return false; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedKeySortedSetMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedKeySortedSetMultimap.java new file mode 100644 index 00000000000..99e7dae3f3c --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedKeySortedSetMultimap.java @@ -0,0 +1,15 @@ +// Generated automatically from com.google.common.collect.AbstractSortedKeySortedSetMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSortedSetMultimap; +import java.util.Collection; +import java.util.SortedMap; +import java.util.SortedSet; + +abstract class AbstractSortedKeySortedSetMultimap extends AbstractSortedSetMultimap +{ + protected AbstractSortedKeySortedSetMultimap() {} + public SortedMap> asMap(){ return null; } + public SortedSet keySet(){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedMultiset.java new file mode 100644 index 00000000000..4b9b54003d6 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedMultiset.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.AbstractSortedMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMultiset; +import com.google.common.collect.BoundType; +import com.google.common.collect.Multiset; +import com.google.common.collect.SortedMultiset; +import java.util.Comparator; +import java.util.NavigableSet; + +abstract class AbstractSortedMultiset extends AbstractMultiset implements SortedMultiset +{ + public Comparator comparator(){ return null; } + public Multiset.Entry firstEntry(){ return null; } + public Multiset.Entry lastEntry(){ return null; } + public Multiset.Entry pollFirstEntry(){ return null; } + public Multiset.Entry pollLastEntry(){ return null; } + public NavigableSet elementSet(){ return null; } + public SortedMultiset descendingMultiset(){ return null; } + public SortedMultiset subMultiset(E p0, BoundType p1, E p2, BoundType p3){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedSetMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedSetMultimap.java new file mode 100644 index 00000000000..00d6491a2ca --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractSortedSetMultimap.java @@ -0,0 +1,20 @@ +// Generated automatically from com.google.common.collect.AbstractSortedSetMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSetMultimap; +import com.google.common.collect.SortedSetMultimap; +import java.util.Collection; +import java.util.Map; +import java.util.SortedSet; + +abstract class AbstractSortedSetMultimap extends AbstractSetMultimap implements SortedSetMultimap +{ + protected AbstractSortedSetMultimap() {} + protected AbstractSortedSetMultimap(Map> p0){} + public Collection values(){ return null; } + public Map> asMap(){ return null; } + public SortedSet get(K p0){ return null; } + public SortedSet removeAll(Object p0){ return null; } + public SortedSet replaceValues(K p0, Iterable p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractTable.java index 9003783bab9..64ca3131671 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractTable.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/AbstractTable.java @@ -1,90 +1,28 @@ -/* - * Copyright (C) 2013 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ +// Generated automatically from com.google.common.collect.AbstractTable for testing purposes package com.google.common.collect; +import com.google.common.collect.Table; import java.util.Collection; -import java.util.Map; import java.util.Set; -abstract class AbstractTable implements Table { - @Override - public boolean containsRow(Object rowKey) { - return false; - } - - @Override - public boolean containsColumn(Object columnKey) { - return false; - } - - @Override - public Set rowKeySet() { - return null; - } - - @Override - public Set columnKeySet() { - return null; - } - - @Override - public boolean containsValue(Object value) { - return false; - } - - @Override - public boolean contains(Object rowKey, Object columnKey) { - return false; - } - - @Override - public V get(Object rowKey, Object columnKey) { - return null; - } - - @Override - public boolean isEmpty() { - return false; - } - - @Override - public void clear() { - } - - @Override - public V remove(Object rowKey, Object columnKey) { - return null; - } - - @Override - public V put(R rowKey, C columnKey, V value) { - return null; - } - - @Override - public void putAll(Table table) { - } - - @Override - public Set> cellSet() { - return null; - } - - @Override - public Collection values() { - return null; - } - +abstract class AbstractTable implements Table +{ + public Collection values(){ return null; } + public Set columnKeySet(){ return null; } + public Set rowKeySet(){ return null; } + public Set> cellSet(){ return null; } + public String toString(){ return null; } + public V get(Object p0, Object p1){ return null; } + public V put(R p0, C p1, V p2){ return null; } + public V remove(Object p0, Object p1){ return null; } + public boolean contains(Object p0, Object p1){ return false; } + public boolean containsColumn(Object p0){ return false; } + public boolean containsRow(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean equals(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public int hashCode(){ return 0; } + public void clear(){} + public void putAll(Table p0){} } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimap.java new file mode 100644 index 00000000000..3e985271163 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimap.java @@ -0,0 +1,15 @@ +// Generated automatically from com.google.common.collect.ArrayListMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ArrayListMultimapGwtSerializationDependencies; +import com.google.common.collect.Multimap; + +public class ArrayListMultimap extends ArrayListMultimapGwtSerializationDependencies +{ + protected ArrayListMultimap() {} + public static ArrayListMultimap create(){ return null; } + public static ArrayListMultimap create(Multimap p0){ return null; } + public static ArrayListMultimap create(int p0, int p1){ return null; } + public void trimToSize(){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimapGwtSerializationDependencies.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimapGwtSerializationDependencies.java new file mode 100644 index 00000000000..9cb4c8f0c51 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayListMultimapGwtSerializationDependencies.java @@ -0,0 +1,10 @@ +// Generated automatically from com.google.common.collect.ArrayListMultimapGwtSerializationDependencies for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractListMultimap; + +abstract class ArrayListMultimapGwtSerializationDependencies extends AbstractListMultimap +{ + protected ArrayListMultimapGwtSerializationDependencies() {} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayTable.java new file mode 100644 index 00000000000..32543b5bc6a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ArrayTable.java @@ -0,0 +1,45 @@ +// Generated automatically from com.google.common.collect.ArrayTable for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractTable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Table; +import java.io.Serializable; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +public class ArrayTable extends AbstractTable implements Serializable +{ + protected ArrayTable() {} + public Collection values(){ return null; } + public ImmutableList columnKeyList(){ return null; } + public ImmutableList rowKeyList(){ return null; } + public ImmutableSet columnKeySet(){ return null; } + public ImmutableSet rowKeySet(){ return null; } + public Map> columnMap(){ return null; } + public Map row(R p0){ return null; } + public Map> rowMap(){ return null; } + public Map column(C p0){ return null; } + public Set> cellSet(){ return null; } + public V at(int p0, int p1){ return null; } + public V erase(Object p0, Object p1){ return null; } + public V get(Object p0, Object p1){ return null; } + public V put(R p0, C p1, V p2){ return null; } + public V remove(Object p0, Object p1){ return null; } + public V set(int p0, int p1, V p2){ return null; } + public V[][] toArray(Class p0){ return null; } + public boolean contains(Object p0, Object p1){ return false; } + public boolean containsColumn(Object p0){ return false; } + public boolean containsRow(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public int size(){ return 0; } + public static ArrayTable create(Iterable p0, Iterable p1){ return null; } + public static ArrayTable create(Table p0){ return null; } + public void clear(){} + public void eraseAll(){} + public void putAll(Table p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/BiMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/BiMap.java new file mode 100644 index 00000000000..00e7a90086b --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/BiMap.java @@ -0,0 +1,15 @@ +// Generated automatically from com.google.common.collect.BiMap for testing purposes + +package com.google.common.collect; + +import java.util.Map; +import java.util.Set; + +public interface BiMap extends Map +{ + BiMap inverse(); + Set values(); + V forcePut(K p0, V p1); + V put(K p0, V p1); + void putAll(Map p0); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/BoundType.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/BoundType.java new file mode 100644 index 00000000000..dda52f260dd --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/BoundType.java @@ -0,0 +1,10 @@ +// Generated automatically from com.google.common.collect.BoundType for testing purposes + +package com.google.common.collect; + + +public enum BoundType +{ + CLOSED, OPEN; + private BoundType() {} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ClassToInstanceMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ClassToInstanceMap.java new file mode 100644 index 00000000000..53dca6fb602 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ClassToInstanceMap.java @@ -0,0 +1,11 @@ +// Generated automatically from com.google.common.collect.ClassToInstanceMap for testing purposes + +package com.google.common.collect; + +import java.util.Map; + +public interface ClassToInstanceMap extends Map, B> +{ + T getInstance(Class p0); + T putInstance(Class p0, T p1); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Collections2.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Collections2.java new file mode 100644 index 00000000000..12b85b66058 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Collections2.java @@ -0,0 +1,19 @@ +// Generated automatically from com.google.common.collect.Collections2 for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; + +public class Collections2 +{ + protected Collections2() {} + public static > Collection> orderedPermutations(Iterable p0){ return null; } + public static Collection filter(Collection p0, Predicate p1){ return null; } + public static Collection> orderedPermutations(Iterable p0, Comparator p1){ return null; } + public static Collection> permutations(Collection p0){ return null; } + public static Collection transform(Collection p0, Function p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ConcurrentHashMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ConcurrentHashMultiset.java new file mode 100644 index 00000000000..8eeff3c5792 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ConcurrentHashMultiset.java @@ -0,0 +1,32 @@ +// Generated automatically from com.google.common.collect.ConcurrentHashMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMultiset; +import com.google.common.collect.Multiset; +import java.io.Serializable; +import java.util.Iterator; +import java.util.Set; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.atomic.AtomicInteger; + +public class ConcurrentHashMultiset extends AbstractMultiset implements Serializable +{ + protected ConcurrentHashMultiset() {} + public T[] toArray(T[] p0){ return null; } + public Iterator iterator(){ return null; } + public Object[] toArray(){ return null; } + public Set> createEntrySet(){ return null; } + public boolean isEmpty(){ return false; } + public boolean removeExactly(Object p0, int p1){ return false; } + public boolean setCount(E p0, int p1, int p2){ return false; } + public int add(E p0, int p1){ return 0; } + public int count(Object p0){ return 0; } + public int remove(Object p0, int p1){ return 0; } + public int setCount(E p0, int p1){ return 0; } + public int size(){ return 0; } + public static ConcurrentHashMultiset create(){ return null; } + public static ConcurrentHashMultiset create(ConcurrentMap p0){ return null; } + public static ConcurrentHashMultiset create(Iterable p0){ return null; } + public void clear(){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Count.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Count.java new file mode 100644 index 00000000000..a49c1849e0a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Count.java @@ -0,0 +1,18 @@ +// Generated automatically from com.google.common.collect.Count for testing purposes + +package com.google.common.collect; + +import java.io.Serializable; + +class Count implements Serializable +{ + protected Count() {} + public String toString(){ return null; } + public boolean equals(Object p0){ return false; } + public int addAndGet(int p0){ return 0; } + public int get(){ return 0; } + public int getAndSet(int p0){ return 0; } + public int hashCode(){ return 0; } + public void add(int p0){} + public void set(int p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Cut.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Cut.java new file mode 100644 index 00000000000..ae1d3e14bc7 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Cut.java @@ -0,0 +1,13 @@ +// Generated automatically from com.google.common.collect.Cut for testing purposes + +package com.google.common.collect; + +import java.io.Serializable; + +abstract class Cut implements Comparable>, Serializable +{ + protected Cut() {} + public abstract int hashCode(); + public boolean equals(Object p0){ return false; } + public int compareTo(Cut p0){ return 0; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/DiscreteDomain.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/DiscreteDomain.java new file mode 100644 index 00000000000..6eb3681e382 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/DiscreteDomain.java @@ -0,0 +1,18 @@ +// Generated automatically from com.google.common.collect.DiscreteDomain for testing purposes + +package com.google.common.collect; + +import java.math.BigInteger; + +abstract public class DiscreteDomain +{ + protected DiscreteDomain(){} + public C maxValue(){ return null; } + public C minValue(){ return null; } + public abstract C next(C p0); + public abstract C previous(C p0); + public abstract long distance(C p0, C p1); + public static DiscreteDomain bigIntegers(){ return null; } + public static DiscreteDomain integers(){ return null; } + public static DiscreteDomain longs(){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingMap.java new file mode 100644 index 00000000000..bcb15cec45e --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingMap.java @@ -0,0 +1,37 @@ +// Generated automatically from com.google.common.collect.ForwardingMap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ForwardingObject; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +abstract public class ForwardingMap extends ForwardingObject implements Map +{ + protected ForwardingMap(){} + protected String standardToString(){ return null; } + protected V standardRemove(Object p0){ return null; } + protected abstract Map delegate(); + protected boolean standardContainsKey(Object p0){ return false; } + protected boolean standardContainsValue(Object p0){ return false; } + protected boolean standardEquals(Object p0){ return false; } + protected boolean standardIsEmpty(){ return false; } + protected int standardHashCode(){ return 0; } + protected void standardClear(){} + protected void standardPutAll(Map p0){} + public Collection values(){ return null; } + public Set keySet(){ return null; } + public Set> entrySet(){ return null; } + public V get(Object p0){ return null; } + public V put(K p0, V p1){ return null; } + public V remove(Object p0){ return null; } + public boolean containsKey(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean equals(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public int hashCode(){ return 0; } + public int size(){ return 0; } + public void clear(){} + public void putAll(Map p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingObject.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingObject.java new file mode 100644 index 00000000000..54cf8f64689 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ForwardingObject.java @@ -0,0 +1,11 @@ +// Generated automatically from com.google.common.collect.ForwardingObject for testing purposes + +package com.google.common.collect; + + +abstract public class ForwardingObject +{ + protected ForwardingObject(){} + protected abstract Object delegate(); + public String toString(){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/GeneralRange.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/GeneralRange.java new file mode 100644 index 00000000000..acf8f6bc9c9 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/GeneralRange.java @@ -0,0 +1,34 @@ +// Generated automatically from com.google.common.collect.GeneralRange for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.BoundType; +import com.google.common.collect.Range; +import java.io.Serializable; +import java.util.Comparator; + +class GeneralRange implements Serializable +{ + protected GeneralRange() {} + BoundType getLowerBoundType(){ return null; } + BoundType getUpperBoundType(){ return null; } + Comparator comparator(){ return null; } + GeneralRange intersect(GeneralRange p0){ return null; } + GeneralRange reverse(){ return null; } + T getLowerEndpoint(){ return null; } + T getUpperEndpoint(){ return null; } + boolean contains(T p0){ return false; } + boolean hasLowerBound(){ return false; } + boolean hasUpperBound(){ return false; } + boolean isEmpty(){ return false; } + boolean tooHigh(T p0){ return false; } + boolean tooLow(T p0){ return false; } + public String toString(){ return null; } + public boolean equals(Object p0){ return false; } + public int hashCode(){ return 0; } + static GeneralRange from(Range p0){ return null; } + static GeneralRange all(Comparator p0){ return null; } + static GeneralRange downTo(Comparator p0, T p1, BoundType p2){ return null; } + static GeneralRange range(Comparator p0, T p1, BoundType p2, T p3, BoundType p4){ return null; } + static GeneralRange upTo(Comparator p0, T p1, BoundType p2){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBasedTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBasedTable.java new file mode 100644 index 00000000000..6284328c191 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBasedTable.java @@ -0,0 +1,24 @@ +// Generated automatically from com.google.common.collect.HashBasedTable for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Supplier; +import com.google.common.collect.StandardTable; +import com.google.common.collect.Table; +import java.io.Serializable; +import java.util.Map; + +public class HashBasedTable extends StandardTable +{ + protected HashBasedTable() {} + public V get(Object p0, Object p1){ return null; } + public V remove(Object p0, Object p1){ return null; } + public boolean contains(Object p0, Object p1){ return false; } + public boolean containsColumn(Object p0){ return false; } + public boolean containsRow(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean equals(Object p0){ return false; } + public static HashBasedTable create(){ return null; } + public static HashBasedTable create(Table p0){ return null; } + public static HashBasedTable create(int p0, int p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBiMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBiMap.java new file mode 100644 index 00000000000..ec5fd73b93f --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashBiMap.java @@ -0,0 +1,32 @@ +// Generated automatically from com.google.common.collect.HashBiMap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.BiMap; +import com.google.common.collect.Maps; +import java.io.Serializable; +import java.util.Map; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; + +public class HashBiMap extends Maps.IteratorBasedAbstractMap implements BiMap, Serializable +{ + protected HashBiMap() {} + public BiMap inverse(){ return null; } + public Set keySet(){ return null; } + public Set values(){ return null; } + public V forcePut(K p0, V p1){ return null; } + public V get(Object p0){ return null; } + public V put(K p0, V p1){ return null; } + public V remove(Object p0){ return null; } + public boolean containsKey(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public int size(){ return 0; } + public static HashBiMap create(){ return null; } + public static HashBiMap create(Map p0){ return null; } + public static HashBiMap create(int p0){ return null; } + public void clear(){} + public void forEach(BiConsumer p0){} + public void replaceAll(BiFunction p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimap.java new file mode 100644 index 00000000000..69ff1caa89f --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimap.java @@ -0,0 +1,14 @@ +// Generated automatically from com.google.common.collect.HashMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.HashMultimapGwtSerializationDependencies; +import com.google.common.collect.Multimap; + +public class HashMultimap extends HashMultimapGwtSerializationDependencies +{ + protected HashMultimap() {} + public static HashMultimap create(){ return null; } + public static HashMultimap create(Multimap p0){ return null; } + public static HashMultimap create(int p0, int p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimapGwtSerializationDependencies.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimapGwtSerializationDependencies.java new file mode 100644 index 00000000000..9ff6310fa70 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultimapGwtSerializationDependencies.java @@ -0,0 +1,10 @@ +// Generated automatically from com.google.common.collect.HashMultimapGwtSerializationDependencies for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSetMultimap; + +abstract class HashMultimapGwtSerializationDependencies extends AbstractSetMultimap +{ + protected HashMultimapGwtSerializationDependencies() {} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultiset.java new file mode 100644 index 00000000000..38d026f45fc --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/HashMultiset.java @@ -0,0 +1,13 @@ +// Generated automatically from com.google.common.collect.HashMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMapBasedMultiset; + +public class HashMultiset extends AbstractMapBasedMultiset +{ + protected HashMultiset() {} + public static HashMultiset create(){ return null; } + public static HashMultiset create(Iterable p0){ return null; } + public static HashMultiset create(int p0){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMap.java new file mode 100644 index 00000000000..b573c4aad0c --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMap.java @@ -0,0 +1,40 @@ +// Generated automatically from com.google.common.collect.ImmutableBiMap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.BiMap; +import com.google.common.collect.ImmutableBiMapFauxverideShim; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import java.util.Comparator; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collector; + +abstract public class ImmutableBiMap extends ImmutableBiMapFauxverideShim implements BiMap +{ + public ImmutableSet values(){ return null; } + public abstract ImmutableBiMap inverse(); + public final V forcePut(K p0, V p1){ return null; } + public static ImmutableBiMap.Builder builder(){ return null; } + public static ImmutableBiMap.Builder builderWithExpectedSize(int p0){ return null; } + public static ImmutableBiMap copyOf(Iterable> p0){ return null; } + public static ImmutableBiMap copyOf(Map p0){ return null; } + public static ImmutableBiMap of(){ return null; } + public static ImmutableBiMap of(K p0, V p1){ return null; } + public static ImmutableBiMap of(K p0, V p1, K p2, V p3){ return null; } + public static ImmutableBiMap of(K p0, V p1, K p2, V p3, K p4, V p5){ return null; } + public static ImmutableBiMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7){ return null; } + public static ImmutableBiMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7, K p8, V p9){ return null; } + public static Collector> toImmutableBiMap(Function p0, Function p1){ return null; } + static public class Builder extends ImmutableMap.Builder + { + public Builder(){} + public ImmutableBiMap.Builder orderEntriesByValue(Comparator p0){ return null; } + public ImmutableBiMap.Builder put(K p0, V p1){ return null; } + public ImmutableBiMap.Builder put(Map.Entry p0){ return null; } + public ImmutableBiMap.Builder putAll(Iterable> p0){ return null; } + public ImmutableBiMap.Builder putAll(Map p0){ return null; } + public ImmutableBiMap build(){ return null; } + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMapFauxverideShim.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMapFauxverideShim.java new file mode 100644 index 00000000000..d55d3be8d28 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableBiMapFauxverideShim.java @@ -0,0 +1,14 @@ +// Generated automatically from com.google.common.collect.ImmutableBiMapFauxverideShim for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableMap; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.stream.Collector; + +abstract class ImmutableBiMapFauxverideShim extends ImmutableMap +{ + public static Collector> toImmutableMap(Function p0, Function p1){ return null; } + public static Collector> toImmutableMap(Function p0, Function p1, BinaryOperator p2){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableClassToInstanceMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableClassToInstanceMap.java new file mode 100644 index 00000000000..2fd624f570a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableClassToInstanceMap.java @@ -0,0 +1,27 @@ +// Generated automatically from com.google.common.collect.ImmutableClassToInstanceMap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ForwardingMap; +import java.io.Serializable; +import java.util.Map; + +public class ImmutableClassToInstanceMap extends ForwardingMap, B> implements ClassToInstanceMap, Serializable +{ + protected ImmutableClassToInstanceMap() {} + protected Map, B> delegate(){ return null; } + public T getInstance(Class p0){ return null; } + public T putInstance(Class p0, T p1){ return null; } + public static ImmutableClassToInstanceMap copyOf(Map, ? extends S> p0){ return null; } + public static ImmutableClassToInstanceMap of(Class p0, T p1){ return null; } + public static ImmutableClassToInstanceMap.Builder builder(){ return null; } + public static ImmutableClassToInstanceMap of(){ return null; } + static public class Builder + { + public ImmutableClassToInstanceMap.Builder put(Class p0, T p1){ return null; } + public ImmutableClassToInstanceMap.Builder putAll(Map, ? extends T> p0){ return null; } + public Builder(){} + public ImmutableClassToInstanceMap build(){ return null; } + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableListMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableListMultimap.java new file mode 100644 index 00000000000..b8df07aa844 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableListMultimap.java @@ -0,0 +1,46 @@ +// Generated automatically from com.google.common.collect.ImmutableListMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Multimap; +import java.util.Comparator; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collector; +import java.util.stream.Stream; + +public class ImmutableListMultimap extends ImmutableMultimap implements ListMultimap +{ + protected ImmutableListMultimap() {} + public ImmutableList get(K p0){ return null; } + public ImmutableListMultimap inverse(){ return null; } + public final ImmutableList removeAll(Object p0){ return null; } + public final ImmutableList replaceValues(K p0, Iterable p1){ return null; } + public static ImmutableListMultimap.Builder builder(){ return null; } + public static ImmutableListMultimap copyOf(Iterable> p0){ return null; } + public static ImmutableListMultimap copyOf(Multimap p0){ return null; } + public static ImmutableListMultimap of(){ return null; } + public static ImmutableListMultimap of(K p0, V p1){ return null; } + public static ImmutableListMultimap of(K p0, V p1, K p2, V p3){ return null; } + public static ImmutableListMultimap of(K p0, V p1, K p2, V p3, K p4, V p5){ return null; } + public static ImmutableListMultimap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7){ return null; } + public static ImmutableListMultimap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7, K p8, V p9){ return null; } + public static Collector> flatteningToImmutableListMultimap(Function p0, Function> p1){ return null; } + public static Collector> toImmutableListMultimap(Function p0, Function p1){ return null; } + static public class Builder extends ImmutableMultimap.Builder + { + public Builder(){} + public ImmutableListMultimap.Builder orderKeysBy(Comparator p0){ return null; } + public ImmutableListMultimap.Builder orderValuesBy(Comparator p0){ return null; } + public ImmutableListMultimap.Builder put(K p0, V p1){ return null; } + public ImmutableListMultimap.Builder put(Map.Entry p0){ return null; } + public ImmutableListMultimap.Builder putAll(Iterable> p0){ return null; } + public ImmutableListMultimap.Builder putAll(K p0, Iterable p1){ return null; } + public ImmutableListMultimap.Builder putAll(K p0, V... p1){ return null; } + public ImmutableListMultimap.Builder putAll(Multimap p0){ return null; } + public ImmutableListMultimap build(){ return null; } + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMap.java index dc3bfd49083..a88c9d79376 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMap.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMap.java @@ -1,105 +1,79 @@ -/* - * Copyright (C) 2009 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Generated automatically from com.google.common.collect.ImmutableSortedMap for testing purposes package com.google.common.collect; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSortedMapFauxverideShim; +import com.google.common.collect.ImmutableSortedSet; import java.util.Comparator; import java.util.Map; +import java.util.NavigableMap; import java.util.SortedMap; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.stream.Collector; -public final class ImmutableSortedMap extends ImmutableMap{ - - public static ImmutableSortedMap of() { - return null; - } - - public static , V> ImmutableSortedMap of(K k1, V v1) { - return null; - } - - public static , V> ImmutableSortedMap of( - K k1, V v1, K k2, V v2) { - return null; - } - - public static , V> ImmutableSortedMap of( - K k1, V v1, K k2, V v2, K k3, V v3) { - return null; - } - - public static , V> ImmutableSortedMap of( - K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) { - return null; - } - - public static , V> ImmutableSortedMap of( - K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) { - return null; - } - - public static ImmutableSortedMap copyOf(Map map) { - return null; - } - - public static ImmutableSortedMap copyOf( - Map map, Comparator comparator) { - return null; - } - - public static ImmutableSortedMap copyOf( - Iterable> entries) { - return null; - } - - public static ImmutableSortedMap copyOf( - Iterable> entries, - Comparator comparator) { - return null; - } - - public static ImmutableSortedMap copyOfSorted(SortedMap map) { - return null; - } - - @Override - public V get(Object key) { - return null; - } - - @Override - public int size() { - return 0; - } - - public static , V> Builder naturalOrder() { - return null; - } - - public static Builder orderedBy(Comparator comparator) { - return null; - } - - public static , V> Builder reverseOrder() { - return null; - } - - public static class Builder extends ImmutableMap.Builder { - public Builder(Comparator comparator) { +public class ImmutableSortedMap extends ImmutableSortedMapFauxverideShim implements NavigableMap +{ + protected ImmutableSortedMap() {} + public Comparator comparator(){ return null; } + public ImmutableCollection values(){ return null; } + public ImmutableSet> entrySet(){ return null; } + public ImmutableSortedMap descendingMap(){ return null; } + public ImmutableSortedMap headMap(K p0){ return null; } + public ImmutableSortedMap headMap(K p0, boolean p1){ return null; } + public ImmutableSortedMap subMap(K p0, K p1){ return null; } + public ImmutableSortedMap subMap(K p0, boolean p1, K p2, boolean p3){ return null; } + public ImmutableSortedMap tailMap(K p0){ return null; } + public ImmutableSortedMap tailMap(K p0, boolean p1){ return null; } + public ImmutableSortedSet descendingKeySet(){ return null; } + public ImmutableSortedSet keySet(){ return null; } + public ImmutableSortedSet navigableKeySet(){ return null; } + public K ceilingKey(K p0){ return null; } + public K firstKey(){ return null; } + public K floorKey(K p0){ return null; } + public K higherKey(K p0){ return null; } + public K lastKey(){ return null; } + public K lowerKey(K p0){ return null; } + public Map.Entry ceilingEntry(K p0){ return null; } + public Map.Entry firstEntry(){ return null; } + public Map.Entry floorEntry(K p0){ return null; } + public Map.Entry higherEntry(K p0){ return null; } + public Map.Entry lastEntry(){ return null; } + public Map.Entry lowerEntry(K p0){ return null; } + public V get(Object p0){ return null; } + public final Map.Entry pollFirstEntry(){ return null; } + public final Map.Entry pollLastEntry(){ return null; } + public int size(){ return 0; } + public static , V> ImmutableSortedMap.Builder naturalOrder(){ return null; } + public static , V> ImmutableSortedMap.Builder reverseOrder(){ return null; } + public static , V> ImmutableSortedMap of(K p0, V p1){ return null; } + public static , V> ImmutableSortedMap of(K p0, V p1, K p2, V p3){ return null; } + public static , V> ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5){ return null; } + public static , V> ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7){ return null; } + public static , V> ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7, K p8, V p9){ return null; } + public static ImmutableSortedMap.Builder orderedBy(Comparator p0){ return null; } + public static ImmutableSortedMap copyOf(Iterable> p0){ return null; } + public static ImmutableSortedMap copyOf(Iterable> p0, Comparator p1){ return null; } + public static ImmutableSortedMap copyOf(Map p0){ return null; } + public static ImmutableSortedMap copyOf(Map p0, Comparator p1){ return null; } + public static ImmutableSortedMap copyOfSorted(SortedMap p0){ return null; } + public static ImmutableSortedMap of(){ return null; } + public static Collector> toImmutableSortedMap(Comparator p0, Function p1, Function p2){ return null; } + public static Collector> toImmutableSortedMap(Comparator p0, Function p1, Function p2, BinaryOperator p3){ return null; } + public void forEach(BiConsumer p0){} + static public class Builder extends ImmutableMap.Builder + { + protected Builder() {} + public Builder(Comparator p0){} + public ImmutableSortedMap.Builder put(K p0, V p1){ return null; } + public ImmutableSortedMap.Builder put(Map.Entry p0){ return null; } + public ImmutableSortedMap.Builder putAll(Iterable> p0){ return null; } + public ImmutableSortedMap.Builder putAll(Map p0){ return null; } + public ImmutableSortedMap build(){ return null; } + public final ImmutableSortedMap.Builder orderEntriesByValue(Comparator p0){ return null; } } - - } - } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMapFauxverideShim.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMapFauxverideShim.java new file mode 100644 index 00000000000..c09533487b1 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMapFauxverideShim.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.ImmutableSortedMapFauxverideShim for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSortedMap; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.stream.Collector; + +abstract class ImmutableSortedMapFauxverideShim extends ImmutableMap +{ + public static ImmutableSortedMap.Builder builder(){ return null; } + public static ImmutableSortedMap.Builder builderWithExpectedSize(int p0){ return null; } + public static ImmutableSortedMap of(K p0, V p1){ return null; } + public static ImmutableSortedMap of(K p0, V p1, K p2, V p3){ return null; } + public static ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5){ return null; } + public static ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7){ return null; } + public static ImmutableSortedMap of(K p0, V p1, K p2, V p3, K p4, V p5, K p6, V p7, K p8, V p9){ return null; } + public static Collector> toImmutableMap(Function p0, Function p1){ return null; } + public static Collector> toImmutableMap(Function p0, Function p1, BinaryOperator p2){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultiset.java new file mode 100644 index 00000000000..fc068de4215 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultiset.java @@ -0,0 +1,57 @@ +// Generated automatically from com.google.common.collect.ImmutableSortedMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.BoundType; +import com.google.common.collect.ImmutableMultiset; +import com.google.common.collect.ImmutableSortedMultisetFauxverideShim; +import com.google.common.collect.ImmutableSortedSet; +import com.google.common.collect.Multiset; +import com.google.common.collect.SortedMultiset; +import java.util.Comparator; +import java.util.Iterator; +import java.util.function.Function; +import java.util.function.ToIntFunction; +import java.util.stream.Collector; + +abstract public class ImmutableSortedMultiset extends ImmutableSortedMultisetFauxverideShim implements SortedMultiset +{ + public ImmutableSortedMultiset descendingMultiset(){ return null; } + public ImmutableSortedMultiset subMultiset(E p0, BoundType p1, E p2, BoundType p3){ return null; } + public abstract ImmutableSortedMultiset headMultiset(E p0, BoundType p1); + public abstract ImmutableSortedMultiset tailMultiset(E p0, BoundType p1); + public abstract ImmutableSortedSet elementSet(); + public final Comparator comparator(){ return null; } + public final Multiset.Entry pollFirstEntry(){ return null; } + public final Multiset.Entry pollLastEntry(){ return null; } + public static > ImmutableSortedMultiset.Builder naturalOrder(){ return null; } + public static > ImmutableSortedMultiset.Builder reverseOrder(){ return null; } + public static > ImmutableSortedMultiset copyOf(E[] p0){ return null; } + public static > ImmutableSortedMultiset of(E p0){ return null; } + public static > ImmutableSortedMultiset of(E p0, E p1){ return null; } + public static > ImmutableSortedMultiset of(E p0, E p1, E p2){ return null; } + public static > ImmutableSortedMultiset of(E p0, E p1, E p2, E p3){ return null; } + public static > ImmutableSortedMultiset of(E p0, E p1, E p2, E p3, E p4){ return null; } + public static > ImmutableSortedMultiset of(E p0, E p1, E p2, E p3, E p4, E p5, E... p6){ return null; } + public static Collector> toImmutableSortedMultiset(Comparator p0){ return null; } + public static ImmutableSortedMultiset.Builder orderedBy(Comparator p0){ return null; } + public static ImmutableSortedMultiset copyOf(Comparator p0, Iterable p1){ return null; } + public static ImmutableSortedMultiset copyOf(Comparator p0, Iterator p1){ return null; } + public static ImmutableSortedMultiset copyOf(Iterable p0){ return null; } + public static ImmutableSortedMultiset copyOf(Iterator p0){ return null; } + public static ImmutableSortedMultiset copyOfSorted(SortedMultiset p0){ return null; } + public static ImmutableSortedMultiset of(){ return null; } + public static Collector> toImmutableSortedMultiset(Comparator p0, Function p1, ToIntFunction p2){ return null; } + static public class Builder extends ImmutableMultiset.Builder + { + protected Builder() {} + public Builder(Comparator p0){} + public ImmutableSortedMultiset.Builder add(E p0){ return null; } + public ImmutableSortedMultiset.Builder add(E... p0){ return null; } + public ImmutableSortedMultiset.Builder addAll(Iterable p0){ return null; } + public ImmutableSortedMultiset.Builder addAll(Iterator p0){ return null; } + public ImmutableSortedMultiset.Builder addCopies(E p0, int p1){ return null; } + public ImmutableSortedMultiset.Builder setCount(E p0, int p1){ return null; } + public ImmutableSortedMultiset build(){ return null; } + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultisetFauxverideShim.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultisetFauxverideShim.java new file mode 100644 index 00000000000..85af2f484d6 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedMultisetFauxverideShim.java @@ -0,0 +1,23 @@ +// Generated automatically from com.google.common.collect.ImmutableSortedMultisetFauxverideShim for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableMultiset; +import com.google.common.collect.ImmutableSortedMultiset; +import java.util.function.Function; +import java.util.function.ToIntFunction; +import java.util.stream.Collector; + +abstract class ImmutableSortedMultisetFauxverideShim extends ImmutableMultiset +{ + public static Collector> toImmutableMultiset(){ return null; } + public static ImmutableSortedMultiset.Builder builder(){ return null; } + public static ImmutableSortedMultiset copyOf(E[] p0){ return null; } + public static ImmutableSortedMultiset of(E p0){ return null; } + public static ImmutableSortedMultiset of(E p0, E p1){ return null; } + public static ImmutableSortedMultiset of(E p0, E p1, E p2){ return null; } + public static ImmutableSortedMultiset of(E p0, E p1, E p2, E p3){ return null; } + public static ImmutableSortedMultiset of(E p0, E p1, E p2, E p3, E p4){ return null; } + public static ImmutableSortedMultiset of(E p0, E p1, E p2, E p3, E p4, E p5, E... p6){ return null; } + public static Collector> toImmutableMultiset(Function p0, ToIntFunction p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSet.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSet.java index fb22c85b5ef..92cfc939d96 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSet.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSet.java @@ -1,111 +1,68 @@ -/* - * Copyright (C) 2008 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Generated automatically from com.google.common.collect.ImmutableSortedSet for testing purposes package com.google.common.collect; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSortedSetFauxverideShim; +import com.google.common.collect.SortedIterable; +import com.google.common.collect.UnmodifiableIterator; import java.util.Collection; import java.util.Comparator; import java.util.Iterator; import java.util.NavigableSet; import java.util.SortedSet; +import java.util.Spliterator; +import java.util.stream.Collector; -public abstract class ImmutableSortedSet extends ImmutableSet - implements NavigableSet { - - public static ImmutableSortedSet of() { - return null; - } - - public static > ImmutableSortedSet of(E element) { - return null; - } - - public static > ImmutableSortedSet of(E e1, E e2) { - return null; - } - - public static > ImmutableSortedSet of(E e1, E e2, E e3) { - return null; - } - - public static > ImmutableSortedSet of(E e1, E e2, E e3, E e4) { - return null; - } - - public static > ImmutableSortedSet of( - E e1, E e2, E e3, E e4, E e5) { - return null; - } - - public static > ImmutableSortedSet of( - E e1, E e2, E e3, E e4, E e5, E e6, E... remaining) { - return null; - } - - public static > ImmutableSortedSet copyOf(E[] elements) { - return null; - } - - public static ImmutableSortedSet copyOf(Iterable elements) { - return null; - } - - public static ImmutableSortedSet copyOf(Collection elements) { - return null; - } - - public static ImmutableSortedSet copyOf(Iterator elements) { - return null; - } - - public static ImmutableSortedSet copyOf( - Comparator comparator, Iterator elements) { - return null; - } - - public static ImmutableSortedSet copyOf( - Comparator comparator, Iterable elements) { - return null; - } - - public static ImmutableSortedSet copyOf( - Comparator comparator, Collection elements) { - return null; - } - - public static ImmutableSortedSet copyOfSorted(SortedSet sortedSet) { - return null; - } - - public static Builder orderedBy(Comparator comparator) { - return null; - } - - public static > Builder reverseOrder() { - return null; - } - - public static > Builder naturalOrder() { - return null; - } - - public static final class Builder extends ImmutableSet.Builder { - public Builder(Comparator comparator) { +abstract public class ImmutableSortedSet extends ImmutableSortedSetFauxverideShim implements NavigableSet, SortedIterable +{ + protected ImmutableSortedSet() {} + public Comparator comparator(){ return null; } + public E ceiling(E p0){ return null; } + public E first(){ return null; } + public E floor(E p0){ return null; } + public E higher(E p0){ return null; } + public E last(){ return null; } + public E lower(E p0){ return null; } + public ImmutableSortedSet descendingSet(){ return null; } + public ImmutableSortedSet headSet(E p0){ return null; } + public ImmutableSortedSet headSet(E p0, boolean p1){ return null; } + public ImmutableSortedSet subSet(E p0, E p1){ return null; } + public ImmutableSortedSet subSet(E p0, boolean p1, E p2, boolean p3){ return null; } + public ImmutableSortedSet tailSet(E p0){ return null; } + public ImmutableSortedSet tailSet(E p0, boolean p1){ return null; } + public Spliterator spliterator(){ return null; } + public abstract UnmodifiableIterator descendingIterator(); + public abstract UnmodifiableIterator iterator(); + public final E pollFirst(){ return null; } + public final E pollLast(){ return null; } + public static > ImmutableSortedSet.Builder naturalOrder(){ return null; } + public static > ImmutableSortedSet.Builder reverseOrder(){ return null; } + public static > ImmutableSortedSet copyOf(E[] p0){ return null; } + public static > ImmutableSortedSet of(E p0){ return null; } + public static > ImmutableSortedSet of(E p0, E p1){ return null; } + public static > ImmutableSortedSet of(E p0, E p1, E p2){ return null; } + public static > ImmutableSortedSet of(E p0, E p1, E p2, E p3){ return null; } + public static > ImmutableSortedSet of(E p0, E p1, E p2, E p3, E p4){ return null; } + public static > ImmutableSortedSet of(E p0, E p1, E p2, E p3, E p4, E p5, E... p6){ return null; } + public static Collector> toImmutableSortedSet(Comparator p0){ return null; } + public static ImmutableSortedSet.Builder orderedBy(Comparator p0){ return null; } + public static ImmutableSortedSet copyOf(Collection p0){ return null; } + public static ImmutableSortedSet copyOf(Comparator p0, Collection p1){ return null; } + public static ImmutableSortedSet copyOf(Comparator p0, Iterable p1){ return null; } + public static ImmutableSortedSet copyOf(Comparator p0, Iterator p1){ return null; } + public static ImmutableSortedSet copyOf(Iterable p0){ return null; } + public static ImmutableSortedSet copyOf(Iterator p0){ return null; } + public static ImmutableSortedSet copyOfSorted(SortedSet p0){ return null; } + public static ImmutableSortedSet of(){ return null; } + static public class Builder extends ImmutableSet.Builder + { + protected Builder() {} + public Builder(Comparator p0){} + public ImmutableSortedSet.Builder add(E p0){ return null; } + public ImmutableSortedSet.Builder add(E... p0){ return null; } + public ImmutableSortedSet.Builder addAll(Iterable p0){ return null; } + public ImmutableSortedSet.Builder addAll(Iterator p0){ return null; } + public ImmutableSortedSet build(){ return null; } } - - } - } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSetFauxverideShim.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSetFauxverideShim.java new file mode 100644 index 00000000000..b2a0cff1ccb --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableSortedSetFauxverideShim.java @@ -0,0 +1,21 @@ +// Generated automatically from com.google.common.collect.ImmutableSortedSetFauxverideShim for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSortedSet; +import java.util.stream.Collector; + +abstract class ImmutableSortedSetFauxverideShim extends ImmutableSet +{ + public static Collector> toImmutableSet(){ return null; } + public static ImmutableSortedSet.Builder builder(){ return null; } + public static ImmutableSortedSet.Builder builderWithExpectedSize(int p0){ return null; } + public static ImmutableSortedSet copyOf(E[] p0){ return null; } + public static ImmutableSortedSet of(E p0){ return null; } + public static ImmutableSortedSet of(E p0, E p1){ return null; } + public static ImmutableSortedSet of(E p0, E p1, E p2){ return null; } + public static ImmutableSortedSet of(E p0, E p1, E p2, E p3){ return null; } + public static ImmutableSortedSet of(E p0, E p1, E p2, E p3, E p4){ return null; } + public static ImmutableSortedSet of(E p0, E p1, E p2, E p3, E p4, E p5, E... p6){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableTable.java index 73b3907b352..88f28c9ab98 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableTable.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ImmutableTable.java @@ -1,124 +1,49 @@ -/* - * Copyright (C) 2009 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Generated automatically from com.google.common.collect.ImmutableTable for testing purposes package com.google.common.collect; +import com.google.common.collect.AbstractTable; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Table; +import java.io.Serializable; +import java.util.Comparator; import java.util.Map; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.stream.Collector; -public abstract class ImmutableTable extends AbstractTable { - - public static ImmutableTable of() { - return null; - } - - public static ImmutableTable of(R rowKey, C columnKey, V value) { - return null; - } - - public static ImmutableTable copyOf( - Table table) { - return null; - } - - public static Builder builder() { - return null; - } - - public static final class Builder { - public Builder() {} - - public Builder put(R rowKey, C columnKey, V value) { - return null; +abstract public class ImmutableTable extends AbstractTable implements Serializable +{ + public ImmutableCollection values(){ return null; } + public ImmutableMap row(R p0){ return null; } + public ImmutableMap column(C p0){ return null; } + public ImmutableSet columnKeySet(){ return null; } + public ImmutableSet rowKeySet(){ return null; } + public ImmutableSet> cellSet(){ return null; } + public abstract ImmutableMap> columnMap(); + public abstract ImmutableMap> rowMap(); + public boolean contains(Object p0, Object p1){ return false; } + public boolean containsValue(Object p0){ return false; } + public final V put(R p0, C p1, V p2){ return null; } + public final V remove(Object p0, Object p1){ return null; } + public final void clear(){} + public final void putAll(Table p0){} + public static ImmutableTable.Builder builder(){ return null; } + public static ImmutableTable copyOf(Table p0){ return null; } + public static ImmutableTable of(){ return null; } + public static ImmutableTable of(R p0, C p1, V p2){ return null; } + public static Collector> toImmutableTable(Function p0, Function p1, Function p2){ return null; } + public static Collector> toImmutableTable(Function p0, Function p1, Function p2, BinaryOperator p3){ return null; } + static public class Builder + { + public Builder(){} + public ImmutableTable.Builder orderColumnsBy(Comparator p0){ return null; } + public ImmutableTable.Builder orderRowsBy(Comparator p0){ return null; } + public ImmutableTable.Builder put(R p0, C p1, V p2){ return null; } + public ImmutableTable.Builder put(Table.Cell p0){ return null; } + public ImmutableTable.Builder putAll(Table p0){ return null; } + public ImmutableTable build(){ return null; } } - - public Builder put(Cell cell) { - return null; - } - - public Builder putAll(Table table) { - return null; - } - - public ImmutableTable build() { - return null; - } - - } - @Override - public ImmutableSet> cellSet() { - return null; - } - - @Override - public ImmutableCollection values() { - return null; - } - - @Override - public ImmutableMap column(C columnKey) { - return null; - } - - @Override - public ImmutableSet columnKeySet() { - return null; - } - - @Override - public abstract ImmutableMap> columnMap(); - - @Override - public ImmutableMap row(R rowKey) { - return null; - } - - @Override - public ImmutableSet rowKeySet() { - return null; - } - - @Override - public abstract ImmutableMap> rowMap(); - - @Override - public boolean contains(Object rowKey, Object columnKey) { - return false; - } - - @Override - public boolean containsValue(Object value) { - return false; - } - - @Override - public final void clear() { - } - - @Override - public final V put(R rowKey, C columnKey, V value) { - return null; - } - - @Override - public final void putAll(Table table) { - } - - @Override - public final V remove(Object rowKey, Object columnKey) { - return null; - } - } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterables.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterables.java new file mode 100644 index 00000000000..6eb11f37e56 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterables.java @@ -0,0 +1,58 @@ +// Generated automatically from com.google.common.collect.Iterables for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableCollection; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; + +public class Iterables +{ + protected Iterables() {} + public static Iterable unmodifiableIterable(ImmutableCollection p0){ return null; } + public static Iterable transform(Iterable p0, Function p1){ return null; } + public static Iterable> paddedPartition(Iterable p0, int p1){ return null; } + public static Iterable> partition(Iterable p0, int p1){ return null; } + public static Iterable concat(Iterable> p0){ return null; } + public static Iterable concat(Iterable p0, Iterable p1){ return null; } + public static Iterable concat(Iterable p0, Iterable p1, Iterable p2){ return null; } + public static Iterable concat(Iterable p0, Iterable p1, Iterable p2, Iterable p3){ return null; } + public static Iterable concat(Iterable... p0){ return null; } + public static Iterable consumingIterable(Iterable p0){ return null; } + public static Iterable cycle(Iterable p0){ return null; } + public static Iterable cycle(T... p0){ return null; } + public static Iterable filter(Iterable p0, Class p1){ return null; } + public static Iterable filter(Iterable p0, Predicate p1){ return null; } + public static Iterable limit(Iterable p0, int p1){ return null; } + public static Iterable mergeSorted(Iterable> p0, Comparator p1){ return null; } + public static Iterable skip(Iterable p0, int p1){ return null; } + public static Iterable unmodifiableIterable(Iterable p0){ return null; } + public static Optional tryFind(Iterable p0, Predicate p1){ return null; } + public static T find(Iterable p0, Predicate p1, T p2){ return null; } + public static T find(Iterable p0, Predicate p1){ return null; } + public static T get(Iterable p0, int p1, T p2){ return null; } + public static T get(Iterable p0, int p1){ return null; } + public static T getFirst(Iterable p0, T p1){ return null; } + public static T getLast(Iterable p0, T p1){ return null; } + public static T getLast(Iterable p0){ return null; } + public static T getOnlyElement(Iterable p0, T p1){ return null; } + public static T getOnlyElement(Iterable p0){ return null; } + public static T[] toArray(Iterable p0, Class p1){ return null; } + public static boolean addAll(Collection p0, Iterable p1){ return false; } + public static boolean all(Iterable p0, Predicate p1){ return false; } + public static boolean any(Iterable p0, Predicate p1){ return false; } + public static boolean removeIf(Iterable p0, Predicate p1){ return false; } + public static int indexOf(Iterable p0, Predicate p1){ return 0; } + public static String toString(Iterable p0){ return null; } + public static boolean contains(Iterable p0, Object p1){ return false; } + public static boolean elementsEqual(Iterable p0, Iterable p1){ return false; } + public static boolean isEmpty(Iterable p0){ return false; } + public static boolean removeAll(Iterable p0, Collection p1){ return false; } + public static boolean retainAll(Iterable p0, Collection p1){ return false; } + public static int frequency(Iterable p0, Object p1){ return 0; } + public static int size(Iterable p0){ return 0; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterators.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterators.java new file mode 100644 index 00000000000..4560e35a912 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Iterators.java @@ -0,0 +1,66 @@ +// Generated automatically from com.google.common.collect.Iterators for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.PeekingIterator; +import com.google.common.collect.UnmodifiableIterator; +import java.util.Collection; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; + +public class Iterators +{ + protected Iterators() {} + public static Iterator transform(Iterator p0, Function p1){ return null; } + public static Enumeration asEnumeration(Iterator p0){ return null; } + public static Iterator concat(Iterator> p0){ return null; } + public static Iterator concat(Iterator p0, Iterator p1){ return null; } + public static Iterator concat(Iterator p0, Iterator p1, Iterator p2){ return null; } + public static Iterator concat(Iterator p0, Iterator p1, Iterator p2, Iterator p3){ return null; } + public static Iterator concat(Iterator... p0){ return null; } + public static Iterator consumingIterator(Iterator p0){ return null; } + public static Iterator cycle(Iterable p0){ return null; } + public static Iterator cycle(T... p0){ return null; } + public static Iterator limit(Iterator p0, int p1){ return null; } + public static Optional tryFind(Iterator p0, Predicate p1){ return null; } + public static PeekingIterator peekingIterator(Iterator p0){ return null; } + public static PeekingIterator peekingIterator(PeekingIterator p0){ return null; } + public static T find(Iterator p0, Predicate p1, T p2){ return null; } + public static T find(Iterator p0, Predicate p1){ return null; } + public static T get(Iterator p0, int p1, T p2){ return null; } + public static T get(Iterator p0, int p1){ return null; } + public static T getLast(Iterator p0, T p1){ return null; } + public static T getLast(Iterator p0){ return null; } + public static T getNext(Iterator p0, T p1){ return null; } + public static T getOnlyElement(Iterator p0, T p1){ return null; } + public static T getOnlyElement(Iterator p0){ return null; } + public static T[] toArray(Iterator p0, Class p1){ return null; } + public static UnmodifiableIterator> paddedPartition(Iterator p0, int p1){ return null; } + public static UnmodifiableIterator> partition(Iterator p0, int p1){ return null; } + public static UnmodifiableIterator filter(Iterator p0, Class p1){ return null; } + public static UnmodifiableIterator filter(Iterator p0, Predicate p1){ return null; } + public static UnmodifiableIterator forArray(T... p0){ return null; } + public static UnmodifiableIterator forEnumeration(Enumeration p0){ return null; } + public static UnmodifiableIterator mergeSorted(Iterable> p0, Comparator p1){ return null; } + public static UnmodifiableIterator singletonIterator(T p0){ return null; } + public static UnmodifiableIterator unmodifiableIterator(Iterator p0){ return null; } + public static UnmodifiableIterator unmodifiableIterator(UnmodifiableIterator p0){ return null; } + public static boolean addAll(Collection p0, Iterator p1){ return false; } + public static boolean all(Iterator p0, Predicate p1){ return false; } + public static boolean any(Iterator p0, Predicate p1){ return false; } + public static boolean removeIf(Iterator p0, Predicate p1){ return false; } + public static int indexOf(Iterator p0, Predicate p1){ return 0; } + public static String toString(Iterator p0){ return null; } + public static boolean contains(Iterator p0, Object p1){ return false; } + public static boolean elementsEqual(Iterator p0, Iterator p1){ return false; } + public static boolean removeAll(Iterator p0, Collection p1){ return false; } + public static boolean retainAll(Iterator p0, Collection p1){ return false; } + public static int advance(Iterator p0, int p1){ return 0; } + public static int frequency(Iterator p0, Object p1){ return 0; } + public static int size(Iterator p0){ return 0; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimap.java new file mode 100644 index 00000000000..f6b539d1b58 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimap.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.LinkedHashMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.LinkedHashMultimapGwtSerializationDependencies; +import com.google.common.collect.Multimap; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +public class LinkedHashMultimap extends LinkedHashMultimapGwtSerializationDependencies +{ + protected LinkedHashMultimap() {} + public Collection values(){ return null; } + public Set keySet(){ return null; } + public Set> entries(){ return null; } + public Set replaceValues(K p0, Iterable p1){ return null; } + public static LinkedHashMultimap create(){ return null; } + public static LinkedHashMultimap create(Multimap p0){ return null; } + public static LinkedHashMultimap create(int p0, int p1){ return null; } + public void clear(){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimapGwtSerializationDependencies.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimapGwtSerializationDependencies.java new file mode 100644 index 00000000000..18f861e3ad0 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultimapGwtSerializationDependencies.java @@ -0,0 +1,10 @@ +// Generated automatically from com.google.common.collect.LinkedHashMultimapGwtSerializationDependencies for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSetMultimap; + +abstract class LinkedHashMultimapGwtSerializationDependencies extends AbstractSetMultimap +{ + protected LinkedHashMultimapGwtSerializationDependencies() {} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultiset.java new file mode 100644 index 00000000000..e25143c06f6 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedHashMultiset.java @@ -0,0 +1,13 @@ +// Generated automatically from com.google.common.collect.LinkedHashMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMapBasedMultiset; + +public class LinkedHashMultiset extends AbstractMapBasedMultiset +{ + protected LinkedHashMultiset() {} + public static LinkedHashMultiset create(){ return null; } + public static LinkedHashMultiset create(Iterable p0){ return null; } + public static LinkedHashMultiset create(int p0){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedListMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedListMultimap.java new file mode 100644 index 00000000000..2fb2075f923 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/LinkedListMultimap.java @@ -0,0 +1,28 @@ +// Generated automatically from com.google.common.collect.LinkedListMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Multimap; +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +public class LinkedListMultimap extends AbstractMultimap implements ListMultimap, Serializable +{ + public List> entries(){ return null; } + public List get(K p0){ return null; } + public List removeAll(Object p0){ return null; } + public List replaceValues(K p0, Iterable p1){ return null; } + public List values(){ return null; } + public boolean containsKey(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public boolean put(K p0, V p1){ return false; } + public int size(){ return 0; } + public static LinkedListMultimap create(){ return null; } + public static LinkedListMultimap create(Multimap p0){ return null; } + public static LinkedListMultimap create(int p0){ return null; } + public void clear(){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ListMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ListMultimap.java new file mode 100644 index 00000000000..da8c80f8bae --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ListMultimap.java @@ -0,0 +1,17 @@ +// Generated automatically from com.google.common.collect.ListMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.Multimap; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +public interface ListMultimap extends Multimap +{ + List get(K p0); + List removeAll(Object p0); + List replaceValues(K p0, Iterable p1); + Map> asMap(); + boolean equals(Object p0); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Lists.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Lists.java new file mode 100644 index 00000000000..6be1146dbef --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Lists.java @@ -0,0 +1,35 @@ +// Generated automatically from com.google.common.collect.Lists for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + +public class Lists +{ + protected Lists() {} + public static List> cartesianProduct(List... p0){ return null; } + public static List> cartesianProduct(List> p0){ return null; } + public static ArrayList newArrayList(){ return null; } + public static ArrayList newArrayList(E... p0){ return null; } + public static ArrayList newArrayList(Iterable p0){ return null; } + public static ArrayList newArrayList(Iterator p0){ return null; } + public static ArrayList newArrayListWithCapacity(int p0){ return null; } + public static ArrayList newArrayListWithExpectedSize(int p0){ return null; } + public static CopyOnWriteArrayList newCopyOnWriteArrayList(){ return null; } + public static CopyOnWriteArrayList newCopyOnWriteArrayList(Iterable p0){ return null; } + public static LinkedList newLinkedList(){ return null; } + public static LinkedList newLinkedList(Iterable p0){ return null; } + public static List asList(E p0, E p1, E[] p2){ return null; } + public static List asList(E p0, E[] p1){ return null; } + public static List transform(List p0, Function p1){ return null; } + public static List> partition(List p0, int p1){ return null; } + public static List reverse(List p0){ return null; } + public static ImmutableList charactersOf(String p0){ return null; } + public static List charactersOf(CharSequence p0){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/MapDifference.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/MapDifference.java new file mode 100644 index 00000000000..b1a2efcf548 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/MapDifference.java @@ -0,0 +1,23 @@ +// Generated automatically from com.google.common.collect.MapDifference for testing purposes + +package com.google.common.collect; + +import java.util.Map; + +public interface MapDifference +{ + Map> entriesDiffering(); + Map entriesInCommon(); + Map entriesOnlyOnLeft(); + Map entriesOnlyOnRight(); + boolean areEqual(); + boolean equals(Object p0); + int hashCode(); + static public interface ValueDifference + { + V leftValue(); + V rightValue(); + boolean equals(Object p0); + int hashCode(); + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Maps.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Maps.java new file mode 100644 index 00000000000..34779f28de0 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Maps.java @@ -0,0 +1,96 @@ +// Generated automatically from com.google.common.collect.Maps for testing purposes, and adjusted manually + +package com.google.common.collect; + +import com.google.common.base.Converter; +import com.google.common.base.Equivalence; +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.BiMap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.MapDifference; +import com.google.common.collect.Range; +import com.google.common.collect.SortedMapDifference; +import java.util.AbstractMap; +import java.util.Comparator; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.NavigableMap; +import java.util.NavigableSet; +import java.util.Properties; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.concurrent.ConcurrentMap; +import java.util.function.BinaryOperator; +import java.util.stream.Collector; + +public class Maps +{ + protected Maps() {} + abstract static class IteratorBasedAbstractMap extends AbstractMap { + public Set> entrySet(){ return null; } + public void clear(){} + } + public static Converter asConverter(BiMap p0){ return null; } + public static TreeMap newTreeMap(Comparator p0){ return null; } + public static TreeMap newTreeMap(){ return null; } + public static , V> NavigableMap subMap(NavigableMap p0, Range p1){ return null; } + public static , V> EnumMap newEnumMap(Class p0){ return null; } + public static , V> EnumMap newEnumMap(Map p0){ return null; } + public static , V> ImmutableMap immutableEnumMap(Map p0){ return null; } + public static Map transformEntries(Map p0, Maps.EntryTransformer p1){ return null; } + public static Map transformValues(Map p0, Function p1){ return null; } + public static NavigableMap transformEntries(NavigableMap p0, Maps.EntryTransformer p1){ return null; } + public static NavigableMap transformValues(NavigableMap p0, Function p1){ return null; } + public static SortedMap transformEntries(SortedMap p0, Maps.EntryTransformer p1){ return null; } + public static SortedMap transformValues(SortedMap p0, Function p1){ return null; } + public static BiMap filterEntries(BiMap p0, Predicate> p1){ return null; } + public static BiMap filterKeys(BiMap p0, Predicate p1){ return null; } + public static BiMap filterValues(BiMap p0, Predicate p1){ return null; } + public static BiMap synchronizedBiMap(BiMap p0){ return null; } + public static BiMap unmodifiableBiMap(BiMap p0){ return null; } + public static ConcurrentMap newConcurrentMap(){ return null; } + public static HashMap newHashMap(){ return null; } + public static HashMap newHashMap(Map p0){ return null; } + public static HashMap newHashMapWithExpectedSize(int p0){ return null; } + public static IdentityHashMap newIdentityHashMap(){ return null; } + public static ImmutableMap toMap(Iterable p0, Function p1){ return null; } + public static ImmutableMap toMap(Iterator p0, Function p1){ return null; } + public static ImmutableMap uniqueIndex(Iterable p0, Function p1){ return null; } + public static ImmutableMap uniqueIndex(Iterator p0, Function p1){ return null; } + public static LinkedHashMap newLinkedHashMap(){ return null; } + public static LinkedHashMap newLinkedHashMap(Map p0){ return null; } + public static LinkedHashMap newLinkedHashMapWithExpectedSize(int p0){ return null; } + public static Map.Entry immutableEntry(K p0, V p1){ return null; } + public static Map asMap(Set p0, Function p1){ return null; } + public static Map filterEntries(Map p0, Predicate> p1){ return null; } + public static Map filterKeys(Map p0, Predicate p1){ return null; } + public static Map filterValues(Map p0, Predicate p1){ return null; } + public static MapDifference difference(Map p0, Map p1){ return null; } + public static MapDifference difference(Map p0, Map p1, Equivalence p2){ return null; } + public static NavigableMap asMap(NavigableSet p0, Function p1){ return null; } + public static NavigableMap filterEntries(NavigableMap p0, Predicate> p1){ return null; } + public static NavigableMap filterKeys(NavigableMap p0, Predicate p1){ return null; } + public static NavigableMap filterValues(NavigableMap p0, Predicate p1){ return null; } + public static NavigableMap synchronizedNavigableMap(NavigableMap p0){ return null; } + public static NavigableMap unmodifiableNavigableMap(NavigableMap p0){ return null; } + public static SortedMap asMap(SortedSet p0, Function p1){ return null; } + public static SortedMap filterEntries(SortedMap p0, Predicate> p1){ return null; } + public static SortedMap filterKeys(SortedMap p0, Predicate p1){ return null; } + public static SortedMap filterValues(SortedMap p0, Predicate p1){ return null; } + public static SortedMapDifference difference(SortedMap p0, Map p1){ return null; } + public static TreeMap newTreeMap(SortedMap p0){ return null; } + public static , V> Collector> toImmutableEnumMap(Function p0, Function p1){ return null; } + public static , V> Collector> toImmutableEnumMap(Function p0, Function p1, BinaryOperator p2){ return null; } + public static ImmutableMap fromProperties(Properties p0){ return null; } + static public interface EntryTransformer + { + V2 transformEntry(K p0, V1 p1); + } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multimaps.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multimaps.java new file mode 100644 index 00000000000..eef38c9636c --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multimaps.java @@ -0,0 +1,64 @@ +// Generated automatically from com.google.common.collect.Multimaps for testing purposes, and adjusted manually + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.base.Supplier; +import com.google.common.collect.ImmutableListMultimap; +import com.google.common.collect.ImmutableMultimap; +import com.google.common.collect.ImmutableSetMultimap; +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; +import com.google.common.collect.SetMultimap; +import com.google.common.collect.SortedSetMultimap; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.stream.Collector; +import java.util.stream.Stream; + +public class Multimaps +{ + protected Multimaps() {} + public static > M invertFrom(Multimap p0, M p1){ return null; } + public static ListMultimap transformEntries(ListMultimap p0, Maps.EntryTransformer p1){ return null; } + public static ListMultimap transformValues(ListMultimap p0, Function p1){ return null; } + public static Multimap transformEntries(Multimap p0, Maps.EntryTransformer p1){ return null; } + public static Multimap transformValues(Multimap p0, Function p1){ return null; } + public static ImmutableListMultimap index(Iterable p0, Function p1){ return null; } + public static ImmutableListMultimap index(Iterator p0, Function p1){ return null; } + public static ListMultimap filterKeys(ListMultimap p0, Predicate p1){ return null; } + public static ListMultimap newListMultimap(Map> p0, Supplier> p1){ return null; } + public static ListMultimap synchronizedListMultimap(ListMultimap p0){ return null; } + public static ListMultimap unmodifiableListMultimap(ImmutableListMultimap p0){ return null; } + public static ListMultimap unmodifiableListMultimap(ListMultimap p0){ return null; } + public static Map> asMap(Multimap p0){ return null; } + public static Map> asMap(ListMultimap p0){ return null; } + public static Map> asMap(SetMultimap p0){ return null; } + public static Map> asMap(SortedSetMultimap p0){ return null; } + public static Multimap filterEntries(Multimap p0, Predicate> p1){ return null; } + public static Multimap filterKeys(Multimap p0, Predicate p1){ return null; } + public static Multimap filterValues(Multimap p0, Predicate p1){ return null; } + public static Multimap newMultimap(Map> p0, Supplier> p1){ return null; } + public static Multimap synchronizedMultimap(Multimap p0){ return null; } + public static Multimap unmodifiableMultimap(ImmutableMultimap p0){ return null; } + public static Multimap unmodifiableMultimap(Multimap p0){ return null; } + public static SetMultimap filterEntries(SetMultimap p0, Predicate> p1){ return null; } + public static SetMultimap filterKeys(SetMultimap p0, Predicate p1){ return null; } + public static SetMultimap filterValues(SetMultimap p0, Predicate p1){ return null; } + public static SetMultimap forMap(Map p0){ return null; } + public static SetMultimap newSetMultimap(Map> p0, Supplier> p1){ return null; } + public static SetMultimap synchronizedSetMultimap(SetMultimap p0){ return null; } + public static SetMultimap unmodifiableSetMultimap(ImmutableSetMultimap p0){ return null; } + public static SetMultimap unmodifiableSetMultimap(SetMultimap p0){ return null; } + public static SortedSetMultimap newSortedSetMultimap(Map> p0, Supplier> p1){ return null; } + public static SortedSetMultimap synchronizedSortedSetMultimap(SortedSetMultimap p0){ return null; } + public static SortedSetMultimap unmodifiableSortedSetMultimap(SortedSetMultimap p0){ return null; } + public static > Collector flatteningToMultimap(Function p0, Function> p1, Supplier p2){ return null; } + public static > Collector toMultimap(Function p0, Function p1, Supplier p2){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multisets.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multisets.java new file mode 100644 index 00000000000..13c58b5d703 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Multisets.java @@ -0,0 +1,32 @@ +// Generated automatically from com.google.common.collect.Multisets for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableMultiset; +import com.google.common.collect.Multiset; +import com.google.common.collect.SortedMultiset; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.function.ToIntFunction; +import java.util.stream.Collector; + +public class Multisets +{ + protected Multisets() {} + public static ImmutableMultiset copyHighestCountFirst(Multiset p0){ return null; } + public static Multiset.Entry immutableEntry(E p0, int p1){ return null; } + public static Multiset difference(Multiset p0, Multiset p1){ return null; } + public static Multiset filter(Multiset p0, Predicate p1){ return null; } + public static Multiset intersection(Multiset p0, Multiset p1){ return null; } + public static Multiset sum(Multiset p0, Multiset p1){ return null; } + public static Multiset union(Multiset p0, Multiset p1){ return null; } + public static Multiset unmodifiableMultiset(ImmutableMultiset p0){ return null; } + public static Multiset unmodifiableMultiset(Multiset p0){ return null; } + public static SortedMultiset unmodifiableSortedMultiset(SortedMultiset p0){ return null; } + public static > Collector toMultiset(Function p0, ToIntFunction p1, Supplier p2){ return null; } + public static boolean containsOccurrences(Multiset p0, Multiset p1){ return false; } + public static boolean removeOccurrences(Multiset p0, Iterable p1){ return false; } + public static boolean removeOccurrences(Multiset p0, Multiset p1){ return false; } + public static boolean retainOccurrences(Multiset p0, Multiset p1){ return false; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/MutableClassToInstanceMap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/MutableClassToInstanceMap.java new file mode 100644 index 00000000000..02c7f11227f --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/MutableClassToInstanceMap.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.MutableClassToInstanceMap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ClassToInstanceMap; +import com.google.common.collect.ForwardingMap; +import java.io.Serializable; +import java.util.Map; +import java.util.Set; + +public class MutableClassToInstanceMap extends ForwardingMap, B> implements ClassToInstanceMap, Serializable +{ + protected MutableClassToInstanceMap() {} + protected Map, B> delegate(){ return null; } + public T getInstance(Class p0){ return null; } + public T putInstance(Class p0, T p1){ return null; } + public B put(Class p0, B p1){ return null; } + public Set, B>> entrySet(){ return null; } + public static MutableClassToInstanceMap create(){ return null; } + public static MutableClassToInstanceMap create(Map, B> p0){ return null; } + public void putAll(Map, ? extends B> p0){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/ObjectArrays.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ObjectArrays.java new file mode 100644 index 00000000000..5999b1ba04e --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/ObjectArrays.java @@ -0,0 +1,14 @@ +// Generated automatically from com.google.common.collect.ObjectArrays for testing purposes + +package com.google.common.collect; + + +public class ObjectArrays +{ + protected ObjectArrays() {} + public static T[] concat(T p0, T[] p1){ return null; } + public static T[] concat(T[] p0, T p1){ return null; } + public static T[] concat(T[] p0, T[] p1, Class p2){ return null; } + public static T[] newArray(Class p0, int p1){ return null; } + public static T[] newArray(T[] p0, int p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Ordering.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Ordering.java new file mode 100644 index 00000000000..a6114bdea3e --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Ordering.java @@ -0,0 +1,51 @@ +// Generated automatically from com.google.common.collect.Ordering for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.collect.ImmutableList; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +abstract public class Ordering implements Comparator +{ + Ordering> onKeys(){ return null; } + protected Ordering(){} + public E max(E p0, E p1){ return null; } + public E max(E p0, E p1, E p2, E... p3){ return null; } + public E max(Iterable p0){ return null; } + public E max(Iterator p0){ return null; } + public E min(E p0, E p1){ return null; } + public E min(E p0, E p1, E p2, E... p3){ return null; } + public E min(Iterable p0){ return null; } + public E min(Iterator p0){ return null; } + public ImmutableList immutableSortedCopy(Iterable p0){ return null; } + public List greatestOf(Iterable p0, int p1){ return null; } + public List greatestOf(Iterator p0, int p1){ return null; } + public List leastOf(Iterable p0, int p1){ return null; } + public List leastOf(Iterator p0, int p1){ return null; } + public List sortedCopy(Iterable p0){ return null; } + public Ordering onResultOf(Function p0){ return null; } + public Ordering> lexicographical(){ return null; } + public Ordering nullsFirst(){ return null; } + public Ordering nullsLast(){ return null; } + public Ordering reverse(){ return null; } + public Ordering compound(Comparator p0){ return null; } + public abstract int compare(T p0, T p1); + public boolean isOrdered(Iterable p0){ return false; } + public boolean isStrictlyOrdered(Iterable p0){ return false; } + public int binarySearch(List p0, T p1){ return 0; } + public static Ordering natural(){ return null; } + public static Ordering compound(Iterable> p0){ return null; } + public static Ordering explicit(List p0){ return null; } + public static Ordering explicit(T p0, T... p1){ return null; } + public static Ordering from(Comparator p0){ return null; } + public static Ordering from(Ordering p0){ return null; } + public static Ordering allEqual(){ return null; } + public static Ordering arbitrary(){ return null; } + public static Ordering usingToString(){ return null; } + static int LEFT_IS_GREATER = 0; + static int RIGHT_IS_GREATER = 0; +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/PeekingIterator.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/PeekingIterator.java new file mode 100644 index 00000000000..f84b92e41f6 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/PeekingIterator.java @@ -0,0 +1,12 @@ +// Generated automatically from com.google.common.collect.PeekingIterator for testing purposes + +package com.google.common.collect; + +import java.util.Iterator; + +public interface PeekingIterator extends Iterator +{ + E next(); + E peek(); + void remove(); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Queues.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Queues.java new file mode 100644 index 00000000000..981720063fa --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Queues.java @@ -0,0 +1,45 @@ +// Generated automatically from com.google.common.collect.Queues for testing purposes + +package com.google.common.collect; + +import java.time.Duration; +import java.util.ArrayDeque; +import java.util.Collection; +import java.util.Deque; +import java.util.PriorityQueue; +import java.util.Queue; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.PriorityBlockingQueue; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.TimeUnit; + +public class Queues +{ + protected Queues() {} + public static PriorityBlockingQueue newPriorityBlockingQueue(){ return null; } + public static PriorityBlockingQueue newPriorityBlockingQueue(Iterable p0){ return null; } + public static PriorityQueue newPriorityQueue(){ return null; } + public static PriorityQueue newPriorityQueue(Iterable p0){ return null; } + public static ArrayBlockingQueue newArrayBlockingQueue(int p0){ return null; } + public static ArrayDeque newArrayDeque(){ return null; } + public static ArrayDeque newArrayDeque(Iterable p0){ return null; } + public static ConcurrentLinkedQueue newConcurrentLinkedQueue(){ return null; } + public static ConcurrentLinkedQueue newConcurrentLinkedQueue(Iterable p0){ return null; } + public static Deque synchronizedDeque(Deque p0){ return null; } + public static LinkedBlockingDeque newLinkedBlockingDeque(){ return null; } + public static LinkedBlockingDeque newLinkedBlockingDeque(Iterable p0){ return null; } + public static LinkedBlockingDeque newLinkedBlockingDeque(int p0){ return null; } + public static LinkedBlockingQueue newLinkedBlockingQueue(){ return null; } + public static LinkedBlockingQueue newLinkedBlockingQueue(Iterable p0){ return null; } + public static LinkedBlockingQueue newLinkedBlockingQueue(int p0){ return null; } + public static Queue synchronizedQueue(Queue p0){ return null; } + public static SynchronousQueue newSynchronousQueue(){ return null; } + public static int drain(BlockingQueue p0, Collection p1, int p2, Duration p3){ return 0; } + public static int drain(BlockingQueue p0, Collection p1, int p2, long p3, TimeUnit p4){ return 0; } + public static int drainUninterruptibly(BlockingQueue p0, Collection p1, int p2, Duration p3){ return 0; } + public static int drainUninterruptibly(BlockingQueue p0, Collection p1, int p2, long p3, TimeUnit p4){ return 0; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Range.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Range.java new file mode 100644 index 00000000000..15cfc94fc3d --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Range.java @@ -0,0 +1,47 @@ +// Generated automatically from com.google.common.collect.Range for testing purposes + +package com.google.common.collect; + +import com.google.common.base.Predicate; +import com.google.common.collect.BoundType; +import com.google.common.collect.DiscreteDomain; +import com.google.common.collect.RangeGwtSerializationDependencies; +import java.io.Serializable; + +public class Range extends RangeGwtSerializationDependencies implements Predicate, Serializable +{ + protected Range() {} + public BoundType lowerBoundType(){ return null; } + public BoundType upperBoundType(){ return null; } + public C lowerEndpoint(){ return null; } + public C upperEndpoint(){ return null; } + public Range canonical(DiscreteDomain p0){ return null; } + public Range gap(Range p0){ return null; } + public Range intersection(Range p0){ return null; } + public Range span(Range p0){ return null; } + public String toString(){ return null; } + public boolean apply(C p0){ return false; } + public boolean contains(C p0){ return false; } + public boolean containsAll(Iterable p0){ return false; } + public boolean encloses(Range p0){ return false; } + public boolean equals(Object p0){ return false; } + public boolean hasLowerBound(){ return false; } + public boolean hasUpperBound(){ return false; } + public boolean isConnected(Range p0){ return false; } + public boolean isEmpty(){ return false; } + public int hashCode(){ return 0; } + public static > Range all(){ return null; } + public static > Range atLeast(C p0){ return null; } + public static > Range atMost(C p0){ return null; } + public static > Range closed(C p0, C p1){ return null; } + public static > Range closedOpen(C p0, C p1){ return null; } + public static > Range downTo(C p0, BoundType p1){ return null; } + public static > Range encloseAll(Iterable p0){ return null; } + public static > Range greaterThan(C p0){ return null; } + public static > Range lessThan(C p0){ return null; } + public static > Range open(C p0, C p1){ return null; } + public static > Range openClosed(C p0, C p1){ return null; } + public static > Range range(C p0, BoundType p1, C p2, BoundType p3){ return null; } + public static > Range singleton(C p0){ return null; } + public static > Range upTo(C p0, BoundType p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/RangeGwtSerializationDependencies.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RangeGwtSerializationDependencies.java new file mode 100644 index 00000000000..007eac594c6 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RangeGwtSerializationDependencies.java @@ -0,0 +1,9 @@ +// Generated automatically from com.google.common.collect.RangeGwtSerializationDependencies for testing purposes + +package com.google.common.collect; + +import java.io.Serializable; + +abstract class RangeGwtSerializationDependencies implements Serializable +{ +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/RegularImmutableSortedSet.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RegularImmutableSortedSet.java new file mode 100644 index 00000000000..5bf53b0b23d --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RegularImmutableSortedSet.java @@ -0,0 +1,47 @@ +// Generated automatically from com.google.common.collect.RegularImmutableSortedSet for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSortedSet; +import com.google.common.collect.UnmodifiableIterator; +import java.util.Collection; +import java.util.Comparator; +import java.util.Spliterator; +import java.util.function.Consumer; + +class RegularImmutableSortedSet extends ImmutableSortedSet +{ + protected RegularImmutableSortedSet() {} + Comparator unsafeComparator(){ return null; } + ImmutableList createAsList(){ return null; } + ImmutableSortedSet createDescendingSet(){ return null; } + ImmutableSortedSet headSetImpl(E p0, boolean p1){ return null; } + ImmutableSortedSet subSetImpl(E p0, boolean p1, E p2, boolean p3){ return null; } + ImmutableSortedSet tailSetImpl(E p0, boolean p1){ return null; } + Object[] internalArray(){ return null; } + RegularImmutableSortedSet(ImmutableList p0, Comparator p1){} + RegularImmutableSortedSet getSubSet(int p0, int p1){ return null; } + boolean isPartialView(){ return false; } + int copyIntoArray(Object[] p0, int p1){ return 0; } + int headIndex(E p0, boolean p1){ return 0; } + int indexOf(Object p0){ return 0; } + int internalArrayEnd(){ return 0; } + int internalArrayStart(){ return 0; } + int tailIndex(E p0, boolean p1){ return 0; } + public E ceiling(E p0){ return null; } + public E first(){ return null; } + public E floor(E p0){ return null; } + public E higher(E p0){ return null; } + public E last(){ return null; } + public E lower(E p0){ return null; } + public Spliterator spliterator(){ return null; } + public UnmodifiableIterator descendingIterator(){ return null; } + public UnmodifiableIterator iterator(){ return null; } + public boolean contains(Object p0){ return false; } + public boolean containsAll(Collection p0){ return false; } + public boolean equals(Object p0){ return false; } + public int size(){ return 0; } + public void forEach(Consumer p0){} + static RegularImmutableSortedSet NATURAL_EMPTY_SET = null; +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/RowSortedTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RowSortedTable.java new file mode 100644 index 00000000000..b4a1b74f25a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/RowSortedTable.java @@ -0,0 +1,14 @@ +// Generated automatically from com.google.common.collect.RowSortedTable for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.Table; +import java.util.Map; +import java.util.SortedMap; +import java.util.SortedSet; + +public interface RowSortedTable extends Table +{ + SortedMap> rowMap(); + SortedSet rowKeySet(); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Sets.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Sets.java index 77d3812f082..4e77f5d3a3c 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Sets.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Sets.java @@ -1,93 +1,79 @@ -/* - * Copyright (C) 2007 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Generated automatically from com.google.common.collect.Sets for testing purposes, and adjusted manually package com.google.common.collect; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Range; +import com.google.common.collect.UnmodifiableIterator; import java.util.AbstractSet; import java.util.Collection; +import java.util.Comparator; +import java.util.EnumSet; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.NavigableSet; -import java.util.NoSuchElementException; import java.util.Set; -import java.util.function.Predicate; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.stream.Collector; -public final class Sets { - private Sets() {} - - public static HashSet newHashSet() { - return null; - } - - public static HashSet newHashSet(E... elements) { - return null; - } - - public static HashSet newHashSet(Iterable elements) { - return null; - } - public abstract static class SetView extends AbstractSet { - private SetView() {} - } - - public static SetView union(final Set set1, final Set set2) { - return null; - } - - public static SetView intersection(final Set set1, final Set set2) { - return null; - } - - public static SetView difference(final Set set1, final Set set2) { - return null; - } - - public static SetView symmetricDifference( - final Set set1, final Set set2) { - return null; - } - - public static Set filter(Set unfiltered, Predicate predicate) { - return null; - } - - - public static Set> cartesianProduct(List> sets) { - return null; - } - - public static Set> cartesianProduct(Set... sets) { - return null; - } - - public static Set> powerSet(Set set) { - return null; - } - - public static Set> combinations(Set set, final int size) { - return null; - } - - public static NavigableSet synchronizedNavigableSet(NavigableSet navigableSet) { - return null; - } - - public static > NavigableSet subSet( - NavigableSet set, Object range) { - return null; - } +public class Sets +{ + protected Sets() {} + abstract static public class SetView extends AbstractSet + { + protected SetView() {} + public > S copyInto(S p0){ return null; } + public ImmutableSet immutableCopy(){ return null; } + public abstract UnmodifiableIterator iterator(); + public final boolean add(E p0){ return false; } + public final boolean addAll(Collection p0){ return false; } + public final boolean remove(Object p0){ return false; } + public final boolean removeAll(Collection p0){ return false; } + public final boolean removeIf(Predicate p0){ return false; } + public final boolean retainAll(Collection p0){ return false; } + public final void clear(){} + } + public static Set> cartesianProduct(List> p0){ return null; } + public static Set> cartesianProduct(Set... p0){ return null; } + public static TreeSet newTreeSet(){ return null; } + public static TreeSet newTreeSet(Iterable p0){ return null; } + public static > Collector> toImmutableEnumSet(){ return null; } + public static > EnumSet complementOf(Collection p0){ return null; } + public static > EnumSet complementOf(Collection p0, Class p1){ return null; } + public static > EnumSet newEnumSet(Iterable p0, Class p1){ return null; } + public static > ImmutableSet immutableEnumSet(E p0, E... p1){ return null; } + public static > ImmutableSet immutableEnumSet(Iterable p0){ return null; } + public static CopyOnWriteArraySet newCopyOnWriteArraySet(){ return null; } + public static CopyOnWriteArraySet newCopyOnWriteArraySet(Iterable p0){ return null; } + public static HashSet newHashSet(){ return null; } + public static HashSet newHashSet(E... p0){ return null; } + public static HashSet newHashSet(Iterable p0){ return null; } + public static HashSet newHashSet(Iterator p0){ return null; } + public static HashSet newHashSetWithExpectedSize(int p0){ return null; } + public static LinkedHashSet newLinkedHashSet(){ return null; } + public static LinkedHashSet newLinkedHashSet(Iterable p0){ return null; } + public static LinkedHashSet newLinkedHashSetWithExpectedSize(int p0){ return null; } + public static NavigableSet filter(NavigableSet p0, Predicate p1){ return null; } + public static NavigableSet synchronizedNavigableSet(NavigableSet p0){ return null; } + public static NavigableSet unmodifiableNavigableSet(NavigableSet p0){ return null; } + public static Set filter(Set p0, Predicate p1){ return null; } + public static Set newConcurrentHashSet(){ return null; } + public static Set newConcurrentHashSet(Iterable p0){ return null; } + public static Set newIdentityHashSet(){ return null; } + public static Set newSetFromMap(Map p0){ return null; } + public static Set> combinations(Set p0, int p1){ return null; } + public static Set> powerSet(Set p0){ return null; } + public static Sets.SetView difference(Set p0, Set p1){ return null; } + public static Sets.SetView intersection(Set p0, Set p1){ return null; } + public static Sets.SetView symmetricDifference(Set p0, Set p1){ return null; } + public static Sets.SetView union(Set p0, Set p1){ return null; } + public static SortedSet filter(SortedSet p0, Predicate p1){ return null; } + public static TreeSet newTreeSet(Comparator p0){ return null; } + public static > NavigableSet subSet(NavigableSet p0, Range p1){ return null; } } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedIterable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedIterable.java new file mode 100644 index 00000000000..41631eb4a3a --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedIterable.java @@ -0,0 +1,12 @@ +// Generated automatically from com.google.common.collect.SortedIterable for testing purposes + +package com.google.common.collect; + +import java.util.Comparator; +import java.util.Iterator; + +interface SortedIterable extends Iterable +{ + Comparator comparator(); + Iterator iterator(); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMapDifference.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMapDifference.java new file mode 100644 index 00000000000..c511f16d166 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMapDifference.java @@ -0,0 +1,14 @@ +// Generated automatically from com.google.common.collect.SortedMapDifference for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.MapDifference; +import java.util.SortedMap; + +public interface SortedMapDifference extends MapDifference +{ + SortedMap> entriesDiffering(); + SortedMap entriesInCommon(); + SortedMap entriesOnlyOnLeft(); + SortedMap entriesOnlyOnRight(); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultiset.java new file mode 100644 index 00000000000..33e26b12e56 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultiset.java @@ -0,0 +1,28 @@ +// Generated automatically from com.google.common.collect.SortedMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.BoundType; +import com.google.common.collect.Multiset; +import com.google.common.collect.SortedIterable; +import com.google.common.collect.SortedMultisetBridge; +import java.util.Comparator; +import java.util.Iterator; +import java.util.NavigableSet; +import java.util.Set; + +public interface SortedMultiset extends SortedIterable, SortedMultisetBridge +{ + Comparator comparator(); + Iterator iterator(); + Multiset.Entry firstEntry(); + Multiset.Entry lastEntry(); + Multiset.Entry pollFirstEntry(); + Multiset.Entry pollLastEntry(); + NavigableSet elementSet(); + Set> entrySet(); + SortedMultiset descendingMultiset(); + SortedMultiset headMultiset(E p0, BoundType p1); + SortedMultiset subMultiset(E p0, BoundType p1, E p2, BoundType p3); + SortedMultiset tailMultiset(E p0, BoundType p1); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultisetBridge.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultisetBridge.java new file mode 100644 index 00000000000..d61d1b242b9 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedMultisetBridge.java @@ -0,0 +1,11 @@ +// Generated automatically from com.google.common.collect.SortedMultisetBridge for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.Multiset; +import java.util.SortedSet; + +interface SortedMultisetBridge extends Multiset +{ + SortedSet elementSet(); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedSetMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedSetMultimap.java new file mode 100644 index 00000000000..c2da3b40d85 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/SortedSetMultimap.java @@ -0,0 +1,18 @@ +// Generated automatically from com.google.common.collect.SortedSetMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.SetMultimap; +import java.util.Collection; +import java.util.Comparator; +import java.util.Map; +import java.util.SortedSet; + +public interface SortedSetMultimap extends SetMultimap +{ + Comparator valueComparator(); + Map> asMap(); + SortedSet get(K p0); + SortedSet removeAll(Object p0); + SortedSet replaceValues(K p0, Iterable p1); +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardRowSortedTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardRowSortedTable.java new file mode 100644 index 00000000000..6690519bddc --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardRowSortedTable.java @@ -0,0 +1,16 @@ +// Generated automatically from com.google.common.collect.StandardRowSortedTable for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.RowSortedTable; +import com.google.common.collect.StandardTable; +import java.util.Map; +import java.util.SortedMap; +import java.util.SortedSet; + +class StandardRowSortedTable extends StandardTable implements RowSortedTable +{ + protected StandardRowSortedTable() {} + public SortedMap> rowMap(){ return null; } + public SortedSet rowKeySet(){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardTable.java new file mode 100644 index 00000000000..68cc22b9469 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/StandardTable.java @@ -0,0 +1,33 @@ +// Generated automatically from com.google.common.collect.StandardTable for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractTable; +import com.google.common.collect.Table; +import java.io.Serializable; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +class StandardTable extends AbstractTable implements Serializable +{ + protected StandardTable() {} + public Collection values(){ return null; } + public Map> columnMap(){ return null; } + public Map row(R p0){ return null; } + public Map> rowMap(){ return null; } + public Map column(C p0){ return null; } + public Set columnKeySet(){ return null; } + public Set rowKeySet(){ return null; } + public Set> cellSet(){ return null; } + public V get(Object p0, Object p1){ return null; } + public V put(R p0, C p1, V p2){ return null; } + public V remove(Object p0, Object p1){ return null; } + public boolean contains(Object p0, Object p1){ return false; } + public boolean containsColumn(Object p0){ return false; } + public boolean containsRow(Object p0){ return false; } + public boolean containsValue(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public int size(){ return 0; } + public void clear(){} +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Table.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Table.java index d310bd99182..bd3192c8c9e 100644 --- a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Table.java +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Table.java @@ -1,18 +1,4 @@ -/* - * Copyright (C) 2008 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Generated automatically from com.google.common.collect.Table for testing purposes package com.google.common.collect; @@ -20,50 +6,35 @@ import java.util.Collection; import java.util.Map; import java.util.Set; -public interface Table { - boolean contains(Object rowKey, Object columnKey); - - boolean containsRow(Object rowKey); - - boolean containsColumn(Object columnKey); - - boolean containsValue(Object value); - - V get(Object rowKey, Object columnKey); - - boolean isEmpty(); - - int size(); - - void clear(); - - V put(R rowKey, C columnKey, V value); - - void putAll(Table table); - - V remove(Object rowKey, Object columnKey); - - Map row(R rowKey); - - Map column(C columnKey); - - Set> cellSet(); - - Set rowKeySet(); - - Set columnKeySet(); - - Collection values(); - - Map> rowMap(); - - Map> columnMap(); - - interface Cell { - R getRowKey(); - - C getColumnKey(); - - V getValue(); - } +public interface Table +{ + Collection values(); + Map> columnMap(); + Map row(R p0); + Map> rowMap(); + Map column(C p0); + Set columnKeySet(); + Set rowKeySet(); + Set> cellSet(); + V get(Object p0, Object p1); + V put(R p0, C p1, V p2); + V remove(Object p0, Object p1); + boolean contains(Object p0, Object p1); + boolean containsColumn(Object p0); + boolean containsRow(Object p0); + boolean containsValue(Object p0); + boolean equals(Object p0); + boolean isEmpty(); + int hashCode(); + int size(); + static public interface Cell + { + C getColumnKey(); + R getRowKey(); + V getValue(); + boolean equals(Object p0); + int hashCode(); + } + void clear(); + void putAll(Table p0); } diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/Tables.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Tables.java new file mode 100644 index 00000000000..9d5c157dca2 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/Tables.java @@ -0,0 +1,25 @@ +// Generated automatically from com.google.common.collect.Tables for testing purposes, and adjusted manually + +package com.google.common.collect; + +import com.google.common.base.Function; +import com.google.common.base.Supplier; +import com.google.common.collect.RowSortedTable; +import com.google.common.collect.Table; +import java.util.Map; +import java.util.function.BinaryOperator; +import java.util.stream.Collector; + +public class Tables +{ + protected Tables() {} + public static Table transformValues(Table p0, Function p1){ return null; } + public static RowSortedTable unmodifiableRowSortedTable(RowSortedTable p0){ return null; } + public static Table.Cell immutableCell(R p0, C p1, V p2){ return null; } + public static Table transpose(Table p0){ return null; } + public static Table newCustomTable(Map> p0, Supplier> p1){ return null; } + public static Table synchronizedTable(Table p0){ return null; } + public static Table unmodifiableTable(Table p0){ return null; } + public static > Collector toTable(Function p0, Function p1, Function p2, BinaryOperator p3, Supplier p4){ return null; } + public static > Collector toTable(Function p0, Function p1, Function p2, Supplier p3){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeBasedTable.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeBasedTable.java new file mode 100644 index 00000000000..030593c26c9 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeBasedTable.java @@ -0,0 +1,22 @@ +// Generated automatically from com.google.common.collect.TreeBasedTable for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.StandardRowSortedTable; +import java.util.Comparator; +import java.util.Map; +import java.util.SortedMap; +import java.util.SortedSet; + +public class TreeBasedTable extends StandardRowSortedTable +{ + protected TreeBasedTable() {} + public Comparator columnComparator(){ return null; } + public Comparator rowComparator(){ return null; } + public SortedMap row(R p0){ return null; } + public SortedMap> rowMap(){ return null; } + public SortedSet rowKeySet(){ return null; } + public static TreeBasedTable create(){ return null; } + public static TreeBasedTable create(Comparator p0, Comparator p1){ return null; } + public static TreeBasedTable create(TreeBasedTable p0){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultimap.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultimap.java new file mode 100644 index 00000000000..97e9c26c95f --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultimap.java @@ -0,0 +1,23 @@ +// Generated automatically from com.google.common.collect.TreeMultimap for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSortedKeySortedSetMultimap; +import com.google.common.collect.Multimap; +import java.util.Collection; +import java.util.Comparator; +import java.util.NavigableMap; +import java.util.NavigableSet; + +public class TreeMultimap extends AbstractSortedKeySortedSetMultimap +{ + protected TreeMultimap() {} + public Comparator keyComparator(){ return null; } + public Comparator valueComparator(){ return null; } + public NavigableMap> asMap(){ return null; } + public NavigableSet keySet(){ return null; } + public NavigableSet get(K p0){ return null; } + public static TreeMultimap create(){ return null; } + public static TreeMultimap create(Multimap p0){ return null; } + public static TreeMultimap create(Comparator p0, Comparator p1){ return null; } +} diff --git a/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultiset.java b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultiset.java new file mode 100644 index 00000000000..e76b3086159 --- /dev/null +++ b/java/ql/test/stubs/guava-30.0/com/google/common/collect/TreeMultiset.java @@ -0,0 +1,30 @@ +// Generated automatically from com.google.common.collect.TreeMultiset for testing purposes + +package com.google.common.collect; + +import com.google.common.collect.AbstractSortedMultiset; +import com.google.common.collect.BoundType; +import com.google.common.collect.SortedMultiset; +import java.io.Serializable; +import java.util.Comparator; +import java.util.Iterator; +import java.util.function.ObjIntConsumer; + +public class TreeMultiset extends AbstractSortedMultiset implements Serializable +{ + protected TreeMultiset() {} + public Iterator iterator(){ return null; } + public SortedMultiset headMultiset(E p0, BoundType p1){ return null; } + public SortedMultiset tailMultiset(E p0, BoundType p1){ return null; } + public boolean setCount(E p0, int p1, int p2){ return false; } + public int add(E p0, int p1){ return 0; } + public int count(Object p0){ return 0; } + public int remove(Object p0, int p1){ return 0; } + public int setCount(E p0, int p1){ return 0; } + public int size(){ return 0; } + public static TreeMultiset create(){ return null; } + public static TreeMultiset create(Iterable p0){ return null; } + public static TreeMultiset create(Comparator p0){ return null; } + public void clear(){} + public void forEachEntry(ObjIntConsumer p0){} +}