@@ -871,11 +871,11 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
871
871
Iterable _iterable;
872
872
int _length;
873
873
874
- /// Keeps track of moved items.
875
- DuplicateMap _movedItems ;
874
+ /// Keeps track of the used records at any point in time (during & across `_check()` calls)
875
+ DuplicateMap _linkedRecords ;
876
876
877
- /// Keeps track of removed items .
878
- DuplicateMap _removedItems ;
877
+ /// Keeps track of the removed records at any point in time during `_check()` calls .
878
+ DuplicateMap _unlinkedRecords ;
879
879
880
880
ItemRecord <V > _previousItHead;
881
881
ItemRecord <V > _itHead, _itTail;
@@ -886,7 +886,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
886
886
void _revertToPreviousState () {
887
887
if (! isDirty) return ;
888
888
889
- if (_movedItems != null ) _movedItems .clear ();
889
+ if (_linkedRecords != null ) _linkedRecords .clear ();
890
890
ItemRecord <V > prev;
891
891
int i = 0 ;
892
892
@@ -897,8 +897,8 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
897
897
record._prev = prev;
898
898
if (prev != null ) prev._next = prev._nextPrevious = record;
899
899
900
- if (_movedItems == null ) _movedItems = new DuplicateMap ();
901
- _movedItems .put (record);
900
+ if (_linkedRecords == null ) _linkedRecords = new DuplicateMap ();
901
+ _linkedRecords .put (record);
902
902
}
903
903
904
904
prev._next = null ;
@@ -1062,13 +1062,13 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1062
1062
}
1063
1063
1064
1064
// Attempt to see if we have seen the item before.
1065
- record = _movedItems == null ? null : _movedItems .get (item, index);
1065
+ record = _linkedRecords == null ? null : _linkedRecords .get (item, index);
1066
1066
if (record != null ) {
1067
1067
// We have seen this before, we need to move it forward in the collection.
1068
1068
_moveAfter (record, previousRecord, index);
1069
1069
} else {
1070
1070
// Never seen it, check evicted list.
1071
- record = _removedItems == null ? null : _removedItems .get (item);
1071
+ record = _unlinkedRecords == null ? null : _unlinkedRecords .get (item);
1072
1072
if (record != null ) {
1073
1073
// It is an item which we have evicted earlier: reinsert it back into the list.
1074
1074
_reinsertAfter (record, previousRecord, index);
@@ -1107,7 +1107,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1107
1107
* of 'b' rather then switch 'a' with 'b' and then add 'a' at the end.
1108
1108
*/
1109
1109
ItemRecord <V > verifyReinsertion (ItemRecord record, item, int index) {
1110
- ItemRecord <V > reinsertRecord = _removedItems == null ? null : _removedItems .get (item);
1110
+ ItemRecord <V > reinsertRecord = _unlinkedRecords == null ? null : _unlinkedRecords .get (item);
1111
1111
if (reinsertRecord != null ) {
1112
1112
record = _reinsertAfter (reinsertRecord, record._prev, index);
1113
1113
} else if (record.currentIndex != index) {
@@ -1129,7 +1129,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1129
1129
_addToRemovals (_unlink (record));
1130
1130
record = nextRecord;
1131
1131
}
1132
- if (_removedItems != null ) _removedItems .clear ();
1132
+ if (_unlinkedRecords != null ) _unlinkedRecords .clear ();
1133
1133
1134
1134
if (_additionsTail != null ) _additionsTail._nextAdded = null ;
1135
1135
if (_movesTail != null ) _movesTail._nextMoved = null ;
@@ -1138,7 +1138,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1138
1138
}
1139
1139
1140
1140
ItemRecord <V > _reinsertAfter (ItemRecord <V > record, ItemRecord <V > prevRecord, int index) {
1141
- if (_removedItems != null ) _removedItems .remove (record);
1141
+ if (_unlinkedRecords != null ) _unlinkedRecords .remove (record);
1142
1142
var prev = record._prevRemoved;
1143
1143
var next = record._nextRemoved;
1144
1144
@@ -1200,17 +1200,17 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1200
1200
prevRecord._next = record;
1201
1201
}
1202
1202
1203
- if (_movedItems == null ) _movedItems = new DuplicateMap ();
1203
+ if (_linkedRecords == null ) _linkedRecords = new DuplicateMap ();
1204
+ _linkedRecords.put (record);
1204
1205
1205
- _movedItems.put (record);
1206
1206
record.currentIndex = index;
1207
1207
return record;
1208
1208
}
1209
1209
1210
1210
ItemRecord <V > _remove (ItemRecord record) => _addToRemovals (_unlink (record));
1211
1211
1212
1212
ItemRecord <V > _unlink (ItemRecord record) {
1213
- if (_movedItems != null ) _movedItems .remove (record);
1213
+ if (_linkedRecords != null ) _linkedRecords .remove (record);
1214
1214
1215
1215
var prev = record._prev;
1216
1216
var next = record._next;
@@ -1247,8 +1247,8 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1247
1247
1248
1248
ItemRecord <V > _addToRemovals (ItemRecord <V > record) {
1249
1249
record.currentIndex = null ;
1250
- if (_removedItems == null ) _removedItems = new DuplicateMap ();
1251
- _removedItems .put (record);
1250
+ if (_unlinkedRecords == null ) _unlinkedRecords = new DuplicateMap ();
1251
+ _unlinkedRecords .put (record);
1252
1252
record._nextRemoved = null ;
1253
1253
1254
1254
if (_removalsTail == null ) {
0 commit comments