Remove Either2.mapAsync(), test toString().
We can use just `map()` with the right return type.
R=brianwilkerson@google.com
Change-Id: I9b05e75babd9019876a6194d6b49bf2b7e3982f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index d2aa9d6..35f7890 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -622,7 +622,7 @@
Future<LibraryElement> getLibraryByUri(String uri) async {
var uriObj = Uri.parse(uri);
var fileOr = _fsState.getFileForUri(uriObj);
- return fileOr.mapAsync(
+ return fileOr.map(
(file) async {
if (file == null) {
throw ArgumentError('$uri cannot be resolved to a file.');
@@ -751,7 +751,7 @@
/// to "idle".
Future<ResolvedLibraryResult> getResolvedLibraryByUri(Uri uri) {
var fileOr = _fsState.getFileForUri(uri);
- return fileOr.mapAsync(
+ return fileOr.map(
(file) {
if (file == null) {
throw ArgumentError('URI cannot be resolved: $uri');
diff --git a/pkg/analyzer/lib/src/util/either.dart b/pkg/analyzer/lib/src/util/either.dart
index e65e352..6835936 100644
--- a/pkg/analyzer/lib/src/util/either.dart
+++ b/pkg/analyzer/lib/src/util/either.dart
@@ -23,14 +23,6 @@
}
}
- Future<T> mapAsync<T>(Future<T> Function(T1) f1, Future<T> Function(T2) f2) {
- if (_which == 1) {
- return f1(_value as T1);
- } else {
- return f2(_value as T2);
- }
- }
-
@override
String toString() => map((t) => t.toString(), (t) => t.toString());
}
diff --git a/pkg/analyzer/test/src/util/either_test.dart b/pkg/analyzer/test/src/util/either_test.dart
index 52f4799..bd6c634 100644
--- a/pkg/analyzer/test/src/util/either_test.dart
+++ b/pkg/analyzer/test/src/util/either_test.dart
@@ -23,4 +23,14 @@
var either = Either2<int, String>.t2('hello');
expect(either.map((_) => throw 'unexpected', (x) => x.length), 5);
}
+
+ void test_toString_t1() {
+ var either = Either2<int, String>.t1(42);
+ expect(either.toString(), '42');
+ }
+
+ void test_toString_t2() {
+ var either = Either2<int, String>.t2('hello');
+ expect(either.toString(), 'hello');
+ }
}