sort directives and other lints
diff --git a/lib/dom.dart b/lib/dom.dart
index a500481..cd2b9fb 100644
--- a/lib/dom.dart
+++ b/lib/dom.dart
@@ -267,7 +267,7 @@
nodes.clear();
}
- bool hasChildNodes() => !nodes.isEmpty;
+ bool hasChildNodes() => nodes.isNotEmpty;
bool contains(Node node) => nodes.contains(node);
@@ -838,7 +838,7 @@
this[index].replaceWith(value);
}
- void set length(int newLength) {
+ set length(int newLength) {
final len = this.length;
if (newLength >= len) {
return;
@@ -974,7 +974,7 @@
// TODO(sigmund): this should be typed Element, but we currently run into a
// bug where ListMixin<E>.lastIndexOf() expects Object as the argument.
- int lastIndexOf(element, [int start = null]) {
+ int lastIndexOf(element, [int start]) {
if (start == null) start = length - 1;
return _filtered.lastIndexOf(element, start);
}
diff --git a/lib/dom_parsing.dart b/lib/dom_parsing.dart
index 5575dcd..56518c2 100644
--- a/lib/dom_parsing.dart
+++ b/lib/dom_parsing.dart
@@ -128,10 +128,10 @@
String htmlSerializeEscape(String text, {bool attributeMode: false}) {
// TODO(jmesserly): is it faster to build up a list of codepoints?
// StringBuffer seems cleaner assuming Dart can unbox 1-char strings.
- StringBuffer result = null;
+ StringBuffer result;
for (int i = 0; i < text.length; i++) {
var ch = text[i];
- String replace = null;
+ String replace;
switch (ch) {
case '&':
replace = '&';
diff --git a/lib/parser.dart b/lib/parser.dart
index 546061f..e1c6099 100644
--- a/lib/parser.dart
+++ b/lib/parser.dart
@@ -17,13 +17,13 @@
import 'dart:math';
import 'package:source_span/source_span.dart';
-import 'src/treebuilder.dart';
+import 'dom.dart';
import 'src/constants.dart';
import 'src/encoding_parser.dart';
import 'src/token.dart';
import 'src/tokenizer.dart';
+import 'src/treebuilder.dart';
import 'src/utils.dart';
-import 'dom.dart';
/// Parse the [input] html5 document into a tree. The [input] can be
/// a [String], [List<int>] of bytes or an [HtmlTokenizer].
@@ -2092,7 +2092,7 @@
// Step 2
// Start of the adoption agency algorithm proper
var afeIndex = tree.openElements.indexOf(formattingElement);
- Node furthestBlock = null;
+ Node furthestBlock;
for (Node element in slice(tree.openElements, afeIndex)) {
if (specialElements.contains(getElementNameTuple(element))) {
furthestBlock = element;
@@ -2517,7 +2517,7 @@
Phase originalPhase;
List<StringToken> characterTokens;
- InTableTextPhase(parser)
+ InTableTextPhase(HtmlParser parser)
: characterTokens = <StringToken>[],
super(parser);
@@ -2526,7 +2526,7 @@
// TODO(sigmund,jmesserly): remove '' (dartbug.com/8480)
var data = characterTokens.map((t) => t.data).join('');
- var span = null;
+ FileSpan span;
if (parser.generateSpans) {
span = characterTokens[0].span.expand(characterTokens.last.span);
@@ -3551,7 +3551,7 @@
parser.parseError(token.span, "unexpected-end-tag", {"name": token.name});
}
- var newToken = null;
+ var newToken;
while (true) {
if (asciiUpper2Lower(node.localName) == token.name) {
//XXX this isn't in the spec but it seems necessary
diff --git a/lib/src/char_encodings.dart b/lib/src/char_encodings.dart
index 56680bd..bf1fa47 100644
--- a/lib/src/char_encodings.dart
+++ b/lib/src/char_encodings.dart
@@ -116,10 +116,10 @@
final int length;
final int replacementCodepoint;
- IterableWindows1252Decoder(List<int> this.bytes,
- [int this.offset = 0,
- int this.length = null,
- int this.replacementCodepoint = UNICODE_REPLACEMENT_CHARACTER_CODEPOINT]);
+ IterableWindows1252Decoder(this.bytes,
+ [this.offset = 0,
+ this.length,
+ this.replacementCodepoint = UNICODE_REPLACEMENT_CHARACTER_CODEPOINT]);
Windows1252Decoder get iterator =>
new Windows1252Decoder(bytes, offset, length, replacementCodepoint);
diff --git a/lib/src/css_class_set.dart b/lib/src/css_class_set.dart
index 40575c2..e1fc3f1 100644
--- a/lib/src/css_class_set.dart
+++ b/lib/src/css_class_set.dart
@@ -20,7 +20,7 @@
for (String name in classname.split(' ')) {
String trimmed = name.trim();
- if (!trimmed.isEmpty) {
+ if (trimmed.isNotEmpty) {
s.add(trimmed);
}
}
diff --git a/lib/src/inputstream.dart b/lib/src/inputstream.dart
index 849ed93..d683277 100644
--- a/lib/src/inputstream.dart
+++ b/lib/src/inputstream.dart
@@ -5,8 +5,8 @@
import 'package:source_span/source_span.dart';
import 'char_encodings.dart';
import 'constants.dart';
-import 'utils.dart';
import 'encoding_parser.dart';
+import 'utils.dart';
/// Hooks to call into dart:io without directly referencing it.
class ConsoleSupport {
diff --git a/lib/src/query_selector.dart b/lib/src/query_selector.dart
index 5c438db..38045d4 100644
--- a/lib/src/query_selector.dart
+++ b/lib/src/query_selector.dart
@@ -67,7 +67,7 @@
var result = true;
// Note: evaluate selectors right-to-left as it's more efficient.
- int combinator = null;
+ int combinator;
for (var s in selector.simpleSelectorSequences.reversed) {
if (combinator == null) {
result = s.simpleSelector.visit(this);
diff --git a/lib/src/tokenizer.dart b/lib/src/tokenizer.dart
index 21505df..db9ab63 100644
--- a/lib/src/tokenizer.dart
+++ b/lib/src/tokenizer.dart
@@ -310,7 +310,7 @@
// At this point we have a string that starts with some characters
// that may match an entity
- String entityName = null;
+ String entityName;
// Try to find the longest entity the string will match to take care
// of ¬i for instance.
diff --git a/lib/src/treebuilder.dart b/lib/src/treebuilder.dart
index ac71e48..db91651 100644
--- a/lib/src/treebuilder.dart
+++ b/lib/src/treebuilder.dart
@@ -350,9 +350,9 @@
// The foster parent element is the one which comes before the most
// recently opened table element
// XXX - this is really inelegant
- Node lastTable = null;
- Node fosterParent = null;
- Node insertBefore = null;
+ Node lastTable;
+ Node fosterParent;
+ Node insertBefore;
for (var elm in openElements.reversed) {
if (elm.localName == "table") {
lastTable = elm;
diff --git a/test/selectors/level1_baseline_test.dart b/test/selectors/level1_baseline_test.dart
index bef290c..9bac00d 100644
--- a/test/selectors/level1_baseline_test.dart
+++ b/test/selectors/level1_baseline_test.dart
@@ -10,9 +10,10 @@
import 'package:html/parser.dart';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
+
+import '../support.dart';
import 'level1_lib.dart' hide test;
import 'selectors.dart';
-import '../support.dart';
Document getTestContentDocument() {
var testPath = p.join(testDir, 'selectors', 'level1-content.html');
diff --git a/test/support.dart b/test/support.dart
index f467faa..2af8b7c 100644
--- a/test/support.dart
+++ b/test/support.dart
@@ -1,8 +1,8 @@
/// Support code for the tests in this directory.
library support;
-import 'dart:io';
import 'dart:collection';
+import 'dart:io';
import 'package:path/path.dart' as p;
import 'package:html/src/treebuilder.dart';
@@ -45,7 +45,7 @@
List<Map> _getData() {
var data = <String, String>{};
- var key = null;
+ String key;
var result = <Map>[];
var lines = _text.split('\n');
// Remove trailing newline to match Python