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

Unified Diff: pkg/front_end/lib/src/fasta/util/link.dart

Issue 2675603002: Reduce strong mode errors and warnings (Closed)
Patch Set: don't override isAbstract, it's already defined in ModifierBuilder Created 3 years, 10 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
Index: pkg/front_end/lib/src/fasta/util/link.dart
diff --git a/pkg/front_end/lib/src/fasta/util/link.dart b/pkg/front_end/lib/src/fasta/util/link.dart
index a8f1b653ef7bd9a45a6ff5a59269feff956a99e1..0748e6123dcd448ebf0976e3895450a0689fbfb8 100644
--- a/pkg/front_end/lib/src/fasta/util/link.dart
+++ b/pkg/front_end/lib/src/fasta/util/link.dart
@@ -40,8 +40,8 @@ class Link<T> implements Iterable<T> {
}
/// Lazily maps over this linked list, returning an [Iterable].
- Iterable map(dynamic fn(T item)) {
- return new MappedLinkIterable<T, dynamic>(this, fn);
+ Iterable<K> map<K>(K fn(T item)) {
+ return new MappedLinkIterable<T, K>(this, fn);
}
/// Invokes `fn` for every item in the linked list and returns the results
@@ -94,7 +94,7 @@ class Link<T> implements Iterable<T> {
int slowLength() => 0;
// TODO(ahe): Remove this method?
- bool contains(T element) {
+ bool contains(Object element) {
for (Link<T> link = this; !link.isEmpty; link = link.tail) {
if (link.head == element) return true;
}
@@ -131,9 +131,11 @@ class Link<T> implements Iterable<T> {
//
bool any(bool f(T e)) => _unsupported('any');
T elementAt(int i) => _unsupported('elementAt');
- Iterable expand(Iterable f(T e)) => _unsupported('expand');
+ Iterable<K> expand<K>(Iterable<K> f(T e)) => _unsupported('expand');
T firstWhere(bool f(T e), {T orElse()}) => _unsupported('firstWhere');
- fold(initialValue, combine(value, T element)) => _unsupported('fold');
+ K fold<K>(K initialValue, K combine(K value, T element)) {
+ return _unsupported('fold');
+ }
T get last => _unsupported('get:last');
T lastWhere(bool f(T e), {T orElse()}) => _unsupported('lastWhere');
String join([separator = '']) => _unsupported('join');
@@ -151,7 +153,7 @@ class Link<T> implements Iterable<T> {
/// Builder object for creating linked lists using [Link] or fixed-length [List]
/// objects.
abstract class LinkBuilder<T> {
- factory LinkBuilder() = LinkBuilderImplementation;
+ factory LinkBuilder() = LinkBuilderImplementation<T>;
/// Prepends all elements added to the builder to [tail]. The resulting list
/// is returned and the builder is cleared.

Powered by Google App Engine
This is Rietveld 408576698