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

Commit

Permalink
refactor(dccd): Drop the insertBefore arg from DuplicateMap.put()
Browse files Browse the repository at this point in the history
Closes #1128

The insertBefore argument is never used in the current code
  • Loading branch information
vicb committed Jun 9, 2014
1 parent 9f0c7bc commit f4132ea
Showing 1 changed file with 8 additions and 26 deletions.
34 changes: 8 additions & 26 deletions lib/change_detection/dirty_checking_change_detector.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1320,39 +1320,21 @@ class _DuplicateItemRecordList {
ItemRecord _head, _tail;

/**
* Add the [record] before the [insertBefore] in the list of duplicates or at the end of the list
* when no [insertBefore] is specified.
* Append the [record] to the list of duplicates.
*
* Note: by design all records in the list of duplicates hold the save value in [record.item].
*/
void add(ItemRecord record, ItemRecord insertBefore) {
assert(insertBefore == null || insertBefore.item == record.item);
void add(ItemRecord record) {
if (_head == null) {
/// pushing the first [ItemRecord] to the list
assert(insertBefore == null);
_head = _tail = record;
record._nextDup = null;
record._prevDup = null;
} else {
// adding a duplicate [ItemRecord] to the list
assert(record.item == _head.item);
if (insertBefore == null) {
_tail._nextDup = record;
record._prevDup = _tail;
record._nextDup = null;
_tail = record;
} else {
var prev = insertBefore._prevDup;
var next = insertBefore;
record._prevDup = prev;
record._nextDup = next;
if (prev == null) {
_head = record;
} else {
prev._nextDup = record;
}
next._prevDup = record;
}
_tail._nextDup = record;
record._prevDup = _tail;
record._nextDup = null;
_tail = record;
}
}

Expand Down Expand Up @@ -1408,8 +1390,8 @@ class _DuplicateItemRecordList {
class DuplicateMap {
final map = <dynamic, _DuplicateItemRecordList>{};

void put(ItemRecord record, [ItemRecord insertBefore = null]) {
map.putIfAbsent(record.item, () => new _DuplicateItemRecordList()).add(record, insertBefore);
void put(ItemRecord record) {
map.putIfAbsent(record.item, () => new _DuplicateItemRecordList()).add(record);
}

/**
Expand Down

0 comments on commit f4132ea

Please sign in to comment.