Index: pkg/third_party/html5lib/lib/src/constants.dart |
diff --git a/pkg/third_party/html5lib/lib/src/constants.dart b/pkg/third_party/html5lib/lib/src/constants.dart |
index 319ef3e6d14864eacdb0e0865b2800aeabc3e1ff..9cc03ad80c0972511378d9236906c0d54b0edfb2 100644 |
--- a/pkg/third_party/html5lib/lib/src/constants.dart |
+++ b/pkg/third_party/html5lib/lib/src/constants.dart |
@@ -1,7 +1,6 @@ |
library constants; |
import 'utils.dart'; |
-import 'token.dart'; |
// TODO(jmesserly): fix up the const lists. For the bigger ones, we need faster |
// lookup than linear search "contains". In the Python code they were |
@@ -22,7 +21,7 @@ class ReparseException implements Exception { |
* string formatting, as implemented by [formatStr]. That function only supports |
* the subset of format functionality used here. |
*/ |
-final Map<String, String> errorMessages = const { |
+const Map<String, String> errorMessages = const { |
"null-character": |
"Null character in input stream, replaced with U+FFFD.", |
"invalid-codepoint": |
@@ -324,7 +323,7 @@ class Namespaces { |
} |
} |
-final List scopingElements = const [ |
+const List scopingElements = const [ |
const Pair(Namespaces.html, "applet"), |
const Pair(Namespaces.html, "caption"), |
const Pair(Namespaces.html, "html"), |
@@ -345,7 +344,7 @@ final List scopingElements = const [ |
]; |
-final formattingElements = const [ |
+const formattingElements = const [ |
const Pair(Namespaces.html, "a"), |
const Pair(Namespaces.html, "b"), |
const Pair(Namespaces.html, "big"), |
@@ -362,7 +361,7 @@ final formattingElements = const [ |
const Pair(Namespaces.html, "") |
]; |
-final specialElements = const [ |
+const specialElements = const [ |
const Pair(Namespaces.html, "address"), |
const Pair(Namespaces.html, "applet"), |
const Pair(Namespaces.html, "area"), |
@@ -445,14 +444,14 @@ final specialElements = const [ |
const Pair(Namespaces.svg, "foreignObject") |
]; |
-final htmlIntegrationPointElements = const [ |
+const htmlIntegrationPointElements = const [ |
const Pair(Namespaces.mathml, "annotaion-xml"), |
const Pair(Namespaces.svg, "foreignObject"), |
const Pair(Namespaces.svg, "desc"), |
const Pair(Namespaces.svg, "title") |
]; |
-final mathmlTextIntegrationPointElements = const [ |
+const mathmlTextIntegrationPointElements = const [ |
const Pair(Namespaces.mathml, "mi"), |
const Pair(Namespaces.mathml, "mo"), |
const Pair(Namespaces.mathml, "mn"), |
@@ -460,7 +459,7 @@ final mathmlTextIntegrationPointElements = const [ |
const Pair(Namespaces.mathml, "mtext") |
]; |
-final spaceCharacters = " \n\r\t\u000C"; |
+const spaceCharacters = " \n\r\t\u000C"; |
const int NEWLINE = 10; |
const int RETURN = 13; |
@@ -482,7 +481,7 @@ bool isWhitespaceCC(int charCode) { |
return false; |
} |
-final List<String> tableInsertModeElements = const [ |
+const List<String> tableInsertModeElements = const [ |
"table", |
"tbody", |
"tfoot", |
@@ -491,13 +490,13 @@ final List<String> tableInsertModeElements = const [ |
]; |
// TODO(jmesserly): remove these in favor of the test functions |
-final asciiLetters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
+const asciiLetters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
-final ZERO = 48; |
-final LOWER_A = 97; |
-final LOWER_Z = 122; |
-final UPPER_A = 65; |
-final UPPER_Z = 90; |
+const ZERO = 48; |
+const LOWER_A = 97; |
+const LOWER_Z = 122; |
+const UPPER_A = 65; |
+const UPPER_Z = 90; |
bool isLetterOrDigit(String char) => isLetter(char) || isDigit(char); |
@@ -542,7 +541,7 @@ String asciiUpper2Lower(String text) { |
} |
// Heading elements need to be ordered |
-final headingElements = const [ |
+const headingElements = const [ |
"h1", |
"h2", |
"h3", |
@@ -551,9 +550,9 @@ final headingElements = const [ |
"h6" |
]; |
-final cdataElements = const ['title', 'textarea']; |
+const cdataElements = const ['title', 'textarea']; |
-final rcdataElements = const [ |
+const rcdataElements = const [ |
'style', |
'script', |
'xmp', |
@@ -563,7 +562,7 @@ final rcdataElements = const [ |
'noscript' |
]; |
-final Map<String, List<String>> booleanAttributes = const { |
+const Map<String, List<String>> booleanAttributes = const { |
"": const ["irrelevant",], |
"style": const ["scoped",], |
"img": const ["ismap",], |
@@ -586,7 +585,7 @@ final Map<String, List<String>> booleanAttributes = const { |
// entitiesWindows1252 has to be _ordered_ and needs to have an index. It |
// therefore can't be a frozenset. |
-final List<int> entitiesWindows1252 = const [ |
+const List<int> entitiesWindows1252 = const [ |
8364, // 0x80 0x20AC EURO SIGN |
65533, // 0x81 UNDEFINED |
8218, // 0x82 0x201A SINGLE LOW-9 QUOTATION MARK |
@@ -621,9 +620,9 @@ final List<int> entitiesWindows1252 = const [ |
376 // 0x9F 0x0178 LATIN CAPITAL LETTER Y WITH DIAERESIS |
]; |
-final xmlEntities = const ['lt;', 'gt;', 'amp;', 'apos;', 'quot;']; |
+const xmlEntities = const ['lt;', 'gt;', 'amp;', 'apos;', 'quot;']; |
-final Map<String, String> entities = const { |
+const Map<String, String> entities = const { |
"AElig": "\xc6", |
"AElig;": "\xc6", |
"AMP": "&", |
@@ -2857,48 +2856,44 @@ final Map<String, String> entities = const { |
"zwnj;": "\u200c", |
}; |
-Map<int, String> replacementCharacters = (() { |
- // TODO(jmesserly): fix this when Dart has literal maps with int keys. |
- var r = new Map<int, String>(); |
- r[0x00] = "\uFFFD"; |
- r[0x0d] = "\u000D"; |
- r[0x80] = "\u20AC"; |
- r[0x81] = "\u0081"; |
- r[0x81] = "\u0081"; |
- r[0x82] = "\u201A"; |
- r[0x83] = "\u0192"; |
- r[0x84] = "\u201E"; |
- r[0x85] = "\u2026"; |
- r[0x86] = "\u2020"; |
- r[0x87] = "\u2021"; |
- r[0x88] = "\u02C6"; |
- r[0x89] = "\u2030"; |
- r[0x8A] = "\u0160"; |
- r[0x8B] = "\u2039"; |
- r[0x8C] = "\u0152"; |
- r[0x8D] = "\u008D"; |
- r[0x8E] = "\u017D"; |
- r[0x8F] = "\u008F"; |
- r[0x90] = "\u0090"; |
- r[0x91] = "\u2018"; |
- r[0x92] = "\u2019"; |
- r[0x93] = "\u201C"; |
- r[0x94] = "\u201D"; |
- r[0x95] = "\u2022"; |
- r[0x96] = "\u2013"; |
- r[0x97] = "\u2014"; |
- r[0x98] = "\u02DC"; |
- r[0x99] = "\u2122"; |
- r[0x9A] = "\u0161"; |
- r[0x9B] = "\u203A"; |
- r[0x9C] = "\u0153"; |
- r[0x9D] = "\u009D"; |
- r[0x9E] = "\u017E"; |
- r[0x9F] = "\u0178"; |
- return r; |
-})(); |
+const Map<int, String> replacementCharacters = const { |
+ 0x00: "\uFFFD", |
+ 0x0d: "\u000D", |
+ 0x80: "\u20AC", |
+ 0x81: "\u0081", |
+ 0x82: "\u201A", |
+ 0x83: "\u0192", |
+ 0x84: "\u201E", |
+ 0x85: "\u2026", |
+ 0x86: "\u2020", |
+ 0x87: "\u2021", |
+ 0x88: "\u02C6", |
+ 0x89: "\u2030", |
+ 0x8A: "\u0160", |
+ 0x8B: "\u2039", |
+ 0x8C: "\u0152", |
+ 0x8D: "\u008D", |
+ 0x8E: "\u017D", |
+ 0x8F: "\u008F", |
+ 0x90: "\u0090", |
+ 0x91: "\u2018", |
+ 0x92: "\u2019", |
+ 0x93: "\u201C", |
+ 0x94: "\u201D", |
+ 0x95: "\u2022", |
+ 0x96: "\u2013", |
+ 0x97: "\u2014", |
+ 0x98: "\u02DC", |
+ 0x99: "\u2122", |
+ 0x9A: "\u0161", |
+ 0x9B: "\u203A", |
+ 0x9C: "\u0153", |
+ 0x9D: "\u009D", |
+ 0x9E: "\u017E", |
+ 0x9F: "\u0178" |
+}; |
-final Map<String, String> encodings = const { |
+const Map<String, String> encodings = const { |
'437': 'cp437', |
'850': 'cp850', |
'852': 'cp852', |