[dart2js] Fixing some nullability errors in linked_hash_map.dart.

This is responsible for some overzealous tree-shaking in the failures seen in: https://dart-review.googlesource.com/c/sdk/+/144671

Change-Id: I039a7dd2162601adf2d3c7e883ad6d98ba95cd9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/146025
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
This commit is contained in:
Mark Zhou 2020-05-04 16:32:57 +00:00 committed by commit-bot@chromium.org
parent c562a628bd
commit bc4c0428be

View file

@ -97,12 +97,12 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
if (_isStringKey(key)) { if (_isStringKey(key)) {
var strings = _strings; var strings = _strings;
if (strings == null) return null; if (strings == null) return null;
LinkedHashMapCell cell = _getTableCell(strings, key); LinkedHashMapCell? cell = _getTableCell(strings, key);
return JS('', '#', cell == null ? null : cell.hashMapCellValue); return JS('', '#', cell == null ? null : cell.hashMapCellValue);
} else if (_isNumericKey(key)) { } else if (_isNumericKey(key)) {
var nums = _nums; var nums = _nums;
if (nums == null) return null; if (nums == null) return null;
LinkedHashMapCell cell = _getTableCell(nums, key); LinkedHashMapCell? cell = _getTableCell(nums, key);
return JS('', '#', cell == null ? null : cell.hashMapCellValue); return JS('', '#', cell == null ? null : cell.hashMapCellValue);
} else { } else {
return internalGet(key); return internalGet(key);
@ -221,7 +221,7 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
V? _removeHashTableEntry(var table, Object? key) { V? _removeHashTableEntry(var table, Object? key) {
if (table == null) return null; if (table == null) return null;
LinkedHashMapCell cell = _getTableCell(table, key); LinkedHashMapCell? cell = _getTableCell(table, key);
if (cell == null) return null; if (cell == null) return null;
_unlinkCell(cell); _unlinkCell(cell);
_deleteTableEntry(table, key); _deleteTableEntry(table, key);
@ -289,7 +289,7 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
return JS('int', '# & 0x3ffffff', key.hashCode); return JS('int', '# & 0x3ffffff', key.hashCode);
} }
List<LinkedHashMapCell> _getBucket(var table, var key) { List<LinkedHashMapCell>? _getBucket(var table, var key) {
var hash = internalComputeHashCode(key); var hash = internalComputeHashCode(key);
return _getTableBucket(table, hash); return _getTableBucket(table, hash);
} }
@ -306,11 +306,11 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
String toString() => MapBase.mapToString(this); String toString() => MapBase.mapToString(this);
LinkedHashMapCell _getTableCell(var table, var key) { LinkedHashMapCell? _getTableCell(var table, var key) {
return JS('var', '#[#]', table, key); return JS('var', '#[#]', table, key);
} }
List<LinkedHashMapCell> _getTableBucket(var table, var key) { List<LinkedHashMapCell>? _getTableBucket(var table, var key) {
return JS('var', '#[#]', table, key); return JS('var', '#[#]', table, key);
} }
@ -324,7 +324,7 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
} }
bool _containsTableEntry(var table, var key) { bool _containsTableEntry(var table, var key) {
LinkedHashMapCell cell = _getTableCell(table, key); LinkedHashMapCell? cell = _getTableCell(table, key);
return cell != null; return cell != null;
} }
@ -344,12 +344,12 @@ class JsLinkedHashMap<K, V> extends MapBase<K, V>
class Es6LinkedHashMap<K, V> extends JsLinkedHashMap<K, V> { class Es6LinkedHashMap<K, V> extends JsLinkedHashMap<K, V> {
@override @override
LinkedHashMapCell _getTableCell(var table, var key) { LinkedHashMapCell? _getTableCell(var table, var key) {
return JS('var', '#.get(#)', table, key); return JS('var', '#.get(#)', table, key);
} }
@override @override
List<LinkedHashMapCell> _getTableBucket(var table, var key) { List<LinkedHashMapCell>? _getTableBucket(var table, var key) {
return JS('var', '#.get(#)', table, key); return JS('var', '#.get(#)', table, key);
} }