@@ -350,45 +350,56 @@ final class ListQueue<E> implements Queue<E> {
350350
351351 // Iterable interface.
352352
353- Queue <R > cast <R >() => throw UnimplementedError ('Iteratble.cast' );
353+ @override
354+ Queue <R > cast <R >() => throw UnimplementedError ('Iterable.cast' );
354355
356+ @override
355357 Iterator <E > get iterator => _ListQueueIterator <E >(this );
356358
357- void forEach (void f (E element)) {
359+ @override
360+ void forEach (void Function (E element) f) {
358361 int modificationCount = _modificationCount;
359362 for (int i = _head; i != _tail; i = (i + 1 ) & (_table.length - 1 )) {
360363 f (_table[i] as E );
361364 _checkModification (modificationCount);
362365 }
363366 }
364367
368+ @override
365369 bool get isEmpty => _head == _tail;
366370
371+ @override
367372 bool get isNotEmpty => ! isEmpty;
368373
374+ @override
369375 int get length => (_tail - _head) & (_table.length - 1 );
370376
377+ @override
371378 E get first {
372379 if (_head == _tail) throw IterableElementError .noElement ();
373380 return _table[_head] as E ;
374381 }
375382
383+ @override
376384 E get last {
377385 if (_head == _tail) throw IterableElementError .noElement ();
378386 return _table[(_tail - 1 ) & (_table.length - 1 )] as E ;
379387 }
380388
389+ @override
381390 E get single {
382391 if (_head == _tail) throw IterableElementError .noElement ();
383392 if (length > 1 ) throw IterableElementError .tooMany ();
384393 return _table[_head] as E ;
385394 }
386395
396+ @override
387397 E elementAt (int index) {
388398 IndexError .check (index, length, indexable: this );
389399 return _table[(_head + index) & (_table.length - 1 )] as E ;
390400 }
391401
402+ @override
392403 List <E > toList ({bool growable = true }) {
393404 int mask = _table.length - 1 ;
394405 int length = (_tail - _head) & mask;
@@ -403,10 +414,12 @@ final class ListQueue<E> implements Queue<E> {
403414
404415 // Collection interface.
405416
417+ @override
406418 void add (E value) {
407419 _add (value);
408420 }
409421
422+ @override
410423 void addAll (Iterable <E > elements) {
411424 if (elements is List <E >) {
412425 List <E > list = elements;
@@ -432,10 +445,13 @@ final class ListQueue<E> implements Queue<E> {
432445 }
433446 _modificationCount++ ;
434447 } else {
435- for (E element in elements) _add (element);
448+ for (E element in elements) {
449+ _add (element);
450+ }
436451 }
437452 }
438453
454+ @override
439455 bool remove (Object ? value) {
440456 for (int i = _head; i != _tail; i = (i + 1 ) & (_table.length - 1 )) {
441457 E ? element = _table[i];
@@ -448,6 +464,7 @@ final class ListQueue<E> implements Queue<E> {
448464 return false ;
449465 }
450466
467+ @override
451468 void clear () {
452469 if (_head != _tail) {
453470 for (int i = _head; i != _tail; i = (i + 1 ) & (_table.length - 1 )) {
@@ -458,21 +475,25 @@ final class ListQueue<E> implements Queue<E> {
458475 }
459476 }
460477
461- String toString () => Iterable .iterableToFullString (this , "{" , "}" );
478+ @override
479+ String toString () => Iterable .iterableToFullString (this , '{' , '}' );
462480
463481 // Queue interface.
464482
483+ @override
465484 void addLast (E value) {
466485 _add (value);
467486 }
468487
488+ @override
469489 void addFirst (E value) {
470490 _head = (_head - 1 ) & (_table.length - 1 );
471491 _table[_head] = value;
472492 if (_head == _tail) _grow ();
473493 _modificationCount++ ;
474494 }
475495
496+ @override
476497 E removeFirst () {
477498 if (_head == _tail) throw IterableElementError .noElement ();
478499 _modificationCount++ ;
@@ -482,6 +503,7 @@ final class ListQueue<E> implements Queue<E> {
482503 return result;
483504 }
484505
506+ @override
485507 E removeLast () {
486508 if (_head == _tail) throw IterableElementError .noElement ();
487509 _modificationCount++ ;
@@ -605,24 +627,43 @@ final class ListQueue<E> implements Queue<E> {
605627
606628 /// Unimplemented Iterable methods
607629
630+ @override
608631 Never any (_) => throw UnimplementedError ();
632+ @override
609633 Never contains (_) => throw UnimplementedError ();
634+ @override
610635 Never every (_) => throw UnimplementedError ();
636+ @override
611637 Never expand <T >(_) => throw UnimplementedError ();
612- Never firstWhere (_, {E orElse ()? }) => throw UnimplementedError ();
613- Never fold <E >(_, _) => throw UnimplementedError ();
638+ @override
639+ Never firstWhere (_, {E Function ()? orElse}) => throw UnimplementedError ();
640+ @override
641+ Never fold <T >(_, _) => throw UnimplementedError ();
642+ @override
614643 Never followedBy (_) => throw UnimplementedError ();
644+ @override
615645 Never join ([String _ = '' ]) => throw UnimplementedError ();
616- Never lastWhere (_, {E orElse ()? }) => throw UnimplementedError ();
646+ @override
647+ Never lastWhere (_, {E Function ()? orElse}) => throw UnimplementedError ();
648+ @override
617649 Never map <T >(_) => throw UnimplementedError ();
650+ @override
618651 Never reduce (_) => throw UnimplementedError ();
619- Never singleWhere (_, {E orElse ()? }) => throw UnimplementedError ();
652+ @override
653+ Never singleWhere (_, {E Function ()? orElse}) => throw UnimplementedError ();
654+ @override
620655 Never skip (_) => throw UnimplementedError ();
656+ @override
621657 Never skipWhile (_) => throw UnimplementedError ();
658+ @override
622659 Never take (_) => throw UnimplementedError ();
660+ @override
623661 Never takeWhile (_) => throw UnimplementedError ();
662+ @override
624663 Never toSet () => throw UnimplementedError ();
664+ @override
625665 Never where (_) => throw UnimplementedError ();
666+ @override
626667 Never whereType <T >() => throw UnimplementedError ();
627668}
628669
@@ -642,8 +683,10 @@ class _ListQueueIterator<E> implements Iterator<E> {
642683 _modificationCount = queue._modificationCount,
643684 _position = queue._head;
644685
686+ @override
645687 E get current => _current as E ;
646688
689+ @override
647690 bool moveNext () {
648691 _queue._checkModification (_modificationCount);
649692 if (_position == _end) {
@@ -657,6 +700,6 @@ class _ListQueueIterator<E> implements Iterator<E> {
657700}
658701
659702abstract class IterableElementError {
660- static StateError noElement () => StateError (" No element" );
661- static StateError tooMany () => StateError (" Too many elements" );
703+ static StateError noElement () => StateError (' No element' );
704+ static StateError tooMany () => StateError (' Too many elements' );
662705}
0 commit comments