Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: lib/src/list_diff.dart

Issue 1616953004: Fixed strong mode errors and warnings reachable from lib/observe.dart (Closed) Base URL: https://github.com/dart-lang/observe.git@master
Patch Set: Removed inferrable type param Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/src/dirty_check.dart ('k') | lib/src/list_path_observer.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/list_diff.dart
diff --git a/lib/src/list_diff.dart b/lib/src/list_diff.dart
index cbc3f2f8ed413f4a25b4dc8ab698b739ffdc6be3..0902f407d16c8ec51e5652ce03bae47c7699c00b 100644
--- a/lib/src/list_diff.dart
+++ b/lib/src/list_diff.dart
@@ -41,7 +41,6 @@ class ListChangeRecord extends ChangeRecord {
factory ListChangeRecord(List object, int index,
{List removed, int addedCount}) {
-
if (removed == null) removed = [];
if (addedCount == null) addedCount = 0;
return new ListChangeRecord._(object, index, removed, addedCount);
@@ -79,7 +78,7 @@ List<List<int>> _calcEditDistances(List current, int currentStart,
// "Deletion" columns
var rowCount = oldEnd - oldStart + 1;
var columnCount = currentEnd - currentStart + 1;
- var distances = new List(rowCount);
+ var distances = new List<List<int>>(rowCount);
// "Addition" rows. Initialize null column.
for (var i = 0; i < rowCount; i++) {
@@ -119,7 +118,7 @@ List<int> _spliceOperationsFromEditDistances(List<List<int>> distances) {
var i = distances.length - 1;
var j = distances[0].length - 1;
var current = distances[i][j];
- var edits = [];
+ var edits = <int>[];
while (i > 0 || j > 0) {
if (i == 0) {
edits.add(_EDIT_ADD);
@@ -189,7 +188,6 @@ int _sharedSuffix(List arr1, List arr2, int searchLength) {
/// p: The length of the old array
List<ListChangeRecord> calcSplices(List current, int currentStart,
int currentEnd, List old, int oldStart, int oldEnd) {
-
var prefixCount = 0;
var suffixCount = 0;
@@ -217,21 +215,23 @@ List<ListChangeRecord> calcSplices(List current, int currentStart,
splice._removed.add(old[oldStart++]);
}
- return [splice ];
- } else if (oldStart == oldEnd)
- return [new ListChangeRecord(current, currentStart,
- addedCount: currentEnd - currentStart)];
+ return [splice];
+ } else if (oldStart == oldEnd) {
+ return [
+ new ListChangeRecord(current, currentStart,
+ addedCount: currentEnd - currentStart)
+ ];
+ }
- var ops = _spliceOperationsFromEditDistances(
- _calcEditDistances(current, currentStart, currentEnd, old, oldStart,
- oldEnd));
+ var ops = _spliceOperationsFromEditDistances(_calcEditDistances(
+ current, currentStart, currentEnd, old, oldStart, oldEnd));
ListChangeRecord splice = null;
var splices = <ListChangeRecord>[];
var index = currentStart;
var oldIndex = oldStart;
for (var i = 0; i < ops.length; i++) {
- switch(ops[i]) {
+ switch (ops[i]) {
case _EDIT_LEAVE:
if (splice != null) {
splices.add(splice);
@@ -290,8 +290,10 @@ void _mergeSplice(List<ListChangeRecord> splices, ListChangeRecord record) {
if (inserted) continue;
var intersectCount = _intersect(
- splice.index, splice.index + splice.removed.length,
- current.index, current.index + current.addedCount);
+ splice.index,
+ splice.index + splice.removed.length,
+ current.index,
+ current.index + current.addedCount);
if (intersectCount >= 0) {
// Merge the two splices
@@ -302,8 +304,8 @@ void _mergeSplice(List<ListChangeRecord> splices, ListChangeRecord record) {
insertionOffset -= current.addedCount - current.removed.length;
splice._addedCount += current.addedCount - intersectCount;
- var deleteCount = splice.removed.length +
- current.removed.length - intersectCount;
+ var deleteCount =
+ splice.removed.length + current.removed.length - intersectCount;
if (splice.addedCount == 0 && deleteCount == 0) {
// merged splice is a noop. discard.
@@ -313,8 +315,8 @@ void _mergeSplice(List<ListChangeRecord> splices, ListChangeRecord record) {
if (splice.index < current.index) {
// some prefix of splice.removed is prepended to current.removed.
- removed.insertAll(0,
- splice.removed.getRange(0, current.index - splice.index));
+ removed.insertAll(
+ 0, splice.removed.getRange(0, current.index - splice.index));
}
if (splice.index + splice.removed.length >
@@ -348,9 +350,8 @@ void _mergeSplice(List<ListChangeRecord> splices, ListChangeRecord record) {
if (!inserted) splices.add(splice);
}
-List<ListChangeRecord> _createInitialSplices(List<Object> list,
- List<ListChangeRecord> records) {
-
+List<ListChangeRecord> _createInitialSplices(
+ List<Object> list, List<ListChangeRecord> records) {
var splices = <ListChangeRecord>[];
for (var record in records) {
_mergeSplice(splices, record);
@@ -372,19 +373,23 @@ List<ListChangeRecord> _createInitialSplices(List<Object> list,
/// Here, we inserted some records and then removed some of them.
/// If someone processed these records naively, they would "play back" the
/// insert incorrectly, because those items will be shifted.
-List<ListChangeRecord> projectListSplices(List list,
- List<ListChangeRecord> records) {
+List<ListChangeRecord> projectListSplices(
+ List<Object> list, List<ListChangeRecord> records) {
if (records.length <= 1) return records;
- var splices = [];
+ var splices = <ListChangeRecord>[];
for (var splice in _createInitialSplices(list, records)) {
if (splice.addedCount == 1 && splice.removed.length == 1) {
if (splice.removed[0] != list[splice.index]) splices.add(splice);
continue;
}
- splices.addAll(calcSplices(list, splice.index,
- splice.index + splice.addedCount, splice._removed, 0,
+ splices.addAll(calcSplices(
+ list,
+ splice.index,
+ splice.index + splice.addedCount,
+ splice._removed,
+ 0,
splice.removed.length));
}
« no previous file with comments | « lib/src/dirty_check.dart ('k') | lib/src/list_path_observer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698