@@ -858,11 +858,11 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
858
858
Iterable _iterable;
859
859
int _length;
860
860
861
- /// Keeps track of moved items.
862
- DuplicateMap _movedItems ;
861
+ /// Keeps track of the used records at any point in time (during & across `_check()` calls)
862
+ DuplicateMap _linkedRecords ;
863
863
864
- /// Keeps track of removed items .
865
- DuplicateMap _removedItems ;
864
+ /// Keeps track of the removed records at any point in time during `_check()` calls .
865
+ DuplicateMap _unlinkedRecords ;
866
866
867
867
ItemRecord <V > _previousItHead;
868
868
ItemRecord <V > _itHead, _itTail;
@@ -873,7 +873,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
873
873
void _revertToPreviousState () {
874
874
if (! isDirty) return ;
875
875
876
- if (_movedItems != null ) _movedItems .clear ();
876
+ if (_linkedRecords != null ) _linkedRecords .clear ();
877
877
ItemRecord <V > prev;
878
878
int i = 0 ;
879
879
@@ -884,8 +884,8 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
884
884
record._prev = prev;
885
885
if (prev != null ) prev._next = prev._nextPrevious = record;
886
886
887
- if (_movedItems == null ) _movedItems = new DuplicateMap ();
888
- _movedItems .put (record);
887
+ if (_linkedRecords == null ) _linkedRecords = new DuplicateMap ();
888
+ _linkedRecords .put (record);
889
889
}
890
890
891
891
prev._next = null ;
@@ -1036,13 +1036,13 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1036
1036
}
1037
1037
1038
1038
// Attempt to see if we have seen the item before.
1039
- record = _movedItems == null ? null : _movedItems .get (item, index);
1039
+ record = _linkedRecords == null ? null : _linkedRecords .get (item, index);
1040
1040
if (record != null ) {
1041
1041
// We have seen this before, we need to move it forward in the collection.
1042
1042
_moveAfter (record, previousRecord, index);
1043
1043
} else {
1044
1044
// Never seen it, check evicted list.
1045
- record = _removedItems == null ? null : _removedItems .get (item);
1045
+ record = _unlinkedRecords == null ? null : _unlinkedRecords .get (item);
1046
1046
if (record != null ) {
1047
1047
// It is an item which we have evicted earlier: reinsert it back into the list.
1048
1048
_reinsertAfter (record, previousRecord, index);
@@ -1081,7 +1081,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1081
1081
* of 'b' rather then switch 'a' with 'b' and then add 'a' at the end.
1082
1082
*/
1083
1083
ItemRecord <V > verifyReinsertion (ItemRecord record, item, int index) {
1084
- ItemRecord <V > reinsertRecord = _removedItems == null ? null : _removedItems .get (item);
1084
+ ItemRecord <V > reinsertRecord = _unlinkedRecords == null ? null : _unlinkedRecords .get (item);
1085
1085
if (reinsertRecord != null ) {
1086
1086
record = _reinsertAfter (reinsertRecord, record._prev, index);
1087
1087
} else if (record.currentIndex != index) {
@@ -1103,7 +1103,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1103
1103
_addToRemovals (_unlink (record));
1104
1104
record = nextRecord;
1105
1105
}
1106
- if (_removedItems != null ) _removedItems .clear ();
1106
+ if (_unlinkedRecords != null ) _unlinkedRecords .clear ();
1107
1107
1108
1108
if (_additionsTail != null ) _additionsTail._nextAdded = null ;
1109
1109
if (_movesTail != null ) _movesTail._nextMoved = null ;
@@ -1112,7 +1112,7 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1112
1112
}
1113
1113
1114
1114
ItemRecord <V > _reinsertAfter (ItemRecord <V > record, ItemRecord <V > prevRecord, int index) {
1115
- if (_removedItems != null ) _removedItems .remove (record);
1115
+ if (_unlinkedRecords != null ) _unlinkedRecords .remove (record);
1116
1116
var prev = record._prevRemoved;
1117
1117
var next = record._nextRemoved;
1118
1118
@@ -1174,17 +1174,17 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1174
1174
prevRecord._next = record;
1175
1175
}
1176
1176
1177
- if (_movedItems == null ) _movedItems = new DuplicateMap ();
1177
+ if (_linkedRecords == null ) _linkedRecords = new DuplicateMap ();
1178
+ _linkedRecords.put (record);
1178
1179
1179
- _movedItems.put (record);
1180
1180
record.currentIndex = index;
1181
1181
return record;
1182
1182
}
1183
1183
1184
1184
ItemRecord <V > _remove (ItemRecord record) => _addToRemovals (_unlink (record));
1185
1185
1186
1186
ItemRecord <V > _unlink (ItemRecord record) {
1187
- if (_movedItems != null ) _movedItems .remove (record);
1187
+ if (_linkedRecords != null ) _linkedRecords .remove (record);
1188
1188
1189
1189
var prev = record._prev;
1190
1190
var next = record._next;
@@ -1221,8 +1221,8 @@ class _CollectionChangeRecord<V> implements CollectionChangeRecord<V> {
1221
1221
1222
1222
ItemRecord <V > _addToRemovals (ItemRecord <V > record) {
1223
1223
record.currentIndex = null ;
1224
- if (_removedItems == null ) _removedItems = new DuplicateMap ();
1225
- _removedItems .put (record);
1224
+ if (_unlinkedRecords == null ) _unlinkedRecords = new DuplicateMap ();
1225
+ _unlinkedRecords .put (record);
1226
1226
record._nextRemoved = null ;
1227
1227
1228
1228
if (_removalsTail == null ) {
0 commit comments