Version 2.12.0-178.0.dev

Merge commit 'e997621c0f23b2d954ea36f133e089cd4e397867' into 'dev'
diff --git a/pkg/compiler/lib/src/js_backend/namer.dart b/pkg/compiler/lib/src/js_backend/namer.dart
index 5ebc469..da1e7f9 100644
--- a/pkg/compiler/lib/src/js_backend/namer.dart
+++ b/pkg/compiler/lib/src/js_backend/namer.dart
@@ -4,8 +4,6 @@
 
 library js_backend.namer;
 
-import 'dart:collection' show HashMap;
-
 import 'package:front_end/src/api_unstable/dart2js.dart'
     show $0, $9, $A, $Z, $_, $a, $g, $s, $z;
 
@@ -505,12 +503,12 @@
   /// [_disambiguateMember], [_disambiguateInternalMember],
   /// [_disambiguateOperator], and [reservePublicMemberName].
   final NamingScope instanceScope = NamingScope();
-  final Map<String, jsAst.Name> userInstanceMembers = HashMap();
-  final Map<String, String> userInstanceMembersOriginalName = HashMap();
-  final Map<MemberEntity, jsAst.Name> internalInstanceMembers = HashMap();
-  final Map<String, jsAst.Name> userInstanceOperators = HashMap();
-  final Map<jsAst.Name, jsAst.Name> userGetters = HashMap();
-  final Map<jsAst.Name, jsAst.Name> userSetters = HashMap();
+  final Map<String, jsAst.Name> userInstanceMembers = {};
+  final Map<String, String> userInstanceMembersOriginalName = {};
+  final Map<MemberEntity, jsAst.Name> internalInstanceMembers = {};
+  final Map<String, jsAst.Name> userInstanceOperators = {};
+  final Map<jsAst.Name, jsAst.Name> userGetters = {};
+  final Map<jsAst.Name, jsAst.Name> userSetters = {};
   final Map<TypeVariableEntity, jsAst.Name> _typeVariableNames = {};
 
   Map<String, String> createMinifiedInstanceNameMap() {
@@ -538,9 +536,9 @@
 
   final Map<String, int> popularNameCounters = {};
 
-  final Map<LibraryEntity, String> libraryLongNames = HashMap();
+  final Map<LibraryEntity, String> libraryLongNames = {};
 
-  final Map<ConstantValue, jsAst.Name> _constantNames = HashMap();
+  final Map<ConstantValue, jsAst.Name> _constantNames = {};
   final Map<ConstantValue, String> _constantLongNames = {};
   ConstantCanonicalHasher _constantHasher;
 
@@ -551,7 +549,7 @@
   /// Used to store unique keys for library names. Keys are not used as names,
   /// nor are they visible in the output. The only serve as an internal
   /// key into maps.
-  final Map<LibraryEntity, String> _libraryKeys = HashMap();
+  final Map<LibraryEntity, String> _libraryKeys = {};
 
   Namer(this._closedWorld, this.fixedNames) {
     _literalGetterPrefix = new StringBackedName(fixedNames.getterPrefix);
@@ -1495,7 +1493,7 @@
   // parts with the fast-startup emitter.
   String get typesOffsetName => r'typesOffset';
 
-  Map<FunctionType, jsAst.Name> functionTypeNameMap = HashMap();
+  Map<FunctionType, jsAst.Name> functionTypeNameMap = {};
 
   FunctionTypeNamer _functionTypeNamer;
 
diff --git a/pkg/dev_compiler/tool/ddb b/pkg/dev_compiler/tool/ddb
index 023d555..a87d416 100755
--- a/pkg/dev_compiler/tool/ddb
+++ b/pkg/dev_compiler/tool/ddb
@@ -116,7 +116,7 @@
   var verbose = options['verbose'] as bool;
   var soundNullSafety = options['sound-null-safety'] as bool;
   var nonNullAsserts = options['null-assertions'] as bool;
-  var nativeNonNullAsserts = options['null-assertions'] as bool;
+  var nativeNonNullAsserts = options['native-null-assertions'] as bool;
   var weakNullSafetyErrors = options['weak-null-safety-errors'] as bool;
   var entry = p.canonicalize(options.rest.first);
   var out = (options['out'] as String) ?? p.setExtension(entry, '.js');
@@ -323,15 +323,6 @@
           ['--inspect=localhost:$port', nodeFile], {'NODE_PATH': nodePath});
       if (await process.exitCode != 0) exit(await process.exitCode);
     } else if (d8) {
-      // Fix SDK import.  `d8` doesn't let us set paths, so we need a full path
-      // to the SDK.
-
-      var jsFile = File(out);
-      var jsContents = jsFile.readAsStringSync();
-      jsContents = jsContents.replaceFirst(
-          "from 'dart_sdk.js'", "from '$sdkJsPath/dart_sdk.js'");
-      jsFile.writeAsStringSync(jsContents);
-
       var runjs = '''
 load("$ddcPath/lib/js/legacy/dart_library.js");
 load("$sdkJsPath/dart_sdk.js");
@@ -350,7 +341,7 @@
       var d8File = p.setExtension(out, '.d8.js');
       File(d8File).writeAsStringSync(runjs);
       var d8Binary = binary ?? p.join(dartCheckoutPath, _d8executable);
-      var process = await startProcess('D8', d8Binary, ['--module', d8File]);
+      var process = await startProcess('D8', d8Binary, [d8File]);
       if (await process.exitCode != 0) exit(await process.exitCode);
     }
   }
diff --git a/tools/VERSION b/tools/VERSION
index 096bb65..ef0bcd0 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 12
 PATCH 0
-PRERELEASE 177
+PRERELEASE 178
 PRERELEASE_PATCH 0
\ No newline at end of file