Version 2.14.0-71.0.dev

Merge commit '8f655daeda1f9588fdc767a1c818a5230b675c9a' into 'dev'
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_byte_store.dart b/pkg/analyzer/lib/src/dart/analysis/file_byte_store.dart
index ef80de5..d4d3e04 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_byte_store.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_byte_store.dart
@@ -184,22 +184,21 @@
     final List<int> wrappedBytes = _validator.wrapData(bytes);
 
     // We don't wait for the write and rename to complete.
-    _pool.execute(() {
+    _pool.execute(() async {
       var tempPath = join(_cachePath, '$key$_tempSuffix');
       var tempFile = File(tempPath);
-      return tempFile.writeAsBytes(wrappedBytes).then((_) {
+      try {
+        await tempFile.writeAsBytes(wrappedBytes);
         var shardPath = _getShardPath(key);
-        return Directory(shardPath).create(recursive: true).then((_) {
-          var path = join(shardPath, key);
-          return tempFile.rename(path);
-        });
-      }).catchError((_) {
-        // ignore exceptions
-      }).whenComplete(() {
+        await Directory(shardPath).create(recursive: true);
+        var path = join(shardPath, key);
+        await tempFile.rename(path);
         if (_writeInProgress[key] == bytes) {
           _writeInProgress.remove(key);
         }
-      });
+      } catch (_) {
+        // ignore exceptions
+      }
     });
   }
 
diff --git a/pkg/analyzer/lib/src/error/codes.dart b/pkg/analyzer/lib/src/error/codes.dart
index dcb61d0..2ca44d5 100644
--- a/pkg/analyzer/lib/src/error/codes.dart
+++ b/pkg/analyzer/lib/src/error/codes.dart
@@ -3763,12 +3763,13 @@
 
   static const CompileTimeErrorCode
       EXTENDS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER = CompileTimeErrorCode(
-          'EXTENDS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER',
+          'SUPERTYPE_EXPANDS_TO_TYPE_PARAMETER',
           "Type aliases that expand to a type parameter can't be used as "
               "superclasses.",
           correction:
               "Try specifying a different superclass, or removing the extends "
-              "clause.");
+              "clause.",
+          uniqueName: 'EXTENDS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER');
 
   /**
    * Parameters:
@@ -5363,9 +5364,10 @@
 
   static const CompileTimeErrorCode
       IMPLEMENTS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER = CompileTimeErrorCode(
-          'IMPLEMENTS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER',
+          'SUPERTYPE_EXPANDS_TO_TYPE_PARAMETER',
           "Type aliases that expand to a type parameter can't be implemented.",
-          correction: "Try specifying a class or mixin, or removing the list.");
+          correction: "Try specifying a class or mixin, or removing the list.",
+          uniqueName: 'IMPLEMENTS_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER');
 
   /**
    * Parameters:
@@ -7987,14 +7989,16 @@
 
   static const CompileTimeErrorCode
       MIXIN_OF_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER = CompileTimeErrorCode(
-          'MIXIN_OF_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER',
-          "Type aliases that expand to a type parameter can't be mixed in.");
+          'SUPERTYPE_EXPANDS_TO_TYPE_PARAMETER',
+          "Type aliases that expand to a type parameter can't be mixed in.",
+          uniqueName: 'MIXIN_OF_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER');
 
   static const CompileTimeErrorCode
       MIXIN_ON_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER = CompileTimeErrorCode(
-          'MIXIN_ON_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER',
+          'SUPERTYPE_EXPANDS_TO_TYPE_PARAMETER',
           "Type aliases that expand to a type parameter can't be used as"
-              "superclass constraints.");
+              "superclass constraints.",
+          uniqueName: 'MIXIN_ON_TYPE_ALIAS_EXPANDS_TO_TYPE_PARAMETER');
 
   /**
    * No parameters.
diff --git a/tools/VERSION b/tools/VERSION
index 43fcd00..62e3603 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 70
+PRERELEASE 71
 PRERELEASE_PATCH 0
\ No newline at end of file