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');
+  }
 }