@@ -1873,5 +1873,166 @@ void foo() throws InterruptedException {
1873
1873
Collection out = null ;
1874
1874
Object [] in = storeArrayElement (source ()); ((Collections )null ).addAll (out ,in ); sink (readElement (out )); // $ hasValueFlow
1875
1875
}
1876
+ // Java 21 sequenced collections tests:
1877
+ {
1878
+ // ["java.util", "SequencedCollection", True, "addFirst", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1879
+ SequencedCollection out = null ;
1880
+ Object in = source (); out .addFirst (in ); sink (readElement (out )); // $ hasValueFlow
1881
+ }
1882
+ {
1883
+ // ["java.util", "SequencedCollection", True, "addLast", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1884
+ SequencedCollection out = null ;
1885
+ Object in = source (); out .addLast (in ); sink (readElement (out )); // $ hasValueFlow
1886
+ }
1887
+ {
1888
+ // ["java.util", "SequencedCollection", True, "getFirst", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1889
+ Object out = null ;
1890
+ SequencedCollection in = storeElementList (source ()); out = in .getFirst (); sink (out ); // $ hasValueFlow
1891
+ }
1892
+ {
1893
+ // ["java.util", "SequencedCollection", True, "getLast", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1894
+ Object out = null ;
1895
+ SequencedCollection in = storeElementList (source ()); out = in .getLast (); sink (out ); // $ hasValueFlow
1896
+ }
1897
+ {
1898
+ // ["java.util", "SequencedCollection", True, "removeFirst", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1899
+ Object out = null ;
1900
+ SequencedCollection in = storeElementList (source ()); out = in .removeFirst (); sink (out ); // $ hasValueFlow
1901
+ }
1902
+ {
1903
+ // ["java.util", "SequencedCollection", True, "removeLast", "", "", "Argument[0]", "Argument[this].Element", "value", "manual"]
1904
+ Object out = null ;
1905
+ SequencedCollection in = storeElementList (source ()); out = in .removeLast (); sink (out ); // $ hasValueFlow
1906
+ }
1907
+ {
1908
+ // ["java.util", "SequencedCollection", True, "reversed", "", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
1909
+ SequencedCollection out = null ;
1910
+ SequencedCollection in = storeElementList (source ()); out = in .reversed (); sink (readElement (out )); // $ hasValueFlow
1911
+ }
1912
+ {
1913
+ // ["java.util", "SequencedMap", True, "firstEntry", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
1914
+ Map .Entry out = null ;
1915
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .firstEntry (); sink (readMapKey (out )); // $ hasValueFlow
1916
+ }
1917
+ {
1918
+ // ["java.util", "SequencedMap", True, "lastEntry", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
1919
+ Map .Entry out = null ;
1920
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .lastEntry (); sink (readMapKey (out )); // $ hasValueFlow
1921
+ }
1922
+ {
1923
+ // - ["java.util", "SequencedMap", True, "pollFirstEntry", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
1924
+ Map .Entry out = null ;
1925
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .pollFirstEntry (); sink (readMapKey (out )); // $ hasValueFlow
1926
+ }
1927
+ {
1928
+ // ["java.util", "SequencedMap", True, "pollLastEntry", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
1929
+ Map .Entry out = null ;
1930
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .pollLastEntry (); sink (readMapKey (out )); // $ hasValueFlow
1931
+ }
1932
+ {
1933
+ // ["java.util", "SequencedMap", True, "putFirst", "", "", "Argument[this].MapValue", "ReturnValue", "value", "manual"]
1934
+ Object out = null ;
1935
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .putFirst (null , null ); sink (out ); // $ hasValueFlow
1936
+ }
1937
+ {
1938
+ // ["java.util", "SequencedMap", True, "putFirst", "", "", "Argument[0]", "Argument[this].MapKey", "value", "manual"]
1939
+ SequencedMap out = null ;
1940
+ Object in = source (); out .putFirst (in , null ); sink (readMapKey (out )); // $ hasValueFlow
1941
+ }
1942
+ {
1943
+ // ["java.util", "SequencedMap", True, "putLast", "", "", "Argument[this].MapValue", "ReturnValue", "value", "manual"]
1944
+ Object out = null ;
1945
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .putLast (null , null ); sink (out ); // $ hasValueFlow
1946
+ }
1947
+ {
1948
+ // ["java.util", "SequencedMap", True, "putLast", "", "", "Argument[0]", "Argument[this].MapKey", "value", "manual"]
1949
+ SequencedMap out = null ;
1950
+ Object in = source (); out .putLast (in , null ); sink (readMapKey (out )); // $ hasValueFlow
1951
+ }
1952
+ {
1953
+ // ["java.util", "SequencedMap", True, "reversed", "", "", "Argument[this].MapKey", "ReturnValue.MapKey", "value", "manual"]
1954
+ SequencedMap out = null ;
1955
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .reversed (); sink (readMapKey (out )); // $ hasValueFlow
1956
+ }
1957
+ {
1958
+ // ["java.util", "SequencedMap", True, "sequencedEntrySet", "", "", "Argument[this].MapKey", "ReturnValue.Element.MapKey", "value", "manual"]
1959
+ Set <Map .Entry > out = null ;
1960
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .sequencedEntrySet (); sink (readMapKey (readElement (out ))); // $ hasValueFlow
1961
+ }
1962
+ {
1963
+ // ["java.util", "SequencedMap", True, "firstEntry", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
1964
+ Map .Entry out = null ;
1965
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .firstEntry (); sink (readMapValue (out )); // $ hasValueFlow
1966
+ }
1967
+ {
1968
+ // ["java.util", "SequencedMap", True, "lastEntry", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
1969
+ Map .Entry out = null ;
1970
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .lastEntry (); sink (readMapValue (out )); // $ hasValueFlow
1971
+ }
1972
+ {
1973
+ // - ["java.util", "SequencedMap", True, "pollFirstEntry", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
1974
+ Map .Entry out = null ;
1975
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .pollFirstEntry (); sink (readMapValue (out )); // $ hasValueFlow
1976
+ }
1977
+ {
1978
+ // ["java.util", "SequencedMap", True, "pollLastEntry", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
1979
+ Map .Entry out = null ;
1980
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .pollLastEntry (); sink (readMapValue (out )); // $ hasValueFlow
1981
+ }
1982
+ {
1983
+ // ["java.util", "SequencedMap", True, "putFirst", "", "", "Argument[0]", "Argument[this].MapValue", "value", "manual"]
1984
+ SequencedMap out = null ;
1985
+ Object in = source (); out .putFirst (null , in ); sink (readMapValue (out )); // $ hasValueFlow
1986
+ }
1987
+ {
1988
+ // ["java.util", "SequencedMap", True, "putLast", "", "", "Argument[0]", "Argument[this].MapValue", "value", "manual"]
1989
+ SequencedMap out = null ;
1990
+ Object in = source (); out .putLast (null , in ); sink (readMapValue (out )); // $ hasValueFlow
1991
+ }
1992
+ {
1993
+ // ["java.util", "SequencedMap", True, "reversed", "", "", "Argument[this].MapValue", "ReturnValue.MapValue", "value", "manual"]
1994
+ SequencedMap out = null ;
1995
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .reversed (); sink (readMapValue (out )); // $ hasValueFlow
1996
+ }
1997
+ {
1998
+ // ["java.util", "SequencedMap", True, "sequencedEntrySet", "", "", "Argument[this].MapValue", "ReturnValue.Element.MapValue", "value", "manual"]
1999
+ Set <Map .Entry > out = null ;
2000
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .sequencedEntrySet (); sink (readMapValue (readElement (out ))); // $ hasValueFlow
2001
+ }
2002
+ {
2003
+ // ["java.util", "SequencedMap", True, "sequencedKeySet", "", "", "Argument[this].MapKey", "ReturnValue.Element", "value", "manual"]
2004
+ Set out = null ;
2005
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = in .sequencedKeySet (); sink (readElement (out )); // $ hasValueFlow
2006
+ }
2007
+ {
2008
+ // ["java.util", "SequencedMap", True, "sequencedValues", "", "", "Argument[this].MapValue", "ReturnValue.Element", "value", "manual"]
2009
+ SequencedCollection out = null ;
2010
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = in .sequencedValues (); sink (readElement (out )); // $ hasValueFlow
2011
+ }
2012
+ {
2013
+ // ["java.util", "SequencedSet", True, "reversed", "", "", "Argument[this].Element", "ReturnValue.Element", "value", "manual"]
2014
+ SequencedSet out = null ;
2015
+ SequencedSet in = storeElementNavSet (source ()); out = in .reversed (); sink (readElement (out )); // $ hasValueFlow
2016
+ }
2017
+ {
2018
+ // ["java.util", "Collections", False, "unmodifiableSequencedCollection", "", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"]
2019
+ SequencedCollection out = null ;
2020
+ SequencedCollection in = storeElementList (source ()); out = Collections .unmodifiableSequencedCollection (in ); sink (readElement (out )); // $ hasValueFlow
2021
+ }
2022
+ {
2023
+ // ["java.util", "Collections", False, "unmodifiableSequencedMap", "", "", "Argument[0].MapKey", "ReturnValue.MapKey", "value", "manual"]
2024
+ SequencedMap out = null ;
2025
+ SequencedMap in = (SequencedMap )storeMapKey (source ()); out = Collections .unmodifiableSequencedMap (in ); sink (readMapKey (out )); // $ hasValueFlow
2026
+ }
2027
+ {
2028
+ // ["java.util", "Collections", False, "unmodifiableSequencedMap", "", "", "Argument[0].MapValue", "ReturnValue.MapValue", "value", "manual"]
2029
+ SequencedMap out = null ;
2030
+ SequencedMap in = (SequencedMap )storeMapValue (source ()); out = Collections .unmodifiableSequencedMap (in ); sink (readMapValue (out )); // $ hasValueFlow
2031
+ }
2032
+ {
2033
+ // ["java.util", "Collections", False, "unmodifiableSequencedSet", "", "", "Argument[0].Element", "ReturnValue.Element", "value", "manual"]
2034
+ SequencedSet out = null ;
2035
+ SequencedSet in = storeElementNavSet (source ()); out = Collections .unmodifiableSequencedSet (in ); sink (readElement (out )); // $ hasValueFlow
2036
+ }
1876
2037
}
1877
2038
}
0 commit comments