Throw FileSystemException from _FileSystemEntityAdaptor when the file does not exist.

According to the `FileSystemEntity.readAsBytes` documentation, we
should throw this exception. This breaks some tests, but it is OK.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33719
Change-Id: Iddd0a7291fc87dbd43bfb2083e5dc46d5b007495
Reviewed-on: https://dart-review.googlesource.com/64021
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/frontend_resolution.dart b/pkg/analyzer/lib/src/dart/analysis/frontend_resolution.dart
index 5d1c2b2..f5801cd 100644
--- a/pkg/analyzer/lib/src/dart/analysis/frontend_resolution.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/frontend_resolution.dart
@@ -477,23 +477,25 @@
 
   @override
   Future<bool> exists() async {
-    // TODO(brianwilkerson) Determine whether this await is necessary.
-    await null;
     return file.exists;
   }
 
   @override
   Future<List<int>> readAsBytes() async {
-    // TODO(brianwilkerson) Determine whether this await is necessary.
-    await null;
+    _throwIfDoesNotExist();
     // TODO(scheglov) Optimize.
     return utf8.encode(file.content);
   }
 
   @override
   Future<String> readAsString() async {
-    // TODO(brianwilkerson) Determine whether this await is necessary.
-    await null;
+    _throwIfDoesNotExist();
     return file.content;
   }
+
+  void _throwIfDoesNotExist() {
+    if (!file.exists) {
+      throw new front_end.FileSystemException(uri, 'File not found');
+    }
+  }
 }
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_kernel_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_kernel_test.dart
index a78089a..b793f1b 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_kernel_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_kernel_test.dart
@@ -80,30 +80,30 @@
     await super.test_const_implicitSuperConstructorInvocation();
   }
 
-  @failingTest
-  @potentialAnalyzerProblem
   @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
   test_errors_uriDoesNotExist_export() async {
     await super.test_errors_uriDoesNotExist_export();
   }
 
-  @failingTest
-  @potentialAnalyzerProblem
   @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
   test_errors_uriDoesNotExist_import() async {
     await super.test_errors_uriDoesNotExist_import();
   }
 
-  @failingTest
-  @potentialAnalyzerProblem
   @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
   test_errors_uriDoesNotExist_import_deferred() async {
     await super.test_errors_uriDoesNotExist_import_deferred();
   }
 
-  @failingTest
-  @potentialAnalyzerProblem
   @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
   test_errors_uriDoesNotExist_part() async {
     await super.test_errors_uriDoesNotExist_part();
   }
@@ -125,6 +125,13 @@
     await super.test_getErrors();
   }
 
+  @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
+  test_getResult_doesNotExist() async {
+    await super.test_getResult_doesNotExist();
+  }
+
   @failingTest
   @potentialAnalyzerProblem
   @override
diff --git a/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart b/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
index 86116af..1f19003 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart
@@ -228,6 +228,13 @@
     await super.test_parameter_checked_inherited();
   }
 
+  @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
+  test_parts_invalidUri() async {
+    await super.test_parts_invalidUri();
+  }
+
   @failingTest
   @potentialAnalyzerProblem
   test_setter_inferred_type_conflictingInheritance() async {
@@ -246,6 +253,27 @@
     await super.test_unresolved_annotation_instanceCreation_argument_super();
   }
 
+  @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
+  test_unresolved_export() async {
+    await super.test_unresolved_export();
+  }
+
+  @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
+  test_unresolved_import() async {
+    await super.test_unresolved_import();
+  }
+
+  @override
+  @failingTest
+  @FastaProblem('https://github.com/dart-lang/sdk/issues/33719')
+  test_unresolved_part() async {
+    await super.test_unresolved_part();
+  }
+
   Future<KernelResynthesizer> _createResynthesizer(Uri testUri) async {
     var logger = new PerformanceLog(null);
     var byteStore = new MemoryByteStore();