Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit f54451b

Browse files
committed
refactor(dccd): Drop the insertBefore arg from DuplicateMap.put()
Fixes #1128 Closes #1132 The insertBefore argument is never used in the current code
1 parent 209d14f commit f54451b

File tree

1 file changed

+10
-28
lines changed

1 file changed

+10
-28
lines changed

lib/change_detection/dirty_checking_change_detector.dart

+10-28
Original file line numberDiff line numberDiff line change
@@ -1303,40 +1303,22 @@ class _DuplicateItemRecordList {
13031303
ItemRecord _head, _tail;
13041304

13051305
/**
1306-
* Add the [record] before the [insertBefore] in the list of duplicates or at the end of the list
1307-
* when no [insertBefore] is specified.
1306+
* Append the [record] to the list of duplicates.
13081307
*
13091308
* Note: by design all records in the list of duplicates hold the save value in [record.item].
13101309
*/
1311-
void add(ItemRecord record, ItemRecord insertBefore) {
1312-
assert(insertBefore == null || insertBefore.item == record.item);
1310+
void add(ItemRecord record) {
13131311
if (_head == null) {
1314-
/// pushing the first [ItemRecord] to the list
1315-
assert(insertBefore == null);
13161312
_head = _tail = record;
13171313
record._nextDup = null;
13181314
record._prevDup = null;
13191315
} else {
1320-
// adding a duplicate [ItemRecord] to the list
13211316
assert(record.item == _head.item ||
13221317
record.item is num && record.item.isNaN && _head.item is num && _head.item.isNaN);
1323-
if (insertBefore == null) {
1324-
_tail._nextDup = record;
1325-
record._prevDup = _tail;
1326-
record._nextDup = null;
1327-
_tail = record;
1328-
} else {
1329-
var prev = insertBefore._prevDup;
1330-
var next = insertBefore;
1331-
record._prevDup = prev;
1332-
record._nextDup = next;
1333-
if (prev == null) {
1334-
_head = record;
1335-
} else {
1336-
prev._nextDup = record;
1337-
}
1338-
next._prevDup = record;
1339-
}
1318+
_tail._nextDup = record;
1319+
record._prevDup = _tail;
1320+
record._nextDup = null;
1321+
_tail = record;
13401322
}
13411323
}
13421324

@@ -1390,16 +1372,16 @@ class _DuplicateItemRecordList {
13901372
* The list of duplicates is implemented by [_DuplicateItemRecordList].
13911373
*/
13921374
class DuplicateMap {
1393-
static final nanKey = const Object();
1375+
static final _nanKey = const Object();
13941376
final map = new HashMap<dynamic, _DuplicateItemRecordList>();
13951377

1396-
void put(ItemRecord record, [ItemRecord insertBefore = null]) {
1378+
void put(ItemRecord record) {
13971379
var key = _getKey(record.item);
13981380
_DuplicateItemRecordList duplicates = map[key];
13991381
if (duplicates == null) {
14001382
duplicates = map[key] = new _DuplicateItemRecordList();
14011383
}
1402-
duplicates.add(record, insertBefore);
1384+
duplicates.add(record);
14031385
}
14041386

14051387
/**
@@ -1436,7 +1418,7 @@ class DuplicateMap {
14361418
}
14371419

14381420
/// Required to handle num.NAN as a Map value
1439-
dynamic _getKey(value) => value is num && value.isNaN ? nanKey : value;
1421+
dynamic _getKey(value) => value is num && value.isNaN ? _nanKey : value;
14401422

14411423
String toString() => "DuplicateMap($map)";
14421424
}

0 commit comments

Comments
 (0)