Dec
JAN
Feb
06
2025
2026
2027
About this capture
T h e W a y b a c k M a c h i n e - h t t p : / / w e b . a r c h i v e . o r g / w e b / 2 0 2 6 0 1 0 6 0 9 3 1 3 0 / h t t p s : / / g i t h u b . c o m / g i t h u b / c o d e q l / p u l l / 6 6 8 4
S k i p t o c o n t e n t
N a v i g a t i o n M e n u
A p p e a r a n c e s e t t i n g s
P l a t f o r m
A I C O D E C R E A T I O N
G i t H u b C o p i l o t W r i t e b e t t e r c o d e w i t h A I
G i t H u b S p a r k B u i l d a n d d e p l o y i n t e l l i g e n t a p p s
G i t H u b M o d e l s M a n a g e a n d c o m p a r e p r o m p t s
M C P R e g i s t r y N e w I n t e g r a t e e x t e r n a l t o o l s
D E V E L O P E R W O R K F L O W S
A c t i o n s A u t o m a t e a n y w o r k f l o w
C o d e s p a c e s I n s t a n t d e v e n v i r o n m e n t s
I s s u e s P l a n a n d t r a c k w o r k
C o d e R e v i e w M a n a g e c o d e c h a n g e s
A P P L I C A T I O N S E C U R I T Y
G i t H u b A d v a n c e d S e c u r i t y F i n d a n d f i x v u l n e r a b i l i t i e s
C o d e s e c u r i t y S e c u r e y o u r c o d e a s y o u b u i l d
S e c r e t p r o t e c t i o n S t o p l e a k s b e f o r e t h e y s t a r t
E X P L O R E
● W h y G i t H u b
● D o c u m e n t a t i o n
● B l o g
● C h a n g e l o g
● M a r k e t p l a c e
V i e w a l l f e a t u r e s
S o l u t i o n s
B Y C O M P A N Y S I Z E
● E n t e r p r i s e s
● S m a l l a n d m e d i u m t e a m s
● S t a r t u p s
● N o n p r o f i t s
B Y U S E C A S E
● A p p M o d e r n i z a t i o n
● D e v S e c O p s
● D e v O p s
● C I / C D
● V i e w a l l u s e c a s e s
B Y I N D U S T R Y
● H e a l t h c a r e
● F i n a n c i a l s e r v i c e s
● M a n u f a c t u r i n g
● G o v e r n m e n t
● V i e w a l l i n d u s t r i e s
V i e w a l l s o l u t i o n s
R e s o u r c e s
E X P L O R E B Y T O P I C
● AI
● S o f t w a r e D e v e l o p m e n t
● D e v O p s
● S e c u r i t y
● V i e w a l l t o p i c s
E X P L O R E B Y T Y P E
● C u s t o m e r s t o r i e s
● E v e n t s & w e b i n a r s
● E b o o k s & r e p o r t s
● B u s i n e s s i n s i g h t s
● G i t H u b S k i l l s
S U P P O R T & S E R V I C E S
● D o c u m e n t a t i o n
● C u s t o m e r s u p p o r t
● C o m m u n i t y f o r u m
● T r u s t c e n t e r
● P a r t n e r s
O p e n S o u r c e
C O M M U N I T Y
G i t H u b S p o n s o r s F u n d o p e n s o u r c e d e v e l o p e r s
P R O G R A M S
● S e c u r i t y L a b
● M a i n t a i n e r C o m m u n i t y
● A c c e l e r a t o r
● A r c h i v e P r o g r a m
R E P O S I T O R I E S
● T o p i c s
● T r e n d i n g
● C o l l e c t i o n s
E n t e r p r i s e
E N T E R P R I S E S O L U T I O N S
E n t e r p r i s e p l a t f o r m A I - p o w e r e d d e v e l o p e r p l a t f o r m
A V A I L A B L E A D D - O N S
G i t H u b A d v a n c e d S e c u r i t y E n t e r p r i s e - g r a d e s e c u r i t y f e a t u r e s
C o p i l o t f o r B u s i n e s s E n t e r p r i s e - g r a d e A I f e a t u r e s
P r e m i u m S u p p o r t E n t e r p r i s e - g r a d e 2 4 / 7 s u p p o r t
● P r i c i n g
S e a r c h o r j u m p t o . . .
Clear
S e a r c h s y n t a x t i p s
P r o v i d e f e e d b a c k
Include my email address so I can be contacted
C a n c e l
S u b m i t f e e d b a c k
S a v e d s e a r c h e s
U s e s a v e d s e a r c h e s t o f i l t e r y o u r r e s u l t s m o r e q u i c k l y
Query
To see all available qualifiers, see our documentation .
C a n c e l
C r e a t e s a v e d s e a r c h
A p p e a r a n c e s e t t i n g s
Y o u s i g n e d i n w i t h a n o t h e r t a b o r w i n d o w . R e l o a d t o r e f r e s h y o u r s e s s i o n .
Y o u s i g n e d o u t i n a n o t h e r t a b o r w i n d o w . R e l o a d t o r e f r e s h y o u r s e s s i o n .
Y o u s w i t c h e d a c c o u n t s o n a n o t h e r t a b o r w i n d o w . R e l o a d t o r e f r e s h y o u r s e s s i o n .
D i s m i s s a l e r t
{ { m e s s a g e } }
g i t h u b
/
c o d e q l
P u b l i c
●
N o t i f i c a t i o n s
Y o u m u s t b e s i g n e d i n t o c h a n g e n o t i f i c a t i o n s e t t i n g s
●
F o r k
1 . 9 k
S t a r
9 . 1 k
●
C o d e
●
I s s u e s
9 1 5
●
P u l l r e q u e s t s
3 7 0
●
D i s c u s s i o n s
●
A c t i o n s
●
P r o j e c t s
0
●
M o d e l s
●
S e c u r i t y
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
●
I n s i g h t s
A d d i t i o n a l n a v i g a t i o n o p t i o n s
●
C o d e
●
I s s u e s
●
P u l l r e q u e s t s
●
D i s c u s s i o n s
●
A c t i o n s
●
P r o j e c t s
●
M o d e l s
●
S e c u r i t y
●
I n s i g h t s
N e w i s s u e
H a v e a q u e s t i o n a b o u t t h i s p r o j e c t ? S i g n u p f o r a f r e e G i t H u b a c c o u n t t o o p e n a n i s s u e a n d c o n t a c t i t s m a i n t a i n e r s a n d t h e c o m m u n i t y .
S i g n u p f o r G i t H u b
B y c l i c k i n g “ S i g n u p f o r G i t H u b ” , y o u a g r e e t o o u r t e r m s o f s e r v i c e a n d
p r i v a c y s t a t e m e n t . W e ’ l l o c c a s i o n a l l y s e n d y o u a c c o u n t r e l a t e d e m a i l s .
A l r e a d y o n G i t H u b ?
S i g n i n
t o y o u r a c c o u n t
J u m p t o b o t t o m
M e r g e d
s m o w t o n
m e r g e d 2 1 c o m m i t s i n t o
g i t h u b : m a i n
f r o m
o w e n - m c : j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
S e p 2 8 , 2 0 2 1
M e r g e d
s m o w t o n
m e r g e d 2 1 c o m m i t s i n t o
g i t h u b : m a i n
f r o m
o w e n - m c : j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
S e p 2 8 , 2 0 2 1
C o n v e r s a t i o n
53
C o m m i t s
21
C h e c k s
0
F i l e s c h a n g e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
C o n v e r s a t i o n
T h i s f i l e c o n t a i n s h i d d e n o r b i d i r e c t i o n a l U n i c o d e t e x t t h a t m a y b e i n t e r p r e t e d o r c o m p i l e d d i f f e r e n t l y t h a n w h a t a p p e a r s b e l o w . T o r e v i e w , o p e n t h e f i l e i n a n e d i t o r t h a t r e v e a l s h i d d e n U n i c o d e c h a r a c t e r s .
L e a r n m o r e a b o u t b i d i r e c t i o n a l U n i c o d e c h a r a c t e r s
S h o w h i d d e n c h a r a c t e r s
C o n t r i b u t o r
C u r r e n t l y t h e t e s t s a r e m i s s i n g . I w i l l a d d t h e m a f t e r t h e m o d e l s h a v e b e e n r e v i e w e d , t o a v o i d h a v i n g t o u p d a t e t h e t e s t s f o r a n y m o d e l s t h a t a r e c h a n g e d .
Sorry, something went wrong.
o w e n - m c
r e q u e s t e d a r e v i e w
f r o m a t e a m
a s a c o d e o w n e r
S e p t e m b e r 1 3 , 2 0 2 1 1 5 : 3 4
g i t h u b - a c t i o n s
b o t
a d d e d
t h e
J a v a
l a b e l
S e p 1 3 , 2 0 2 1
o w e n - m c
f o r c e - p u s h e d
t h e
j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
b r a n c h
f r o m
c 1 a 9 f 9 1 to 6 1 2 9 6 6 c C o m p a r e
S e p t e m b e r 1 3 , 2 0 2 1 1 5 : 3 7
o w e n - m c
m a r k e d t h i s p u l l r e q u e s t a s d r a f t
S e p t e m b e r 1 3 , 2 0 2 1 2 1 : 1 1
s m o w t o n
r e v i e w e d
S e p 1 4 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
C o n t r i b u t o r
s m o w t o n
l e f t a c o m m e n t
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
N o t e o n p r o t e c t e d c o n s t r u c t o r s / s t a t i c m e t h o d s ; t h e s e a r e p r o b a b l y o f v e r y m a r g i n a l r e l e v a n c e f o r d a t a f l o w p u r p o s e s , s o I t h i n k i t w o u l d b e f i n e t o e i t h e r s k i p t e s t i n g t h e m a n d j u s t m a k e a b e s t e f f o r t , o r i f n e e d b e d r o p t h e m o d e l s .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".bidimap;AbstractSortedBidiMapDecorator;true;AbstractSortedBidiMapDecorator;;;MapValue of Argument[0];MapValue of Argument[-1];value" ,
".bidimap;DualHashBidiMap;true;DualHashBidiMap;;;MapKey of Argument[0];MapKey of Argument[-1];value" ,
".bidimap;DualHashBidiMap;true;DualHashBidiMap;;;MapValue of Argument[0];MapValue of Argument[-1];value" ,
".bidimap;DualHashBidiMap;true;DualHashBidiMap;;;MapKey of Argument[1 ];MapValue of Argument[-1];value" ,
C o n t r i b u t o r
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
T h e s e h a v e c r e a t e B i d i M a p m e t h o d s t o o , t h o u g h t h e y ' r e p r o t e c t e d s o d o n ' t m a t t e r m u c h ( b u t w e a r e c o v e r i n g p r o t e c t e d c o n s t r u c t o r s , s o m i g h t w a n t t o p i c k t h e m u p f o r c o n s i s t e n c y )
Sorry, something went wrong.
a t o r r a l b a
r e v i e w e d
S e p 1 5 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
C o n t r i b u t o r
a t o r r a l b a
l e f t a c o m m e n t
e d i t e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
R e v i e w e d t h e . c o l l e c t i o n a n d . i t e r a t o r s p a c k a g e s .
A b o u t w r a p p e r c l a s s e s , I w a s w o n d e r i n g i f w e c o u l d m o d e l t h e i r " p r o x y i n g " a s p e c t a n d @ j o e f a r e b r o t h e r m e n t i o n e d t h a t m a y b e t h a t c o u l d b e f i x e d u s i n g s y n t h e t i c f i e l d s , w h i c h t h e o r e t i c a l l y w o u l d e n a b l e b a c k t r a c k i n g s i d e e f f e c t s t o t h e w r a p p e d c o l l e c t i o n , e . g .
List a = new ArrayList ();
WrappedList b = wrap (a );
b .add (source ());
sink (a .get (0 ));
B u t i t a d d s a s i g n i f i c a n t a m o u n t o f e f f o r t , s i n c e a l l i n h e r i t e d m e t h o d s f r o m t h e w r a p p e d c l a s s h i e r a r c h y w o u l d n e e d t o b e r e m o d e l e d , s o I d o n ' t k n o w i f i t ' s w o r t h i t .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
".iterators;PeekingIterator;true;peekingIterator;;;Element of Argument[0];Element of ReturnValue;value" ,
".iterators;PeekingIterator;true;peek;;;Element of Argument[-1];ReturnValue;value" ,
".iterators;PeekingIterator;true;element;;;Element of Argument[-1];ReturnValue;value" ,
".iterators;PermutationIterator;true;PermutationIterator;;;Element of Argument[0];Element of Element of Argument[-1];value" ,
C o n t r i b u t o r
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
T h i s i s s m a r t : )
Sorry, something went wrong.
b m u s k a l l a
r e v i e w e d
S e p 1 5 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".list;AbstractLinkedList;true;removeLast;;;Element of Argument[-1];ReturnValue;value" ,
".list;AbstractLinkedList;true;updateNode;;;Argument[1 ];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;updateNode;;;Argument[1 ];Element of Argument[0];value" ,
".list;AbstractLinkedList;true;createNode;;;Argument[0];Element of ReturnValue;value" ,
C o n t r i b u t o r
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I n t e r e s t i n g p r a c t i c e . E v e n t h o u g h t h e r e c u r r e n t l y i s n o t h i n g a f f e c t t h e q u a l i f i e r , t h e j a v a d o c e x p l i c i t l y s t a t e s t h i s i n t e n t i o n ( S u b c l a s s e s c a n o v e r r i d e t h i s t o r e c o r d t h e c h a n g e ) . I t h i n k t h a t ' s f a i r t o a s s u m e t h i s f l o w f o r a l l s u b c l a s s e s . G o o d t o k n o w f o r t h e m o d e l g e n e r a t o r
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
🐟 I h a v e c h o s e n t o m o d e l A b s t r a c t L i n k e d L i s t i n a s l i g h t l y l e s s p r e c i s e w a y t h a n y o u m i g h t e x p e c t . I h a v e c o n f l a t e d t h e c o n t e n t s o f a n y p a r t i c u l a r n o d e w i t h t h e c o n t e n t s o f a l l t h e n o d e s . T h e p r o b l e m t h i s s o l v e s i s t h a t f r o m a n y n o d e y o u c a n g e t t o a n y o t h e r n o d e u s i n g n e x t a n d p r e v i o u s ( a n d I e x p e c t t h e s e m e t h o d s t o b e c o m m o n l y u s e d ) .
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 2 7 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I n t h e e n d I r e m o v e d m o s t o f t h e s e m o d e l s , b e c a u s e t h e y a r e f o r p r i v a t e m e t h o d s w h i c h I d o n ' t e x p e c t t o b e u s e d a s t h e p u b l i c i n t e r f a c e f o r a n y s u b c l a s s e s .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".list;AbstractLinkedList;true;updateNode;;;Argument[1 ];Element of Argument[0];value" ,
".list;AbstractLinkedList;true;createNode;;;Argument[0];Element of ReturnValue;value" ,
".list;AbstractLinkedList;true;addNodeBefore;;;Argument[1 ];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNodeBefore;;;Argument[1 ];Element of Argument[0];value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I d o n ' t t h i n k t h i s a f f e c t s A r g u m e n t [ 0 ] a s i t o n l y d e f i n e s t h e i n s e r t i o n p o i n t
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
S e e 🐟
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".list;AbstractLinkedList;true;addNodeBefore;;;Argument[1 ];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNodeBefore;;;Argument[1 ];Element of Argument[0];value" ,
".list;AbstractLinkedList;true;addNodeAfter;;;Argument[1 ];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNodeAfter;;;Argument[1 ];Element of Argument[0];value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
S a m e a s a b o v e
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
S e e 🐟
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".list;AbstractLinkedList;true;addNodeAfter;;;Argument[1 ];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNodeAfter;;;Argument[1 ];Element of Argument[0];value" ,
".list;AbstractLinkedList;true;addNode;;;Element of Argument[0];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNode;;;Element of Argument[0];Element of Argument[1 ];value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
N o t s u r e h o w t h i s a f f e c t s A r g u m e n t [ 1 ] . F r o m t h e c o d e , i t d o e s t o u c h t h e l i n k e d n o d e s n e x t / p r e v i o u s f i e l d s b u t t h a t ' s n o v a l u e f l o w
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
S e e 🐟
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".list;AbstractLinkedList;true;addNode;;;Element of Argument[0];Element of Argument[-1];value" ,
".list;AbstractLinkedList;true;addNode;;;Element of Argument[0];Element of Argument[1 ];value" ,
".list;AbstractLinkedList;true;getNode;;;Element of Argument[-1];Element of ReturnValue;value" ,
".list;AbstractLinkedList;true;createSubListIterator;;;Element of Argument[-1];Element of ReturnValue;value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
T h i s d o e s n ' t s e e m t o c a r r y a n y t h i n g f r o m t h e q u a l i f i e r , o n l y f r o m t h e s u b L i s t ( a r g - 0 )
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
e d i t e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I h a v e d e l i b e r a t e l y d o n e t h i s t o a v o i d F N s w h e n w e h a v e n o t b e e n a b l e t o t r a c k v a l u e f l o w i n t o a r g [ 0 ] . I t d o e s r i s k c r e a t i n g F P s .
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 2 7 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I n t h e e n d I r e m o v e d m o s t o f t h e s e m o d e l s , b e c a u s e t h e y a r e f o r p r i v a t e m e t h o d s w h i c h I d o n ' t e x p e c t t o b e u s e d a s t h e p u b l i c i n t e r f a c e f o r a n y s u b c l a s s e s .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
".map;CompositeMap;true;CompositeMap;(Map,Map);;MapValue of Argument[0];MapValue of Argument[-1];value" ,
".map;CompositeMap;true;CompositeMap;(Map,Map);;MapKey of Argument[1 ];MapKey of Argument[-1];value" ,
".map;CompositeMap;true;CompositeMap;(Map,Map);;MapValue of Argument[1 ];MapValue of Argument[-1];value" ,
".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;MapKey of Argument[0];MapKey of Argument[-1];value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I w o n d e r i f t h e v a r i a t i o n s i n c l u d i n g t h e M a p M u t a t o r s h o u l d b e h a n d l e d a s t a i n t
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
M y i m p r e s s i o n w a s t h a t t h e M a p M u t a t o r w a s i n t e n d e d t o b e u s e d t o d e c i d e w h i c h o f t h e a r r a y o f m a p s t o d o t h e m u t a t i o n o p e r a t i o n o n , w h i c h w e d o n ' t c a r e a b o u t i n o u r m o d e l .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
".map;MultiValueMap;true;multiValueMap;;;Element of MapValue of Argument[0];Element of MapValue of ReturnValue;value" ,
".map;MultiValueMap;true;getCollection;;;Element of MapValue of Argument[-1];Element of ReturnValue;value" ,
".map;MultiValueMap;true;putAll;;;Argument[0];MapKey of Argument[-1];value" ,
".map;MultiValueMap;true;putAll;;;Element of Argument[1 ];Element of MapValue of Argument[-1];value" ,
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
S u g g e s t e d c h a n g e
".map;MultiValueMap;true;putAll;;;Element of Argument[1 ];Element of MapValue of Argument[-1];value" ,
".map;MultiValueMap;true;putAll;;;Element of Argument[0 ];Element of MapValue of Argument[-1];value" ,
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
e d i t e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I ' m m o d e l l i n g t h e p u t A l l ( K k e y , C o l l e c t i o n < V > v a l u e s ) m e t h o d h e r e , n o t p u t A l l ( M a p < ? e x t e n d s K , ? > m a p ) ( w h i c h i s i n h e r i t e d f r o m M a p ) . I ' l l e x p l i c i t l y g i v e t h e s i g n a t u r e t o m a k e t h i s c l e a r e r .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
".properties;AbstractPropertiesFactory;true;load;(Reader);;Argument[0];ReturnValue;taint" ,
".properties;AbstractPropertiesFactory;true;load;(String);;Argument[0];ReturnValue;taint" ,
".properties;AbstractPropertiesFactory;true;load;(URI);;Argument[0];ReturnValue;taint" ,
".properties;AbstractPropertiesFactory;true;load;(URL);;Argument[0];ReturnValue;taint"
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
D o w e n e e d t o m o d e l S o r t e d P r o p e r t i e s . I c o u l d n ' t f i n d ( y e t ) w h e r e w e m o d e l P r o p e r t i e s t o a c c o u n t f o r t h a t
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
W h a t w o u l d y o u m o d e l i n S o r t e d P r o p e r t i e s ? I d o n ' t t h i n k w e m o d e l P r o p e r t i e s f o r d a t a f l o w a t t h e m o m e n t . W e p r o b a b l y s h o u l d . W e d o m o d e l D i c t i o n a r y , w h i c h i s a s u p e r c l a s s o f i t .
Sorry, something went wrong.
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
/**
* Value-propagating models for the package `org.apache.commons.collections4.multiset`.
*/
private class ApacheMultiSetModel extends SummaryModelCsv {
C o n t r i b u t o r
b m u s k a l l a
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
I ' m s o m e h o w m i s s i n g M u l t i S e t w i t h m e t h o d s l i k e u n i q u e S e t
Sorry, something went wrong.
C o n t r i b u t o r
A u t h o r
o w e n - m c
S e p 1 5 , 2 0 2 1
T h e r e w a s a p r o b l e m h i d i n g t h i s c o m m e n t .
C h o o s e a r e a s o n f o r h i d i n g t h i s c o m m e n t
T h e r e a s o n w i l l b e d i s p l a y e d t o d e s c r i b e t h i s c o m m e n t t o o t h e r s . L e a r n m o r e .
T h a t i s i n t h e b a s e p a c k a g e , r a t h e r t h a n t h i s s u b p a c k a g e . I t i s m o d e l l e d i n t h e c l a s s A p a c h e C o l l e c t i o n s M o d e l .
Sorry, something went wrong.
s m o w t o n
r e v i e w e d
S e p 1 5 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
j a v a / q l / l i b / s e m m l e / c o d e / j a v a / f r a m e w o r k s / a p a c h e / C o l l e c t i o n s . q l l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
o w e n - m c
f o r c e - p u s h e d
t h e
j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
b r a n c h
f r o m
7 8 a 3 b 1 b to c d 0 7 4 2 2 C o m p a r e
S e p t e m b e r 1 5 , 2 0 2 1 1 5 : 4 0
o w e n - m c
a d d e d 19 c o m m i t s
S e p t e m b e r 2 7 , 2 0 2 1 1 6 : 2 4
M o d e l j a v a . l a n g . O b j e c t . c l o n e ( ) b e t t e r f o r a c c e s s p a t h s .
…
3 d 1 d 4 9 1
Model value flow for Element, MapKey and MapValue. This assumes
that clone() is a shallow copy.
M o d e l t h e r e m a i n i n g s u b p a c k a g e s i n A p a c h e C o m m o n s C o l l e c t i o n s
f d 0 f b 9 4
A d d r e s s p r o b l e m s h i g h l i g h t e d b y g e n e r a t i n g t e s t s
e 1 7 5 0 a d
A d d r e s s r e v i e w c o m m e n t s
3 b 6 7 8 b f
D o n o t m o d e l l e d p r o t e c t e d s t a t i c i n n e r c l a s s e s
c b 0 f 8 2 c
D o n o t m o d e l s o m e p r o t e c t e d m e t h o d s
9 b 1 2 9 8 0
M i s c e l l a n e o u s m o d e l f i x e s
f 6 9 7 8 7 a
A d d a u t o m a t i c a l l y g e n e r a t e d t e s t s
…
a 2 0 a c f e
Also update test.ql to use the new InlineFlowTest.
F i x e r r o r s i n g e n e r a t e d t e s t s t h a t s t o p c o m p i l a t i o n
5 3 e e 4 6 5
M a k e c o n c r e t e s u b c l a s s e s o f a b s t r a c t c l a s s e s
1 5 1 6 1 d 8
F i x u p a u t o m a t i c a l l y g e n e r a t e d t e s t s
0 a 9 2 b 0 4
A d d t e s t s f o r n o n - p u b l i c a b s t r a c t c l a s s e s
c 5 1 f b 0 0
R e m o v e r e d u n d a n t c a s t s
7 6 8 2 0 3 b
M i n o r i m p r o v e m e n t t o e x i s t i n g t e s t s
e 1 1 0 1 e 5
F i x e x i s t i n g m o d e l s f o r M a p U t i l s
3 4 2 c 1 4 8
M e r g e n e w a n d o l d t e s t s
…
c f 0 3 b d 8
# Conflicts:
# java/ql/test/library-tests/frameworks/apache-collections/TestNew.java
F i x u p o l d t e s t s f o r n e w h e l p e r f u n c t i o n s
e 6 d f 8 1 6
G e n e r a t e s t u b s
2 9 d b 4 2 c
F i x s t u b
b d d 7 8 d 2
o w e n - m c
f o r c e - p u s h e d
t h e
j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
b r a n c h
f r o m
c d 0 7 4 2 2 to b d d 7 8 d 2 C o m p a r e
S e p t e m b e r 2 7 , 2 0 2 1 1 5 : 2 4
C o n t r i b u t o r
A u t h o r
o w e n - m c
c o m m e n t e d
I've now added the tests (and stubs). I fixed some errors in models which became obvious on the way (including in old models for this package).
I had to force-push because I rebased on main to get some improvements to helper utilities, but I haven't changed the original four commits at all, so they shouldn't need to be re-reviewed.
Sorry, something went wrong.
o w e n - m c
m a r k e d t h i s p u l l r e q u e s t a s r e a d y f o r r e v i e w
S e p t e m b e r 2 7 , 2 0 2 1 1 6 : 1 9
A d d a c h a n g e n o t e
7 8 7 f 3 6 f
g i t h u b - a c t i o n s
b o t
a d d e d
t h e
d o c u m e n t a t i o n
l a b e l
S e p 2 8 , 2 0 2 1
a t o r r a l b a
r e v i e w e d
S e p 2 8 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
j a v a / q l / t e s t / l i b r a r y - t e s t s / f r a m e w o r k s / a p a c h e - c o l l e c t i o n s / t e s t . q l
O u t d a t e d
S h o w r e s o l v e d
H i d e r e s o l v e d
U h o h !
T h e r e w a s a n e r r o r w h i l e l o a d i n g . P l e a s e r e l o a d t h i s p a g e .
R e m o v e m o d e l s t h a t a r e n o l o n g e r r e q u i r e d
3 9 a 1 2 a 8
s m o w t o n
a p p r o v e d t h e s e c h a n g e s
S e p 2 8 , 2 0 2 1
V i e w r e v i e w e d c h a n g e s
s m o w t o n
m e r g e d c o m m i t 4 1 3 a c 4 e
i n t o
g i t h u b : m a i n
S e p 2 8 , 2 0 2 1
o w e n - m c
d e l e t e d t h e
j a v a / m o d e l / a p a c h e - c o l l e c t i o n s - s u b p a c k a g e s
b r a n c h
S e p t e m b e r 2 8 , 2 0 2 1 1 3 : 3 3
S i g n u p f o r f r e e
t o j o i n t h i s c o n v e r s a t i o n o n G i t H u b .
A l r e a d y h a v e a n a c c o u n t ?
S i g n i n t o c o m m e n t
aschackmull
aschackmull left review comments
smowton
smowton approved these changes
Reviewers whose approvals may not affect merge requirements
No one assigned
d o c u m e n t a t i o n
J a v a
No milestone
Successfully merging this pull request may close these issues.
A d d t h i s s u g g e s t i o n t o a b a t c h t h a t c a n b e a p p l i e d a s a s i n g l e c o m m i t .
T h i s s u g g e s t i o n i s i n v a l i d b e c a u s e n o c h a n g e s w e r e m a d e t o t h e c o d e .
S u g g e s t i o n s c a n n o t b e a p p l i e d w h i l e t h e p u l l r e q u e s t i s c l o s e d .
S u g g e s t i o n s c a n n o t b e a p p l i e d w h i l e v i e w i n g a s u b s e t o f c h a n g e s .
O n l y o n e s u g g e s t i o n p e r l i n e c a n b e a p p l i e d i n a b a t c h .
A d d t h i s s u g g e s t i o n t o a b a t c h t h a t c a n b e a p p l i e d a s a s i n g l e c o m m i t .
A p p l y i n g s u g g e s t i o n s o n d e l e t e d l i n e s i s n o t s u p p o r t e d .
Y o u m u s t c h a n g e t h e e x i s t i n g c o d e i n t h i s l i n e i n o r d e r t o c r e a t e a v a l i d s u g g e s t i o n .
T h i s s u g g e s t i o n h a s b e e n a p p l i e d o r m a r k e d r e s o l v e d .
S u g g e s t i o n s c a n n o t b e a p p l i e d f r o m p e n d i n g r e v i e w s .
S u g g e s t i o n s c a n n o t b e a p p l i e d o n m u l t i - l i n e c o m m e n t s .
S u g g e s t i o n s c a n n o t b e a p p l i e d w h i l e t h e p u l l r e q u e s t i s q u e u e d t o m e r g e .
S u g g e s t i o n c a n n o t b e a p p l i e d r i g h t n o w . P l e a s e c h e c k b a c k l a t e r .
F o o t e r
© 2 0 2 6 G i t H u b , I n c .
●
T e r m s
●
P r i v a c y
●
S e c u r i t y
●
S t a t u s
●
C o m m u n i t y
●
D o c s
●
C o n t a c t
●
M a n a g e c o o k i e s
●
D o n o t s h a r e m y p e r s o n a l i n f o r m a t i o n
Y o u c a n ’ t p e r f o r m t h a t a c t i o n a t t h i s t i m e .