diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7cfff32..6284408 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+## 2.18.0
+
+### Core libraries
+
+#### `dart:html`
+
+- Add `connectionState` attribute and `connectionstatechange` listener to
+  `RtcPeerConnection`.
+
 ## 2.17.0
 
 ### Core libraries
diff --git a/pkg/analyzer/lib/src/dart/analysis/search.dart b/pkg/analyzer/lib/src/dart/analysis/search.dart
index f6af5ab..477404f 100644
--- a/pkg/analyzer/lib/src/dart/analysis/search.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/search.dart
@@ -167,125 +167,9 @@
   Future<void> declarations(
       WorkspaceSymbols result, RegExp? regExp, int? maxResults,
       {String? onlyForFile, CancellationToken? cancellationToken}) async {
-    if (result.hasMoreDeclarationsThan(maxResults)) {
-      return;
-    }
-
-    void addDeclaration(LineInfo lineInfo, Element element) {
-      if (result.hasMoreDeclarationsThan(maxResults)) {
-        throw const _MaxNumberOfDeclarationsError();
-      }
-
-      if (element.isSynthetic) {
-        return;
-      }
-
-      var source = element.source;
-      if (source == null) {
-        return;
-      }
-
-      var path = source.fullName;
-      if (onlyForFile != null && path != onlyForFile) {
-        return;
-      }
-
-      var name = element.name;
-      if (name == null || name.isEmpty) {
-        return;
-      }
-      if (name.endsWith('=')) {
-        name = name.substring(0, name.length - 1);
-      }
-      if (regExp != null && !regExp.hasMatch(name)) {
-        return;
-      }
-
-      var enclosing = element.enclosingElement;
-
-      String? className;
-      String? mixinName;
-      if (enclosing is ClassElement) {
-        if (enclosing.isEnum) {
-          // skip
-        } else if (enclosing.isMixin) {
-          mixinName = enclosing.name;
-        } else {
-          className = enclosing.name;
-        }
-      }
-
-      var kind = _getSearchElementKind(element);
-      if (kind == null) {
-        return;
-      }
-
-      String? parameters;
-      if (element is ExecutableElement) {
-        var displayString = element.getDisplayString(withNullability: true);
-        var parameterIndex = displayString.indexOf('(');
-        if (parameterIndex > 0) {
-          parameters = displayString.substring(parameterIndex);
-        }
-      }
-
-      element as ElementImpl; // to access codeOffset/codeLength
-      var locationOffset = element.nameOffset;
-      var locationStart = lineInfo.getLocation(locationOffset);
-
-      result.declarations.add(
-        Declaration(
-          result._getPathIndex(path),
-          lineInfo,
-          name,
-          kind,
-          locationOffset,
-          locationStart.lineNumber,
-          locationStart.columnNumber,
-          element.codeOffset ?? 0,
-          element.codeLength ?? 0,
-          className,
-          mixinName,
-          parameters,
-        ),
-      );
-    }
-
-    await _driver.discoverAvailableFiles();
-
-    if (cancellationToken?.isCancellationRequested ?? false) {
-      result.cancelled = true;
-      return;
-    }
-
-    var knownFiles = _driver.fsState.knownFiles.toList();
-    var filesProcessed = 0;
-    for (var file in knownFiles) {
-      var libraryElement = _driver.getLibraryByFile(file);
-      if (libraryElement != null) {
-        for (var unitElement in libraryElement.units) {
-          try {
-            unitElement.accept(
-              _FunctionElementVisitor((element) {
-                addDeclaration(unitElement.lineInfo, element);
-              }),
-            );
-          } on _MaxNumberOfDeclarationsError {
-            return;
-          }
-        }
-      }
-      filesProcessed++;
-
-      // Periodically yield and check cancellation token.
-      if (cancellationToken != null && filesProcessed % 20 == 0) {
-        await null; // allow cancellation requests to be processed.
-        if (cancellationToken.isCancellationRequested) {
-          result.cancelled = true;
-          return;
-        }
-      }
-    }
+    await _FindDeclarations(_driver, result, regExp, maxResults,
+            onlyForFile: onlyForFile)
+        .compute(cancellationToken);
   }
 
   /// Returns references to the [element].
@@ -876,16 +760,209 @@
   }
 }
 
-/// A visitor that handles any element with a function.
-class _FunctionElementVisitor extends GeneralizingElementVisitor<void> {
-  final void Function(Element element) process;
+class _FindDeclarations {
+  final AnalysisDriver driver;
+  final WorkspaceSymbols result;
+  final int? maxResults;
+  final RegExp? regExp;
+  final String? onlyForFile;
 
-  _FunctionElementVisitor(this.process);
+  _FindDeclarations(this.driver, this.result, this.regExp, this.maxResults,
+      {this.onlyForFile});
 
-  @override
-  void visitElement(Element element) {
-    process(element);
-    super.visitElement(element);
+  /// Add matching declarations to the [result].
+  Future<void> compute(CancellationToken? cancellationToken) async {
+    if (result.hasMoreDeclarationsThan(maxResults)) {
+      return;
+    }
+
+    await driver.discoverAvailableFiles();
+
+    if (cancellationToken != null &&
+        cancellationToken.isCancellationRequested) {
+      result.cancelled = true;
+      return;
+    }
+
+    var knownFiles = driver.fsState.knownFiles.toList();
+    var filesProcessed = 0;
+    try {
+      for (var file in knownFiles) {
+        var libraryElement = driver.getLibraryByFile(file);
+        if (libraryElement != null) {
+          _addUnits(file, libraryElement.units);
+        }
+
+        // Periodically yield and check cancellation token.
+        if (cancellationToken != null && (filesProcessed++) % 20 == 0) {
+          await null; // allow cancellation requests to be processed.
+          if (cancellationToken.isCancellationRequested) {
+            result.cancelled = true;
+            return;
+          }
+        }
+      }
+    } on _MaxNumberOfDeclarationsError {
+      return;
+    }
+  }
+
+  void _addAccessors(FileState file, List<PropertyAccessorElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      if (!element.isSynthetic) {
+        _addDeclaration(file, element, element.displayName);
+      }
+    }
+  }
+
+  void _addClasses(FileState file, List<ClassElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      _addDeclaration(file, element, element.name);
+      _addAccessors(file, element.accessors);
+      _addConstructors(file, element.constructors);
+      _addFields(file, element.fields);
+      _addMethods(file, element.methods);
+    }
+  }
+
+  void _addConstructors(FileState file, List<ConstructorElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      if (!element.isSynthetic) {
+        _addDeclaration(file, element, element.name);
+      }
+    }
+  }
+
+  void _addDeclaration(FileState file, Element element, String name) {
+    if (result.hasMoreDeclarationsThan(maxResults)) {
+      throw const _MaxNumberOfDeclarationsError();
+    }
+
+    if (onlyForFile != null && file.path != onlyForFile) {
+      return;
+    }
+
+    if (regExp != null && !regExp!.hasMatch(name)) {
+      return;
+    }
+
+    var enclosing = element.enclosingElement;
+
+    String? className;
+    String? mixinName;
+    if (enclosing is ClassElement) {
+      if (enclosing.isEnum) {
+        // skip
+      } else if (enclosing.isMixin) {
+        mixinName = enclosing.name;
+      } else {
+        className = enclosing.name;
+      }
+    }
+
+    var kind = _getSearchElementKind(element);
+    if (kind == null) {
+      return;
+    }
+
+    String? parameters;
+    if (element is ExecutableElement) {
+      var displayString = element.getDisplayString(withNullability: true);
+      var parameterIndex = displayString.indexOf('(');
+      if (parameterIndex > 0) {
+        parameters = displayString.substring(parameterIndex);
+      }
+    }
+
+    element as ElementImpl; // to access codeOffset/codeLength
+    var locationOffset = element.nameOffset;
+    var locationStart = file.lineInfo.getLocation(locationOffset);
+
+    result.declarations.add(
+      Declaration(
+        result._getPathIndex(file.path),
+        file.lineInfo,
+        name,
+        kind,
+        locationOffset,
+        locationStart.lineNumber,
+        locationStart.columnNumber,
+        element.codeOffset ?? 0,
+        element.codeLength ?? 0,
+        className,
+        mixinName,
+        parameters,
+      ),
+    );
+  }
+
+  void _addExtensions(FileState file, List<ExtensionElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      var name = element.name;
+      if (name != null) {
+        _addDeclaration(file, element, name);
+      }
+      _addAccessors(file, element.accessors);
+      _addFields(file, element.fields);
+      _addMethods(file, element.methods);
+    }
+  }
+
+  void _addFields(FileState file, List<FieldElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      if (!element.isSynthetic) {
+        _addDeclaration(file, element, element.name);
+      }
+    }
+  }
+
+  void _addFunctions(FileState file, List<FunctionElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      _addDeclaration(file, element, element.name);
+    }
+  }
+
+  void _addMethods(FileState file, List<MethodElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      _addDeclaration(file, element, element.name);
+    }
+  }
+
+  void _addTypeAliases(FileState file, List<TypeAliasElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      _addDeclaration(file, element, element.name);
+    }
+  }
+
+  void _addUnits(FileState file, List<CompilationUnitElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      _addAccessors(file, element.accessors);
+      _addClasses(file, element.classes);
+      _addClasses(file, element.enums);
+      _addClasses(file, element.mixins);
+      _addExtensions(file, element.extensions);
+      _addFunctions(file, element.functions);
+      _addTypeAliases(file, element.typeAliases);
+      _addVariables(file, element.topLevelVariables);
+    }
+  }
+
+  void _addVariables(FileState file, List<TopLevelVariableElement> elements) {
+    for (var i = 0; i < elements.length; i++) {
+      var element = elements[i];
+      if (!element.isSynthetic) {
+        _addDeclaration(file, element, element.name);
+      }
+    }
   }
 }
 
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index 234a6ec..fc3afd1 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -237,6 +237,30 @@
         offset: 18, codeOffset: 18, codeLength: 3);
   }
 
+  test_declarations_extension() async {
+    await resolveTestCode('''
+extension E on int {
+  int f;
+  int get g => 0;
+  void set s(_) {}
+  void m() {}
+}
+''');
+    var results = WorkspaceSymbols();
+    await driver.search.declarations(results, null, null);
+    var declarations = results.declarations;
+    declarations.assertHas('E', DeclarationKind.EXTENSION,
+        offset: 10, codeOffset: 0, codeLength: 82);
+    declarations.assertHas('f', DeclarationKind.FIELD,
+        offset: 27, codeOffset: 23, codeLength: 5);
+    declarations.assertHas('g', DeclarationKind.GETTER,
+        offset: 40, codeOffset: 32, codeLength: 15);
+    declarations.assertHas('s', DeclarationKind.SETTER,
+        offset: 59, codeOffset: 50, codeLength: 16);
+    declarations.assertHas('m', DeclarationKind.METHOD,
+        offset: 74, codeOffset: 69, codeLength: 11);
+  }
+
   test_declarations_maxResults() async {
     await resolveTestCode('''
 class A {}
diff --git a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
index 954761a..64302a5 100644
--- a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
@@ -16,34 +16,8 @@
 
 @reflectiveTest
 class UnitApiSignatureTest extends ParseBase {
-  void assertNotSameSignature(String oldCode, String newCode) {
-    assertSignature(oldCode, newCode, same: false);
-  }
-
-  void assertSameSignature(String oldCode, String newCode) {
-    assertSignature(oldCode, newCode, same: true);
-  }
-
-  void assertSignature(String oldCode, String newCode, {required bool same}) {
-    var path = convertPath('/test.dart');
-
-    newFile2(path, oldCode);
-    var oldUnit = parseUnit(path).unit;
-    var oldSignature = computeUnlinkedApiSignature(oldUnit);
-
-    newFile2(path, newCode);
-    var newUnit = parseUnit(path).unit;
-    var newSignature = computeUnlinkedApiSignature(newUnit);
-
-    if (same) {
-      expect(newSignature, oldSignature);
-    } else {
-      expect(newSignature, isNot(oldSignature));
-    }
-  }
-
   test_class_annotation() async {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 const a = 0;
 
 class C {}
@@ -56,7 +30,7 @@
   }
 
   test_class_constructor_block_to_empty() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   C() {
     var v = 1;
@@ -70,7 +44,7 @@
   }
 
   test_class_constructor_body() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   C() {
     var v = 1;
@@ -86,7 +60,7 @@
   }
 
   test_class_constructor_empty_to_block() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   C();
 }
@@ -100,7 +74,7 @@
   }
 
   test_class_constructor_initializer_const() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   final int f;
   const C() : f = 1;
@@ -114,7 +88,7 @@
   }
 
   test_class_constructor_initializer_empty() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   C.foo() : ;
 }
@@ -127,7 +101,7 @@
 
   /// See https://github.com/dart-lang/sdk/issues/46206
   test_class_constructor_initializer_notConst() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   final int f;
   C.foo() : f = 1;
@@ -143,7 +117,7 @@
   }
 
   test_class_constructor_parameters_add() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   C(int a);
 }
@@ -155,7 +129,7 @@
   }
 
   test_class_constructor_parameters_remove() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   C(int a, int b);
 }
@@ -167,7 +141,7 @@
   }
 
   test_class_constructor_parameters_rename() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   C(int a);
 }
@@ -179,7 +153,7 @@
   }
 
   test_class_constructor_parameters_type() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   C(int p);
 }
@@ -191,7 +165,7 @@
   }
 
   test_class_constructor_redirectedConstructor_const() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {
   const factory A() = B.foo;
 }
@@ -211,7 +185,7 @@
   }
 
   test_class_constructor_redirectedConstructor_notConst() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {
   factory A() = B.foo;
 }
@@ -231,7 +205,7 @@
   }
 
   test_class_documentation_add() async {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {}
 ''', r'''
 /// foo
@@ -240,7 +214,7 @@
   }
 
   test_class_documentation_change() async {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 /// foo
 class C {}
 ''', r'''
@@ -250,7 +224,7 @@
   }
 
   test_class_documentation_remove() async {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 /// foo
 class C {}
 ''', r'''
@@ -259,7 +233,7 @@
   }
 
   test_class_extends() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 class B {}
 ''', r'''
@@ -273,7 +247,7 @@
   /// byte sequence as the empty string. But these are different ASTs,
   /// so they should have different signatures.
   test_class_factoryConstructor_addEqNothing() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {
   factory A();
 }
@@ -290,7 +264,7 @@
   /// at the same position, without any separator, so failed to see the
   /// difference.
   test_class_factoryConstructor_empty_to_eq() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {
   factory A();
   static void foo<U>() {}
@@ -304,7 +278,7 @@
   }
 
   test_class_field_const_add_outOfOrder() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {
   static f = Object();
 }
@@ -316,117 +290,8 @@
 ''');
   }
 
-  test_class_field_const_add_outOfOrder_hasFinal() {
-    assertNotSameSignature(r'''
-class A {
-  static final f = Object();
-}
-''', r'''
-class A {
-  const
-  static final f = Object();
-}
-''');
-  }
-
-  test_class_field_final_add() {
-    assertNotSameSignature(r'''
-class C {
-  int a = 0;
-}
-''', r'''
-class C {
-  final int a = 0;
-}
-''');
-  }
-
-  test_class_field_late_add() {
-    assertNotSameSignature(r'''
-class C {
-  int a;
-}
-''', r'''
-class C {
-  late int a;
-}
-''');
-  }
-
-  test_class_field_late_remove() {
-    assertNotSameSignature(r'''
-class C {
-  late int a;
-}
-''', r'''
-class C {
-  int a;
-}
-''');
-  }
-
-  test_class_field_static_add() {
-    assertNotSameSignature(r'''
-class C {
-  int a;
-}
-''', r'''
-class C {
-  static int a;
-}
-''');
-  }
-
-  test_class_field_withoutType() {
-    assertNotSameSignature(r'''
-class C {
-  var a = 1;
-}
-''', r'''
-class C {
-  var a = 2;
-}
-''');
-  }
-
-  test_class_field_withoutType2() {
-    assertNotSameSignature(r'''
-class C {
-  var a = 1, b = 2, c, d = 4;
-}
-''', r'''
-class C {
-  var a = 1, b, c = 3, d = 4;
-}
-''');
-  }
-
-  test_class_field_withType() {
-    assertSameSignature(r'''
-class C {
-  int a = 1;
-}
-''', r'''
-class C {
-  int a = 2;
-}
-''');
-  }
-
-  test_class_field_withType_const() {
-    assertNotSameSignature(r'''
-class C {
-  static const int a = 1;
-}
-''', r'''
-class C {
-  static const int a = 2;
-}
-''');
-  }
-
   test_class_field_withType_final_hasConstConstructor() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {
   final int a = 1;
   const C();
@@ -439,20 +304,8 @@
 ''');
   }
 
-  test_class_field_withType_final_noConstConstructor() {
-    assertSameSignature(r'''
-class C {
-  final int a = 1;
-}
-''', r'''
-class C {
-  final int a = 2;
-}
-''');
-  }
-
   test_class_field_withType_hasConstConstructor() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   int a = 1;
   const C();
@@ -466,7 +319,7 @@
   }
 
   test_class_field_withType_static_final_hasConstConstructor() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   static final int a = 1;
   const C();
@@ -480,7 +333,7 @@
   }
 
   test_class_field_withType_static_hasConstConstructor() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 class C {
   static int a = 1;
   const C();
@@ -494,7 +347,7 @@
   }
 
   test_class_implements() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 class B {}
 ''', r'''
@@ -503,401 +356,8 @@
 ''');
   }
 
-  test_class_method_annotation() {
-    assertNotSameSignature(r'''
-const a = 0;
-
-class C {
-  void foo() {}
-}
-''', r'''
-const a = 0;
-
-class C {
-  @a
-  void foo() {}
-}
-''');
-  }
-
-  test_class_method_body_async_to_asyncStar() {
-    assertNotSameSignature(r'''
-class C {
-  foo() async {}
-}
-''', r'''
-class C {
-  foo() async* {}
-}
-''');
-  }
-
-  test_class_method_body_async_to_sync() {
-    assertNotSameSignature(r'''
-class C {
-  foo() async {}
-}
-''', r'''
-class C {
-  foo() {}
-}
-''');
-  }
-
-  test_class_method_body_asyncStar_to_async() {
-    assertNotSameSignature(r'''
-class C {
-  foo() async* {}
-}
-''', r'''
-class C {
-  foo() async {}
-}
-''');
-  }
-
-  test_class_method_body_asyncStar_to_syncStar() {
-    assertNotSameSignature(r'''
-class C {
-  foo() async* {}
-}
-''', r'''
-class C {
-  foo() sync* {}
-}
-''');
-  }
-
-  test_class_method_body_block() {
-    assertSameSignature(r'''
-class C {
-  int foo() {
-    return 1;
-  }
-}
-''', r'''
-class C {
-  int foo() {
-    return 2;
-  }
-}
-''');
-  }
-
-  test_class_method_body_block_to_empty() {
-    assertNotSameSignature(r'''
-class C {
-  void foo() {}
-}
-''', r'''
-class C {
-  void foo();
-}
-''');
-  }
-
-  test_class_method_body_block_to_expression() {
-    assertSameSignature(r'''
-class C {
-  int foo() {
-    return 1;
-  }
-}
-''', r'''
-class C {
-  int foo() => 2;
-}
-''');
-  }
-
-  test_class_method_body_empty_to_block() {
-    assertNotSameSignature(r'''
-class C {
-  void foo();
-}
-''', r'''
-class C {
-  void foo() {}
-}
-''');
-  }
-
-  test_class_method_body_empty_to_expression() {
-    assertNotSameSignature(r'''
-class C {
-  int foo();
-}
-''', r'''
-class C {
-  int foo() => 0;
-}
-''');
-  }
-
-  test_class_method_body_expression() {
-    assertSameSignature(r'''
-class C {
-  int foo() => 1;
-}
-''', r'''
-class C {
-  int foo() => 2;
-}
-''');
-  }
-
-  test_class_method_body_expression_to_block() {
-    assertSameSignature(r'''
-class C {
-  int foo() => 1;
-}
-''', r'''
-class C {
-  int foo() {
-    return 2;
-  }
-}
-''');
-  }
-
-  test_class_method_body_sync_to_async() {
-    assertNotSameSignature(r'''
-class C {
-  foo() {}
-}
-''', r'''
-class C {
-  foo() async {}
-}
-''');
-  }
-
-  test_class_method_body_sync_to_syncStar() {
-    assertNotSameSignature(r'''
-class C {
-  foo() sync* {}
-}
-''', r'''
-class C {
-  foo() {}
-}
-''');
-  }
-
-  test_class_method_body_syncStar_to_sync() {
-    assertNotSameSignature(r'''
-class C {
-  foo() sync* {}
-}
-''', r'''
-class C {
-  foo() {}
-}
-''');
-  }
-
-  test_class_method_getter_body_block_to_empty() {
-    assertNotSameSignature(r'''
-class C {
-  int get foo {
-    return 1;
-  }
-}
-''', r'''
-class C {
-  int get foo;
-}
-''');
-  }
-
-  test_class_method_getter_body_block_to_expression() {
-    assertSameSignature(r'''
-class C {
-  int get foo {
-    return 1;
-  }
-}
-''', r'''
-class C {
-  int get foo => 2;
-}
-''');
-  }
-
-  test_class_method_getter_body_empty_to_block() {
-    assertNotSameSignature(r'''
-class C {
-  int get foo;
-}
-''', r'''
-class C {
-  int get foo {
-    return 0;
-  }
-}
-''');
-  }
-
-  test_class_method_getter_body_empty_to_expression() {
-    assertNotSameSignature(r'''
-class C {
-  int get foo;
-}
-''', r'''
-class C {
-  int get foo => 0;
-}
-''');
-  }
-
-  test_class_method_getter_body_expression_to_block() {
-    assertSameSignature(r'''
-class C {
-  int get foo => 1;
-}
-''', r'''
-class C {
-  int get foo {
-    return 2;
-  }
-}
-''');
-  }
-
-  test_class_method_getter_body_expression_to_empty() {
-    assertNotSameSignature(r'''
-class C {
-  int get foo => 0;
-}
-''', r'''
-class C {
-  int get foo;
-}
-''');
-  }
-
-  test_class_method_parameters_add() {
-    assertNotSameSignature(r'''
-class C {
-  foo(int a) {}
-}
-''', r'''
-class C {
-  foo(int a, int b) {}
-}
-''');
-  }
-
-  test_class_method_parameters_remove() {
-    assertNotSameSignature(r'''
-class C {
-  foo(int a, int b) {}
-}
-''', r'''
-class C {
-  foo(int a) {}
-}
-''');
-  }
-
-  test_class_method_parameters_rename() {
-    assertNotSameSignature(r'''
-class C {
-  void foo(int a) {}
-}
-''', r'''
-class C {
-  void foo(int b) {}
-}
-''');
-  }
-
-  test_class_method_parameters_type() {
-    assertNotSameSignature(r'''
-class C {
-  void foo(int p) {}
-}
-''', r'''
-class C {
-  void foo(double p) {}
-}
-''');
-  }
-
-  test_class_method_returnType() {
-    assertNotSameSignature(r'''
-class C {
-  int foo() => 0;
-}
-''', r'''
-class C {
-  num foo() => 0;
-}
-''');
-  }
-
-  test_class_method_setter_body_block_to_empty() {
-    assertNotSameSignature(r'''
-class C {
-  set foo(_) {}
-}
-''', r'''
-class C {
-  set foo(_);
-}
-''');
-  }
-
-  test_class_method_setter_body_empty_to_block() {
-    assertNotSameSignature(r'''
-class C {
-  set foo(_);
-}
-''', r'''
-class C {
-  set foo(_) {}
-}
-''');
-  }
-
-  test_class_method_typeParameters_add() async {
-    assertNotSameSignature(r'''
-class C {
-  void foo() {}
-}
-''', r'''
-class C {
-  void foo<T>() {}
-}
-''');
-  }
-
-  test_class_method_typeParameters_remove() {
-    assertNotSameSignature(r'''
-class C {
-  void foo<T>() {}
-}
-''', r'''
-class C {
-  void foo() {}
-}
-''');
-  }
-
-  test_class_method_typeParameters_rename() {
-    assertNotSameSignature(r'''
-class C {
-  void foo<T>() {}
-}
-''', r'''
-class C {
-  void foo<U>() {}
-}
-''');
-  }
-
   test_class_modifier() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class C {}
 ''', r'''
 abstract class C {}
@@ -905,7 +365,7 @@
   }
 
   test_class_with() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 class B {}
 class C extends A {}
@@ -916,8 +376,165 @@
 ''');
   }
 
+  test_classLike_field_const_add_outOfOrder_hasFinal() {
+    _assertNotSameSignature_classLike(r'''
+static final f = Object();
+''', r'''
+const
+static final f = Object();
+''');
+  }
+
+  test_classLike_field_final_add() {
+    _assertNotSameSignature_classLike(r'''
+int a = 0;
+''', r'''
+final int a = 0;
+''');
+  }
+
+  test_classLike_field_late_add() {
+    _assertNotSameSignature_classLike(r'''
+int a;
+''', r'''
+late int a;
+''');
+  }
+
+  test_classLike_field_late_remove() {
+    _assertNotSameSignature_classLike(r'''
+late int a;
+''', r'''
+int a;
+''');
+  }
+
+  test_classLike_field_static_add() {
+    _assertNotSameSignature_classLike(r'''
+int a;
+''', r'''
+static int a;
+''');
+  }
+
+  test_classLike_field_withoutType() {
+    _assertNotSameSignature_classLike(r'''
+var a = 1;
+''', r'''
+var a = 2;
+''');
+  }
+
+  test_classLike_field_withoutType2() {
+    _assertNotSameSignature_classLike(r'''
+var a = 1, b = 2, c, d = 4;
+''', r'''
+var a = 1, b, c = 3, d = 4;
+''');
+  }
+
+  test_classLike_field_withType() {
+    _assertSameSignature_classLike(r'''
+int a = 1;
+''', r'''
+int a = 2;
+''');
+  }
+
+  test_classLike_field_withType_const() {
+    _assertNotSameSignature_classLike(r'''
+static const int a = 1;
+''', r'''
+static const int a = 2;
+''');
+  }
+
+  test_classLike_field_withType_final_noConstConstructor() {
+    _assertSameSignature_classLike(r'''
+final int a = 1;
+''', r'''
+final int a = 2;
+''');
+  }
+
+  test_classLike_method_body_block_to_empty() {
+    _assertNotSameSignature_classLike(r'''
+void foo() {}
+''', r'''
+void foo();
+''');
+  }
+
+  test_classLike_method_body_empty_to_block() {
+    _assertNotSameSignature_classLike(r'''
+void foo();
+''', r'''
+void foo() {}
+''');
+  }
+
+  test_classLike_method_body_empty_to_expression() {
+    _assertNotSameSignature_classLike(r'''
+int foo();
+''', r'''
+int foo() => 0;
+''');
+  }
+
+  test_classLike_method_getter_body_block_to_empty() {
+    _assertNotSameSignature_classLike(r'''
+int get foo {
+  return 1;
+}
+''', r'''
+int get foo;
+''');
+  }
+
+  test_classLike_method_getter_body_empty_to_block() {
+    _assertNotSameSignature_classLike(r'''
+int get foo;
+''', r'''
+int get foo {
+  return 0;
+}
+''');
+  }
+
+  test_classLike_method_getter_body_empty_to_expression() {
+    _assertNotSameSignature_classLike(r'''
+int get foo;
+''', r'''
+int get foo => 0;
+''');
+  }
+
+  test_classLike_method_getter_body_expression_to_empty() {
+    _assertNotSameSignature_classLike(r'''
+int get foo => 0;
+''', r'''
+int get foo;
+''');
+  }
+
+  test_classLike_method_setter_body_block_to_empty() {
+    _assertNotSameSignature_classLike(r'''
+set foo(_) {}
+''', r'''
+set foo(_);
+''');
+  }
+
+  test_classLike_method_setter_body_empty_to_block() {
+    _assertNotSameSignature_classLike(r'''
+set foo(_);
+''', r'''
+set foo(_) {}
+''');
+  }
+
   test_commentAdd() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 var a = 1;
 var b = 2;
 var c = 3;
@@ -936,7 +553,7 @@
   }
 
   test_commentRemove() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 var a = 1; // comment
 
 /// comment 1
@@ -955,7 +572,7 @@
   }
 
   test_directive_library_add() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 ''', r'''
 library foo;
@@ -964,7 +581,7 @@
   }
 
   test_directive_library_change_name() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 library foo;
 class A {}
 ''', r'''
@@ -974,7 +591,7 @@
   }
 
   test_directive_library_change_name_length() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 library foo.bar;
 class A {}
 ''', r'''
@@ -984,7 +601,7 @@
   }
 
   test_directive_library_change_name_offset() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 library foo;
 class A {}
 ''', r'''
@@ -994,7 +611,7 @@
   }
 
   test_directive_library_remove() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 library foo;
 class A {}
 ''', r'''
@@ -1002,57 +619,49 @@
 ''');
   }
 
-  test_featureSet_add() async {
-    assertNotSameSignature(r'''
-class A {}
-''', r'''
-// @dart = 2.5
-class A {}
-''');
-  }
-
-  test_featureSet_change() async {
-    assertNotSameSignature(r'''
-// @dart = 2.6
-class A {}
-''', r'''
-// @dart = 2.2
-class A {}
-''');
-  }
-
-  test_featureSet_remove() async {
-    assertNotSameSignature(r'''
-// @dart = 2.5
-class A {}
-''', r'''
-class A {}
-''');
-  }
-
-  test_function_annotation() {
-    assertNotSameSignature(r'''
-const a = 0;
-
+  test_executable_annotation() {
+    _assertNotSameSignature_executable(r'''
 void foo() {}
 ''', r'''
-const a = 0;
-
 @a
 void foo() {}
 ''');
   }
 
-  test_function_body_async_to_sync() {
-    assertNotSameSignature(r'''
+  test_executable_body_async_to_asyncStar() {
+    _assertNotSameSignature_executable(r'''
+foo() async {}
+''', r'''
+foo() async* {}
+''');
+  }
+
+  test_executable_body_async_to_sync() {
+    _assertNotSameSignature_executable(r'''
 foo() async {}
 ''', r'''
 foo() {}
 ''');
   }
 
-  test_function_body_block() {
-    assertSameSignature(r'''
+  test_executable_body_asyncStar_to_async() {
+    _assertNotSameSignature_executable(r'''
+foo() async* {}
+''', r'''
+foo() async {}
+''');
+  }
+
+  test_executable_body_asyncStar_to_syncStar() {
+    _assertNotSameSignature_executable(r'''
+foo() async* {}
+''', r'''
+foo() sync* {}
+''');
+  }
+
+  test_executable_body_block() {
+    _assertSameSignature_executable(r'''
 int foo() {
   return 1;
 }
@@ -1063,8 +672,8 @@
 ''');
   }
 
-  test_function_body_block_to_expression() {
-    assertSameSignature(r'''
+  test_executable_body_block_to_expression() {
+    _assertSameSignature_executable(r'''
 int foo() {
   return 1;
 }
@@ -1073,32 +682,50 @@
 ''');
   }
 
-  test_function_body_expression() {
-    assertSameSignature(r'''
+  test_executable_body_expression() {
+    _assertSameSignature_executable(r'''
 int foo() => 1;
 ''', r'''
 int foo() => 2;
 ''');
   }
 
-  test_function_body_sync_to_async() {
-    assertNotSameSignature(r'''
+  test_executable_body_expression_to_block() {
+    _assertSameSignature_executable(r'''
+int foo() => 1;
+''', r'''
+int foo() {
+  return 2;
+}
+''');
+  }
+
+  test_executable_body_sync_to_async() {
+    _assertNotSameSignature_executable(r'''
 foo() {}
 ''', r'''
 foo() async {}
 ''');
   }
 
-  test_function_body_sync_to_syncStar() {
-    assertNotSameSignature(r'''
-foo() {}
-''', r'''
+  test_executable_body_sync_to_syncStar() {
+    _assertNotSameSignature_executable(r'''
 foo() sync* {}
+''', r'''
+foo() {}
 ''');
   }
 
-  test_function_getter_block_to_expression() {
-    assertSameSignature(r'''
+  test_executable_body_syncStar_to_sync() {
+    _assertNotSameSignature_executable(r'''
+foo() sync* {}
+''', r'''
+foo() {}
+''');
+  }
+
+  test_executable_getter_body_block_to_expression() {
+    _assertSameSignature_executable(r'''
 int get foo {
   return 1;
 }
@@ -1107,56 +734,110 @@
 ''');
   }
 
-  test_function_parameters_rename() {
-    assertNotSameSignature(r'''
+  test_executable_getter_body_expression_to_block() {
+    _assertSameSignature_executable(r'''
+int get foo => 1;
+''', r'''
+int get foo {
+  return 2;
+}
+''');
+  }
+
+  test_executable_parameters_add() {
+    _assertNotSameSignature_executable(r'''
+foo(int a) {}
+''', r'''
+foo(int a, int b) {}
+''');
+  }
+
+  test_executable_parameters_remove() {
+    _assertNotSameSignature_executable(r'''
+foo(int a, int b) {}
+''', r'''
+foo(int a) {}
+''');
+  }
+
+  test_executable_parameters_rename() {
+    _assertNotSameSignature_executable(r'''
 void foo(int a) {}
 ''', r'''
 void foo(int b) {}
 ''');
   }
 
-  test_function_parameters_type() {
-    assertNotSameSignature(r'''
+  test_executable_parameters_type() {
+    _assertNotSameSignature_executable(r'''
 void foo(int p) {}
 ''', r'''
 void foo(double p) {}
 ''');
   }
 
-  test_function_returnType() {
-    assertNotSameSignature(r'''
+  test_executable_returnType() {
+    _assertNotSameSignature_executable(r'''
 int foo() => 0;
 ''', r'''
 num foo() => 0;
 ''');
   }
 
-  test_function_typeParameters_add() {
-    assertNotSameSignature(r'''
+  test_executable_typeParameters_add() async {
+    _assertNotSameSignature_executable(r'''
 void foo() {}
 ''', r'''
 void foo<T>() {}
 ''');
   }
 
-  test_function_typeParameters_remove() {
-    assertNotSameSignature(r'''
+  test_executable_typeParameters_remove() {
+    _assertNotSameSignature_executable(r'''
 void foo<T>() {}
 ''', r'''
 void foo() {}
 ''');
   }
 
-  test_function_typeParameters_rename() {
-    assertNotSameSignature(r'''
+  test_executable_typeParameters_rename() {
+    _assertNotSameSignature_executable(r'''
 void foo<T>() {}
 ''', r'''
 void foo<U>() {}
 ''');
   }
 
+  test_featureSet_add() async {
+    _assertNotSameSignature(r'''
+class A {}
+''', r'''
+// @dart = 2.5
+class A {}
+''');
+  }
+
+  test_featureSet_change() async {
+    _assertNotSameSignature(r'''
+// @dart = 2.6
+class A {}
+''', r'''
+// @dart = 2.2
+class A {}
+''');
+  }
+
+  test_featureSet_remove() async {
+    _assertNotSameSignature(r'''
+// @dart = 2.5
+class A {}
+''', r'''
+class A {}
+''');
+  }
+
   test_issue34850() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 foo
 Future<List<int>> bar() {}
 ''', r'''
@@ -1166,7 +847,7 @@
   }
 
   test_mixin_field_withoutType() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 mixin M {
   var a = 1;
 }
@@ -1178,7 +859,7 @@
   }
 
   test_mixin_field_withType() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 mixin M {
   int a = 1;
 }
@@ -1190,7 +871,7 @@
   }
 
   test_mixin_implements() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 mixin M {}
 ''', r'''
@@ -1200,7 +881,7 @@
   }
 
   test_mixin_method_body_block() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 mixin M {
   int foo() {
     return 1;
@@ -1216,7 +897,7 @@
   }
 
   test_mixin_method_body_expression() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 mixin M {
   int foo() => 1;
 }
@@ -1228,7 +909,7 @@
   }
 
   test_mixin_on() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 class A {}
 mixin M {}
 ''', r'''
@@ -1238,7 +919,7 @@
   }
 
   test_topLevelVariable_final_add() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 int a = 0;
 ''', r'''
 final int a = 0;
@@ -1246,7 +927,7 @@
   }
 
   test_topLevelVariable_late_add() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 int a;
 ''', r'''
 late int a;
@@ -1254,7 +935,7 @@
   }
 
   test_topLevelVariable_late_remove() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 late int a;
 ''', r'''
 int a;
@@ -1262,7 +943,7 @@
   }
 
   test_topLevelVariable_withoutType() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 var a = 1;
 ''', r'''
 var a = 2;
@@ -1270,7 +951,7 @@
   }
 
   test_topLevelVariable_withoutType2() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 var a = 1, b = 2, c, d = 4;;
 ''', r'''
 var a = 1, b, c = 3, d = 4;;
@@ -1278,7 +959,7 @@
   }
 
   test_topLevelVariable_withType() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 int a = 1;
 ''', r'''
 int a = 2;
@@ -1286,7 +967,7 @@
   }
 
   test_topLevelVariable_withType_const() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 const int a = 1;
 ''', r'''
 const int a = 2;
@@ -1294,7 +975,7 @@
   }
 
   test_topLevelVariable_withType_final() {
-    assertSameSignature(r'''
+    _assertSameSignature(r'''
 final int a = 1;
 ''', r'''
 final int a = 2;
@@ -1302,7 +983,7 @@
   }
 
   test_topLevelVariable_withType_initializer_add() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 int a;
 ''', r'''
 int a = 1;
@@ -1310,7 +991,7 @@
   }
 
   test_topLevelVariable_withType_initializer_remove() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 int a = 1;
 ''', r'''
 int a;
@@ -1318,10 +999,84 @@
   }
 
   test_typedef_generic_parameters_type() {
-    assertNotSameSignature(r'''
+    _assertNotSameSignature(r'''
 typedef F = void Function(int);
 ''', r'''
 typedef F = void Function(double);
 ''');
   }
+
+  void _assertNotSameSignature(String oldCode, String newCode) {
+    _assertSignature(oldCode, newCode, same: false);
+  }
+
+  void _assertNotSameSignature_classLike(String oldCode, String newCode) {
+    _assertSignature_classLike(oldCode, newCode, same: false);
+  }
+
+  void _assertNotSameSignature_executable(String oldCode, String newCode) {
+    _assertSignature_executable(oldCode, newCode, same: false);
+  }
+
+  void _assertSameSignature(String oldCode, String newCode) {
+    _assertSignature(oldCode, newCode, same: true);
+  }
+
+  void _assertSameSignature_classLike(String oldCode, String newCode) {
+    _assertSignature_classLike(oldCode, newCode, same: true);
+  }
+
+  void _assertSameSignature_executable(String oldCode, String newCode) {
+    _assertSignature_executable(oldCode, newCode, same: true);
+  }
+
+  void _assertSignature(String oldCode, String newCode, {required bool same}) {
+    var path = convertPath('/test.dart');
+
+    newFile2(path, oldCode);
+    var oldUnit = parseUnit(path).unit;
+    var oldSignature = computeUnlinkedApiSignature(oldUnit);
+
+    newFile2(path, newCode);
+    var newUnit = parseUnit(path).unit;
+    var newSignature = computeUnlinkedApiSignature(newUnit);
+
+    if (same) {
+      expect(newSignature, oldSignature);
+    } else {
+      expect(newSignature, isNot(oldSignature));
+    }
+  }
+
+  void _assertSignature_classLike(
+    String oldCode,
+    String newCode, {
+    required bool same,
+  }) {
+    _assertSignature('''
+class A {
+$oldCode
+}
+''', '''
+class A {
+$newCode
+}
+''', same: same);
+
+    _assertSignature('''
+mixin M {
+$oldCode
+}
+''', '''
+mixin M {
+$newCode
+}
+''', same: same);
+  }
+
+  void _assertSignature_executable(String oldCode, String newCode,
+      {required bool same}) {
+    _assertSignature_classLike(oldCode, newCode, same: same);
+    _assertSignature(oldCode, newCode, same: same);
+  }
 }
diff --git a/pkg/compiler/bin/dart2js.dart b/pkg/compiler/bin/dart2js.dart
index 8f26efa..5be8c52 100644
--- a/pkg/compiler/bin/dart2js.dart
+++ b/pkg/compiler/bin/dart2js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Entrypoint to run the compiler. This entrypoint is currently only used by
 /// dart2js developers. To run the compiler you now can:
 ///   * call `pub get` in the pkg/compiler folder.
diff --git a/pkg/compiler/lib/compiler.dart b/pkg/compiler/lib/compiler.dart
index a57731b..9b2f5c1 100644
--- a/pkg/compiler/lib/compiler.dart
+++ b/pkg/compiler/lib/compiler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler;
 
 import 'dart:async';
diff --git a/pkg/compiler/lib/src/closure.dart b/pkg/compiler/lib/src/closure.dart
index e5e807e..e5bd068 100644
--- a/pkg/compiler/lib/src/closure.dart
+++ b/pkg/compiler/lib/src/closure.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'common.dart';
 import 'elements/entities.dart';
diff --git a/pkg/compiler/lib/src/colors.dart b/pkg/compiler/lib/src/colors.dart
index 4aaae15..f2132cf 100644
--- a/pkg/compiler/lib/src/colors.dart
+++ b/pkg/compiler/lib/src/colors.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.colors;
 
 // See http://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes
diff --git a/pkg/compiler/lib/src/common.dart b/pkg/compiler/lib/src/common.dart
index cb18897..aa2f28b 100644
--- a/pkg/compiler/lib/src/common.dart
+++ b/pkg/compiler/lib/src/common.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Library that re-exports libraries used throughout the compiler regardless
 /// of phase or subfunctionality.
 library dart2js.common;
diff --git a/pkg/compiler/lib/src/common/codegen.dart b/pkg/compiler/lib/src/common/codegen.dart
index 0ec9bc0..beb9896 100644
--- a/pkg/compiler/lib/src/common/codegen.dart
+++ b/pkg/compiler/lib/src/common/codegen.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.common.codegen;
 
 import 'package:js_ast/src/precedence.dart' as js show PRIMARY;
diff --git a/pkg/compiler/lib/src/common/elements.dart b/pkg/compiler/lib/src/common/elements.dart
index aea3172..d4e4c7b 100644
--- a/pkg/compiler/lib/src/common/elements.dart
+++ b/pkg/compiler/lib/src/common/elements.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../constants/constant_system.dart' as constant_system;
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/common/metrics.dart b/pkg/compiler/lib/src/common/metrics.dart
index 458d546..0743946 100644
--- a/pkg/compiler/lib/src/common/metrics.dart
+++ b/pkg/compiler/lib/src/common/metrics.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.common.metrics;
 
 /// A collection of metrics that is normally associated with a task.
diff --git a/pkg/compiler/lib/src/common/names.dart b/pkg/compiler/lib/src/common/names.dart
index 024be8a..ce905a1 100644
--- a/pkg/compiler/lib/src/common/names.dart
+++ b/pkg/compiler/lib/src/common/names.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Library containing identifier, names, and selectors commonly used through
 /// the compiler.
 library dart2js.common.names;
diff --git a/pkg/compiler/lib/src/common/tasks.dart b/pkg/compiler/lib/src/common/tasks.dart
index 35aff31..52f6a99 100644
--- a/pkg/compiler/lib/src/common/tasks.dart
+++ b/pkg/compiler/lib/src/common/tasks.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.common.tasks;
 
 import 'dart:async'
diff --git a/pkg/compiler/lib/src/common/work.dart b/pkg/compiler/lib/src/common/work.dart
index a36d6b0..c7ca7c9 100644
--- a/pkg/compiler/lib/src/common/work.dart
+++ b/pkg/compiler/lib/src/common/work.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.common.work;
 
 import '../elements/entities.dart' show MemberEntity;
diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
index 62f3328..d1999fa 100644
--- a/pkg/compiler/lib/src/compiler.dart
+++ b/pkg/compiler/lib/src/compiler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.compiler_base;
 
 import 'dart:async' show Future;
diff --git a/pkg/compiler/lib/src/constants/constant_system.dart b/pkg/compiler/lib/src/constants/constant_system.dart
index f50a56d..c1ee3c9 100644
--- a/pkg/compiler/lib/src/constants/constant_system.dart
+++ b/pkg/compiler/lib/src/constants/constant_system.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Constant system following the semantics for Dart code that has been
 /// compiled to JavaScript.
 library dart2js.constant_system;
diff --git a/pkg/compiler/lib/src/constants/values.dart b/pkg/compiler/lib/src/constants/values.dart
index 885a8bc..a109bc5 100644
--- a/pkg/compiler/lib/src/constants/values.dart
+++ b/pkg/compiler/lib/src/constants/values.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.constants.values;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index 3c936c66..6c6fd69 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.cmdline;
 
 import 'dart:async' show Future;
diff --git a/pkg/compiler/lib/src/deferred_load/algorithm_state.dart b/pkg/compiler/lib/src/deferred_load/algorithm_state.dart
index 5e1b914..34c13c4 100644
--- a/pkg/compiler/lib/src/deferred_load/algorithm_state.dart
+++ b/pkg/compiler/lib/src/deferred_load/algorithm_state.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'entity_data.dart';
 import 'entity_data_info.dart';
 import 'import_set.dart';
diff --git a/pkg/compiler/lib/src/deferred_load/deferred_load.dart b/pkg/compiler/lib/src/deferred_load/deferred_load.dart
index 4a5af37..4bbfbdc 100644
--- a/pkg/compiler/lib/src/deferred_load/deferred_load.dart
+++ b/pkg/compiler/lib/src/deferred_load/deferred_load.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// *Overview of deferred loading*
 ///
 /// Deferred loading allows developers to specify deferred imports. These
diff --git a/pkg/compiler/lib/src/deferred_load/entity_data.dart b/pkg/compiler/lib/src/deferred_load/entity_data.dart
index bfb81f2..0751f58 100644
--- a/pkg/compiler/lib/src/deferred_load/entity_data.dart
+++ b/pkg/compiler/lib/src/deferred_load/entity_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../constants/values.dart' show ConstantValue;
 import '../elements/entities.dart';
 
diff --git a/pkg/compiler/lib/src/deferred_load/entity_data_info.dart b/pkg/compiler/lib/src/deferred_load/entity_data_info.dart
index 7c0c07d..064a126 100644
--- a/pkg/compiler/lib/src/deferred_load/entity_data_info.dart
+++ b/pkg/compiler/lib/src/deferred_load/entity_data_info.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/deferred_load/import_set.dart b/pkg/compiler/lib/src/deferred_load/import_set.dart
index 6b467cf..eaf268e 100644
--- a/pkg/compiler/lib/src/deferred_load/import_set.dart
+++ b/pkg/compiler/lib/src/deferred_load/import_set.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'output_unit.dart';
 
 import 'program_split_constraints/builder.dart' as psc show SetTransition;
diff --git a/pkg/compiler/lib/src/deferred_load/output_unit.dart b/pkg/compiler/lib/src/deferred_load/output_unit.dart
index bd27d06..dd0c7b8 100644
--- a/pkg/compiler/lib/src/deferred_load/output_unit.dart
+++ b/pkg/compiler/lib/src/deferred_load/output_unit.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_unstable/dart2js.dart' as fe;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/deferred_load/program_split_constraints/builder.dart b/pkg/compiler/lib/src/deferred_load/program_split_constraints/builder.dart
index 1bd334f..275d178 100644
--- a/pkg/compiler/lib/src/deferred_load/program_split_constraints/builder.dart
+++ b/pkg/compiler/lib/src/deferred_load/program_split_constraints/builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection';
 
 import 'nodes.dart';
diff --git a/pkg/compiler/lib/src/deferred_load/program_split_constraints/nodes.dart b/pkg/compiler/lib/src/deferred_load/program_split_constraints/nodes.dart
index 17a6904..a32133a 100644
--- a/pkg/compiler/lib/src/deferred_load/program_split_constraints/nodes.dart
+++ b/pkg/compiler/lib/src/deferred_load/program_split_constraints/nodes.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// A [Node] is an abstract base class for all [Node]s parsed from json
 /// constraints.
 abstract class Node {
diff --git a/pkg/compiler/lib/src/deferred_load/program_split_constraints/parser.dart b/pkg/compiler/lib/src/deferred_load/program_split_constraints/parser.dart
index e60c182..b798f7b 100644
--- a/pkg/compiler/lib/src/deferred_load/program_split_constraints/parser.dart
+++ b/pkg/compiler/lib/src/deferred_load/program_split_constraints/parser.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:convert';
 
 import 'nodes.dart';
diff --git a/pkg/compiler/lib/src/deferred_load/work_queue.dart b/pkg/compiler/lib/src/deferred_load/work_queue.dart
index 9c9c554..072ff66 100644
--- a/pkg/compiler/lib/src/deferred_load/work_queue.dart
+++ b/pkg/compiler/lib/src/deferred_load/work_queue.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection' show Queue;
 
 import 'algorithm_state.dart';
diff --git a/pkg/compiler/lib/src/diagnostics/diagnostic_listener.dart b/pkg/compiler/lib/src/diagnostics/diagnostic_listener.dart
index 5fab3db..c889753 100644
--- a/pkg/compiler/lib/src/diagnostics/diagnostic_listener.dart
+++ b/pkg/compiler/lib/src/diagnostics/diagnostic_listener.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.diagnostic_listener;
 
 import '../../compiler.dart' as api;
diff --git a/pkg/compiler/lib/src/diagnostics/invariant.dart b/pkg/compiler/lib/src/diagnostics/invariant.dart
index 04a7947..9986c24 100644
--- a/pkg/compiler/lib/src/diagnostics/invariant.dart
+++ b/pkg/compiler/lib/src/diagnostics/invariant.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.diagnostics.invariant;
 
 import 'spannable.dart';
diff --git a/pkg/compiler/lib/src/diagnostics/messages.dart b/pkg/compiler/lib/src/diagnostics/messages.dart
index 4e3f803..c7a774d 100644
--- a/pkg/compiler/lib/src/diagnostics/messages.dart
+++ b/pkg/compiler/lib/src/diagnostics/messages.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// The messages in this file should follow the [Guide for Writing
 /// Diagnostics](../../../../front_end/lib/src/fasta/diagnostics.md).
 ///
diff --git a/pkg/compiler/lib/src/diagnostics/source_span.dart b/pkg/compiler/lib/src/diagnostics/source_span.dart
index 2b24c11..d180a9b 100644
--- a/pkg/compiler/lib/src/diagnostics/source_span.dart
+++ b/pkg/compiler/lib/src/diagnostics/source_span.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.diagnostics.source_span;
 
 import 'spannable.dart' show Spannable;
diff --git a/pkg/compiler/lib/src/diagnostics/spannable.dart b/pkg/compiler/lib/src/diagnostics/spannable.dart
index 3bb9bf0..3e9da70 100644
--- a/pkg/compiler/lib/src/diagnostics/spannable.dart
+++ b/pkg/compiler/lib/src/diagnostics/spannable.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.diagnostics.spannable;
 
 /// Tagging interface for classes from which source spans can be generated.
diff --git a/pkg/compiler/lib/src/dump_info.dart b/pkg/compiler/lib/src/dump_info.dart
index 35a0e17..92e8499 100644
--- a/pkg/compiler/lib/src/dump_info.dart
+++ b/pkg/compiler/lib/src/dump_info.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dump_info;
 
 import 'dart:convert'
diff --git a/pkg/compiler/lib/src/elements/entities.dart b/pkg/compiler/lib/src/elements/entities.dart
index f8d96a3..d363a30 100644
--- a/pkg/compiler/lib/src/elements/entities.dart
+++ b/pkg/compiler/lib/src/elements/entities.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library entities;
 
 import 'package:front_end/src/api_unstable/dart2js.dart' show AsyncModifier;
diff --git a/pkg/compiler/lib/src/elements/entity_utils.dart b/pkg/compiler/lib/src/elements/entity_utils.dart
index 7e58133..cb548cf 100644
--- a/pkg/compiler/lib/src/elements/entity_utils.dart
+++ b/pkg/compiler/lib/src/elements/entity_utils.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library entity_utils;
 
 import 'package:front_end/src/api_unstable/dart2js.dart'
diff --git a/pkg/compiler/lib/src/elements/indexed.dart b/pkg/compiler/lib/src/elements/indexed.dart
index 4552656..efc5b92 100644
--- a/pkg/compiler/lib/src/elements/indexed.dart
+++ b/pkg/compiler/lib/src/elements/indexed.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Indexed entity interfaces for modeling elements derived from Kernel IR.
 
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/elements/jumps.dart b/pkg/compiler/lib/src/elements/jumps.dart
index 16fc90f..322ec51 100644
--- a/pkg/compiler/lib/src/elements/jumps.dart
+++ b/pkg/compiler/lib/src/elements/jumps.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library elements.jumps;
 
 import 'entities.dart';
diff --git a/pkg/compiler/lib/src/elements/names.dart b/pkg/compiler/lib/src/elements/names.dart
index c3ff551..84f3e25 100644
--- a/pkg/compiler/lib/src/elements/names.dart
+++ b/pkg/compiler/lib/src/elements/names.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.elements.names;
 
 import 'package:front_end/src/api_unstable/dart2js.dart' show $_;
diff --git a/pkg/compiler/lib/src/elements/operators.dart b/pkg/compiler/lib/src/elements/operators.dart
index 56a3797..89d2876 100644
--- a/pkg/compiler/lib/src/elements/operators.dart
+++ b/pkg/compiler/lib/src/elements/operators.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.operators;
 
 import 'names.dart' show PublicName;
diff --git a/pkg/compiler/lib/src/elements/types.dart b/pkg/compiler/lib/src/elements/types.dart
index a0d63a9..6f5106a 100644
--- a/pkg/compiler/lib/src/elements/types.dart
+++ b/pkg/compiler/lib/src/elements/types.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart';
 import '../common/names.dart';
 import '../options.dart';
diff --git a/pkg/compiler/lib/src/enqueue.dart b/pkg/compiler/lib/src/enqueue.dart
index e003a60..a664e0d 100644
--- a/pkg/compiler/lib/src/enqueue.dart
+++ b/pkg/compiler/lib/src/enqueue.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.enqueue;
 
 import 'common/elements.dart' show ElementEnvironment;
diff --git a/pkg/compiler/lib/src/environment.dart b/pkg/compiler/lib/src/environment.dart
index cb5fdbd..295f17c 100644
--- a/pkg/compiler/lib/src/environment.dart
+++ b/pkg/compiler/lib/src/environment.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Collects definitions provided to the compiler via the `-D` flag.
 ///
 /// Environment variables can be used in the user code in two ways. From
diff --git a/pkg/compiler/lib/src/hash/sha1.dart b/pkg/compiler/lib/src/hash/sha1.dart
index f34c204..4c4e65b 100644
--- a/pkg/compiler/lib/src/hash/sha1.dart
+++ b/pkg/compiler/lib/src/hash/sha1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:convert';
 
 import 'package:crypto/crypto.dart';
diff --git a/pkg/compiler/lib/src/inferrer/abstract_value_domain.dart b/pkg/compiler/lib/src/inferrer/abstract_value_domain.dart
index e6d05b1..36752ac 100644
--- a/pkg/compiler/lib/src/inferrer/abstract_value_domain.dart
+++ b/pkg/compiler/lib/src/inferrer/abstract_value_domain.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.abstract_value_domain;
 
 import '../constants/values.dart' show ConstantValue, PrimitiveConstantValue;
diff --git a/pkg/compiler/lib/src/inferrer/builder_kernel.dart b/pkg/compiler/lib/src/inferrer/builder_kernel.dart
index 716ea52..97fc077 100644
--- a/pkg/compiler/lib/src/inferrer/builder_kernel.dart
+++ b/pkg/compiler/lib/src/inferrer/builder_kernel.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../closure.dart';
diff --git a/pkg/compiler/lib/src/inferrer/closure_tracer.dart b/pkg/compiler/lib/src/inferrer/closure_tracer.dart
index 18eb0ca..67c4476 100644
--- a/pkg/compiler/lib/src/inferrer/closure_tracer.dart
+++ b/pkg/compiler/lib/src/inferrer/closure_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.closure_tracer;
 
 import '../common/names.dart' show Identifiers, Names;
diff --git a/pkg/compiler/lib/src/inferrer/debug.dart b/pkg/compiler/lib/src/inferrer/debug.dart
index def9a7d..c2bef3e 100644
--- a/pkg/compiler/lib/src/inferrer/debug.dart
+++ b/pkg/compiler/lib/src/inferrer/debug.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Values used only for debugging type inference.
 library compiler.src.inferrer.debug;
 
diff --git a/pkg/compiler/lib/src/inferrer/inferrer_engine.dart b/pkg/compiler/lib/src/inferrer/inferrer_engine.dart
index 3d9dd84..f922fef 100644
--- a/pkg/compiler/lib/src/inferrer/inferrer_engine.dart
+++ b/pkg/compiler/lib/src/inferrer/inferrer_engine.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../../compiler.dart';
diff --git a/pkg/compiler/lib/src/inferrer/list_tracer.dart b/pkg/compiler/lib/src/inferrer/list_tracer.dart
index 4918a33..2617b52 100644
--- a/pkg/compiler/lib/src/inferrer/list_tracer.dart
+++ b/pkg/compiler/lib/src/inferrer/list_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.list_tracer;
 
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/locals_handler.dart b/pkg/compiler/lib/src/inferrer/locals_handler.dart
index 06fb529..2545b2b 100644
--- a/pkg/compiler/lib/src/inferrer/locals_handler.dart
+++ b/pkg/compiler/lib/src/inferrer/locals_handler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library locals_handler;
 
 import 'dart:collection' show IterableMixin;
diff --git a/pkg/compiler/lib/src/inferrer/map_tracer.dart b/pkg/compiler/lib/src/inferrer/map_tracer.dart
index 70f36d1..f997f1a 100644
--- a/pkg/compiler/lib/src/inferrer/map_tracer.dart
+++ b/pkg/compiler/lib/src/inferrer/map_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.map_tracer;
 
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/node_tracer.dart b/pkg/compiler/lib/src/inferrer/node_tracer.dart
index 8500f56..594a533 100644
--- a/pkg/compiler/lib/src/inferrer/node_tracer.dart
+++ b/pkg/compiler/lib/src/inferrer/node_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.node_tracer;
 
 import '../common/names.dart' show Identifiers;
diff --git a/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart b/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
index fd657bd..823f59a 100644
--- a/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
+++ b/pkg/compiler/lib/src/inferrer/powersets/powerset_bits.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../../common/elements.dart' show CommonElements;
 import '../../constants/values.dart';
 import '../../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/inferrer/powersets/powersets.dart b/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
index 6314434..8afeedf 100644
--- a/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
+++ b/pkg/compiler/lib/src/inferrer/powersets/powersets.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../../constants/values.dart' show ConstantValue, PrimitiveConstantValue;
 import '../../elements/entities.dart';
 import '../../elements/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/powersets/wrapped.dart b/pkg/compiler/lib/src/inferrer/powersets/wrapped.dart
index 35c2641..f468a23 100644
--- a/pkg/compiler/lib/src/inferrer/powersets/wrapped.dart
+++ b/pkg/compiler/lib/src/inferrer/powersets/wrapped.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../../constants/values.dart' show ConstantValue, PrimitiveConstantValue;
 import '../../elements/entities.dart';
 import '../../elements/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/set_tracer.dart b/pkg/compiler/lib/src/inferrer/set_tracer.dart
index df495bf..47e38ae 100644
--- a/pkg/compiler/lib/src/inferrer/set_tracer.dart
+++ b/pkg/compiler/lib/src/inferrer/set_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.set_tracer;
 
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/trivial.dart b/pkg/compiler/lib/src/inferrer/trivial.dart
index c81c91f..e66532e 100644
--- a/pkg/compiler/lib/src/inferrer/trivial.dart
+++ b/pkg/compiler/lib/src/inferrer/trivial.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../constants/values.dart' show ConstantValue, PrimitiveConstantValue;
 import '../elements/entities.dart';
 import '../elements/names.dart';
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_dump.dart b/pkg/compiler/lib/src/inferrer/type_graph_dump.dart
index 9a0d7e8..c8b80af 100644
--- a/pkg/compiler/lib/src/inferrer/type_graph_dump.dart
+++ b/pkg/compiler/lib/src/inferrer/type_graph_dump.dart
@@ -1,6 +1,9 @@
 // Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
+
+// @dart = 2.10
+
 library dart2js.inferrer.type_graph_dump;
 
 import '../../compiler.dart';
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart b/pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart
index 97278f3..0e14604 100644
--- a/pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart
+++ b/pkg/compiler/lib/src/inferrer/type_graph_inferrer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library type_graph_inferrer;
 
 import 'dart:collection' show Queue;
diff --git a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
index 334c9cf..cd09b81 100644
--- a/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
+++ b/pkg/compiler/lib/src/inferrer/type_graph_nodes.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library compiler.src.inferrer.type_graph_nodes;
 
 import 'dart:collection' show IterableBase;
diff --git a/pkg/compiler/lib/src/inferrer/type_system.dart b/pkg/compiler/lib/src/inferrer/type_system.dart
index d45f291..d28d06f 100644
--- a/pkg/compiler/lib/src/inferrer/type_system.dart
+++ b/pkg/compiler/lib/src/inferrer/type_system.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import '../common.dart';
 import '../constants/values.dart' show BoolConstantValue;
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/constants.dart b/pkg/compiler/lib/src/inferrer/typemasks/constants.dart
index e46212b..7684c46 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/constants.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/constants.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library types.constants;
 
 import '../../constants/constant_system.dart' as constant_system;
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/container_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/container_type_mask.dart
index a001c78..6e5d625 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/container_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/container_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// A [TypeMask] for a specific allocation site of a container (currently only
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/dictionary_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/dictionary_type_mask.dart
index 20adc15..fe414d6 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/dictionary_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/dictionary_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// A [DictionaryTypeMask] is a [TypeMask] for a specific allocation
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/flat_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/flat_type_mask.dart
index d42d4bd..5611b25 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/flat_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/flat_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 enum _FlatTypeMaskKind { empty, exact, subclass, subtype }
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/forwarding_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/forwarding_type_mask.dart
index 213c62a..7b2651b 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/forwarding_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/forwarding_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// A type mask that wraps another one, and delegates all its
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/map_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/map_type_mask.dart
index 7232e60..22bb146 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/map_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/map_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// A [MapTypeMask] is a [TypeMask] for a specific allocation
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/masks.dart b/pkg/compiler/lib/src/inferrer/typemasks/masks.dart
index 9de70a3..5b2633f 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/masks.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/masks.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library masks;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/set_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/set_type_mask.dart
index ab01cc4..ece92e5 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/set_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/set_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// A [SetTypeMask] is a [TypeMask] for a specific allocation site of a set
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/type_mask.dart
index 7f8af43..816833c 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 /// An implementation of a [UniverseSelectorConstraints] that is consists if an
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/union_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/union_type_mask.dart
index c9abe7d..a20afb8 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/union_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/union_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 class UnionTypeMask extends TypeMask {
diff --git a/pkg/compiler/lib/src/inferrer/typemasks/value_type_mask.dart b/pkg/compiler/lib/src/inferrer/typemasks/value_type_mask.dart
index 61b43de..68c8c69 100644
--- a/pkg/compiler/lib/src/inferrer/typemasks/value_type_mask.dart
+++ b/pkg/compiler/lib/src/inferrer/typemasks/value_type_mask.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of masks;
 
 class ValueTypeMask extends ForwardingTypeMask {
diff --git a/pkg/compiler/lib/src/inferrer/types.dart b/pkg/compiler/lib/src/inferrer/types.dart
index bd2c38d..f5a6405 100644
--- a/pkg/compiler/lib/src/inferrer/types.dart
+++ b/pkg/compiler/lib/src/inferrer/types.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library types;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/io/code_output.dart b/pkg/compiler/lib/src/io/code_output.dart
index b5f87ea..a1d8036 100644
--- a/pkg/compiler/lib/src/io/code_output.dart
+++ b/pkg/compiler/lib/src/io/code_output.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.code_output;
 
 import '../../compiler.dart';
diff --git a/pkg/compiler/lib/src/io/kernel_source_information.dart b/pkg/compiler/lib/src/io/kernel_source_information.dart
index 2993f94..1634405 100644
--- a/pkg/compiler/lib/src/io/kernel_source_information.dart
+++ b/pkg/compiler/lib/src/io/kernel_source_information.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Source information system mapping that attempts a semantic mapping between
 /// offsets of JavaScript code points to offsets of Dart code points.
 
diff --git a/pkg/compiler/lib/src/io/location_provider.dart b/pkg/compiler/lib/src/io/location_provider.dart
index b980ee7..72305e7 100644
--- a/pkg/compiler/lib/src/io/location_provider.dart
+++ b/pkg/compiler/lib/src/io/location_provider.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.io.location_provider;
 
 import 'code_output.dart' show CodeOutputListener;
diff --git a/pkg/compiler/lib/src/io/position_information.dart b/pkg/compiler/lib/src/io/position_information.dart
index 5844712..58afd06 100644
--- a/pkg/compiler/lib/src/io/position_information.dart
+++ b/pkg/compiler/lib/src/io/position_information.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Source information system mapping that attempts a semantic mapping between
 /// offsets of JavaScript code points to offsets of Dart code points.
 
diff --git a/pkg/compiler/lib/src/io/source_file.dart b/pkg/compiler/lib/src/io/source_file.dart
index a95008c..be4708b 100644
--- a/pkg/compiler/lib/src/io/source_file.dart
+++ b/pkg/compiler/lib/src/io/source_file.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.io.source_file;
 
 import 'dart:convert' show utf8;
diff --git a/pkg/compiler/lib/src/io/source_information.dart b/pkg/compiler/lib/src/io/source_information.dart
index 9098af0..7c1d64e 100644
--- a/pkg/compiler/lib/src/io/source_information.dart
+++ b/pkg/compiler/lib/src/io/source_information.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.source_information;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/io/source_map_builder.dart b/pkg/compiler/lib/src/io/source_map_builder.dart
index d05c9cb..f6c3e3a 100644
--- a/pkg/compiler/lib/src/io/source_map_builder.dart
+++ b/pkg/compiler/lib/src/io/source_map_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.source_map_builder;
 
 import 'package:front_end/src/api_unstable/dart2js.dart' as fe;
diff --git a/pkg/compiler/lib/src/ir/annotations.dart b/pkg/compiler/lib/src/ir/annotations.dart
index c476048..23918ac 100644
--- a/pkg/compiler/lib/src/ir/annotations.dart
+++ b/pkg/compiler/lib/src/ir/annotations.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/ir/cached_static_type.dart b/pkg/compiler/lib/src/ir/cached_static_type.dart
index 9fdb34b..7c0fa83 100644
--- a/pkg/compiler/lib/src/ir/cached_static_type.dart
+++ b/pkg/compiler/lib/src/ir/cached_static_type.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 import 'static_type_base.dart';
diff --git a/pkg/compiler/lib/src/ir/closure.dart b/pkg/compiler/lib/src/ir/closure.dart
index 8954f46..20c6948 100644
--- a/pkg/compiler/lib/src/ir/closure.dart
+++ b/pkg/compiler/lib/src/ir/closure.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/src/printer.dart' as ir;
 import 'package:kernel/text/ast_to_text.dart' as ir show debugNodeToString;
diff --git a/pkg/compiler/lib/src/ir/constants.dart b/pkg/compiler/lib/src/ir/constants.dart
index 4ac13df..e799ea2 100644
--- a/pkg/compiler/lib/src/ir/constants.dart
+++ b/pkg/compiler/lib/src/ir/constants.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_prototype/constant_evaluator.dart' as ir;
 import 'package:front_end/src/api_unstable/dart2js.dart' as ir;
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/ir/element_map.dart b/pkg/compiler/lib/src/ir/element_map.dart
index 8e73cf4..e021596 100644
--- a/pkg/compiler/lib/src/ir/element_map.dart
+++ b/pkg/compiler/lib/src/ir/element_map.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/core_types.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/ir/impact.dart b/pkg/compiler/lib/src/ir/impact.dart
index 1ea8f86..609256a 100644
--- a/pkg/compiler/lib/src/ir/impact.dart
+++ b/pkg/compiler/lib/src/ir/impact.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/ir/impact_data.dart b/pkg/compiler/lib/src/ir/impact_data.dart
index a17c61d..77d8075 100644
--- a/pkg/compiler/lib/src/ir/impact_data.dart
+++ b/pkg/compiler/lib/src/ir/impact_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/class_hierarchy.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
diff --git a/pkg/compiler/lib/src/ir/modular.dart b/pkg/compiler/lib/src/ir/modular.dart
index 24afe70..baa7842 100644
--- a/pkg/compiler/lib/src/ir/modular.dart
+++ b/pkg/compiler/lib/src/ir/modular.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/class_hierarchy.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
diff --git a/pkg/compiler/lib/src/ir/runtime_type_analysis.dart b/pkg/compiler/lib/src/ir/runtime_type_analysis.dart
index d46b622..06ffbfb 100644
--- a/pkg/compiler/lib/src/ir/runtime_type_analysis.dart
+++ b/pkg/compiler/lib/src/ir/runtime_type_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/ir/scope.dart b/pkg/compiler/lib/src/ir/scope.dart
index 8bc0a90..cfd2ec9 100644
--- a/pkg/compiler/lib/src/ir/scope.dart
+++ b/pkg/compiler/lib/src/ir/scope.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'closure.dart';
 import 'scope_visitor.dart';
diff --git a/pkg/compiler/lib/src/ir/scope_visitor.dart b/pkg/compiler/lib/src/ir/scope_visitor.dart
index 3abbbfd..35f8fee 100644
--- a/pkg/compiler/lib/src/ir/scope_visitor.dart
+++ b/pkg/compiler/lib/src/ir/scope_visitor.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/core_types.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
diff --git a/pkg/compiler/lib/src/ir/static_type.dart b/pkg/compiler/lib/src/ir/static_type.dart
index 9696343..36cd18c 100644
--- a/pkg/compiler/lib/src/ir/static_type.dart
+++ b/pkg/compiler/lib/src/ir/static_type.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_unstable/dart2js.dart'
     show operatorFromString;
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/ir/static_type_base.dart b/pkg/compiler/lib/src/ir/static_type_base.dart
index 2bd9146..f32ff54 100644
--- a/pkg/compiler/lib/src/ir/static_type_base.dart
+++ b/pkg/compiler/lib/src/ir/static_type_base.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/ir/static_type_cache.dart b/pkg/compiler/lib/src/ir/static_type_cache.dart
index f389c80..32d2384 100644
--- a/pkg/compiler/lib/src/ir/static_type_cache.dart
+++ b/pkg/compiler/lib/src/ir/static_type_cache.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../serialization/serialization.dart';
diff --git a/pkg/compiler/lib/src/ir/static_type_provider.dart b/pkg/compiler/lib/src/ir/static_type_provider.dart
index 2dc7ace..19245d7 100644
--- a/pkg/compiler/lib/src/ir/static_type_provider.dart
+++ b/pkg/compiler/lib/src/ir/static_type_provider.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 /// Interface for accessing static types on expressions.
diff --git a/pkg/compiler/lib/src/ir/types.dart b/pkg/compiler/lib/src/ir/types.dart
index 114b68c..4242166 100644
--- a/pkg/compiler/lib/src/ir/types.dart
+++ b/pkg/compiler/lib/src/ir/types.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart';
 import '../elements/entities.dart';
 import '../elements/types.dart';
diff --git a/pkg/compiler/lib/src/ir/util.dart b/pkg/compiler/lib/src/ir/util.dart
index e825b52..359fbfc 100644
--- a/pkg/compiler/lib/src/ir/util.dart
+++ b/pkg/compiler/lib/src/ir/util.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/ir/visitors.dart b/pkg/compiler/lib/src/ir/visitors.dart
index b3d182c2..82b81d6 100644
--- a/pkg/compiler/lib/src/ir/visitors.dart
+++ b/pkg/compiler/lib/src/ir/visitors.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../constants/constant_system.dart' as constant_system;
diff --git a/pkg/compiler/lib/src/js/js.dart b/pkg/compiler/lib/src/js/js.dart
index ac9131a..7e48ef3 100644
--- a/pkg/compiler/lib/src/js/js.dart
+++ b/pkg/compiler/lib/src/js/js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js;
 
 import 'package:js_ast/js_ast.dart';
diff --git a/pkg/compiler/lib/src/js/js_debug.dart b/pkg/compiler/lib/src/js/js_debug.dart
index 19d6600..df828b6 100644
--- a/pkg/compiler/lib/src/js/js_debug.dart
+++ b/pkg/compiler/lib/src/js/js_debug.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Helper for debug JS nodes.
 
 library js.debug;
diff --git a/pkg/compiler/lib/src/js/js_source_mapping.dart b/pkg/compiler/lib/src/js/js_source_mapping.dart
index 8b53feb..d5b4383 100644
--- a/pkg/compiler/lib/src/js/js_source_mapping.dart
+++ b/pkg/compiler/lib/src/js/js_source_mapping.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js.source_mapping;
 
 import '../io/code_output.dart'
diff --git a/pkg/compiler/lib/src/js/placeholder_safety.dart b/pkg/compiler/lib/src/js/placeholder_safety.dart
index 29fea71..70a44d8 100644
--- a/pkg/compiler/lib/src/js/placeholder_safety.dart
+++ b/pkg/compiler/lib/src/js/placeholder_safety.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js.safety;
 
 import "js.dart" as js;
diff --git a/pkg/compiler/lib/src/js/rewrite_async.dart b/pkg/compiler/lib/src/js/rewrite_async.dart
index 0008046..50c9e00 100644
--- a/pkg/compiler/lib/src/js/rewrite_async.dart
+++ b/pkg/compiler/lib/src/js/rewrite_async.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library rewrite_async;
 
 import 'dart:collection';
diff --git a/pkg/compiler/lib/src/js/size_estimator.dart b/pkg/compiler/lib/src/js/size_estimator.dart
index d081f4c0..7dc9fdf 100644
--- a/pkg/compiler/lib/src/js/size_estimator.dart
+++ b/pkg/compiler/lib/src/js/size_estimator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js.size_estimator;
 
 import 'package:js_ast/js_ast.dart';
diff --git a/pkg/compiler/lib/src/js_backend/annotations.dart b/pkg/compiler/lib/src/js_backend/annotations.dart
index 6994be7..d1942e9 100644
--- a/pkg/compiler/lib/src/js_backend/annotations.dart
+++ b/pkg/compiler/lib/src/js_backend/annotations.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.backend.annotations;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index ce19532..b8f099c 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.backend;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_backend/backend_impact.dart b/pkg/compiler/lib/src/js_backend/backend_impact.dart
index 2211c3c..37855c0 100644
--- a/pkg/compiler/lib/src/js_backend/backend_impact.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_impact.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_helpers.impact;
 
 import '../common/elements.dart' show CommonElements, ElementEnvironment;
diff --git a/pkg/compiler/lib/src/js_backend/backend_usage.dart b/pkg/compiler/lib/src/js_backend/backend_usage.dart
index 600075d..245b922 100644
--- a/pkg/compiler/lib/src/js_backend/backend_usage.dart
+++ b/pkg/compiler/lib/src/js_backend/backend_usage.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart';
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart b/pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart
index 15f9436..1f84c63 100644
--- a/pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart
+++ b/pkg/compiler/lib/src/js_backend/checked_mode_helpers.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // TODO(39733): This file exists now just to register the use of
 // 'boolConversionCheck'. Fix the registration and remove this file.
 
diff --git a/pkg/compiler/lib/src/js_backend/codegen_listener.dart b/pkg/compiler/lib/src/js_backend/codegen_listener.dart
index 93c1745..6682b3e 100644
--- a/pkg/compiler/lib/src/js_backend/codegen_listener.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen_listener.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.backend.codegen_listener;
 
 import 'dart:collection';
diff --git a/pkg/compiler/lib/src/js_backend/constant_emitter.dart b/pkg/compiler/lib/src/js_backend/constant_emitter.dart
index 304694a..5b3a396 100644
--- a/pkg/compiler/lib/src/js_backend/constant_emitter.dart
+++ b/pkg/compiler/lib/src/js_backend/constant_emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart';
 import '../constants/constant_system.dart' as constant_system;
diff --git a/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart b/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart
index 965da61..a542b6c 100644
--- a/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart
+++ b/pkg/compiler/lib/src/js_backend/custom_elements_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart';
 import '../constants/constant_system.dart' as constant_system;
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/js_backend/deferred_holder_expression.dart b/pkg/compiler/lib/src/js_backend/deferred_holder_expression.dart
index 22329a2..22e8329 100644
--- a/pkg/compiler/lib/src/js_backend/deferred_holder_expression.dart
+++ b/pkg/compiler/lib/src/js_backend/deferred_holder_expression.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:js_ast/src/precedence.dart' as js show PRIMARY;
 import 'package:front_end/src/api_unstable/dart2js.dart' show $A;
 
diff --git a/pkg/compiler/lib/src/js_backend/enqueuer.dart b/pkg/compiler/lib/src/js_backend/enqueuer.dart
index 9185917..9238540 100644
--- a/pkg/compiler/lib/src/js_backend/enqueuer.dart
+++ b/pkg/compiler/lib/src/js_backend/enqueuer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js.enqueue;
 
 import 'dart:collection' show Queue;
diff --git a/pkg/compiler/lib/src/js_backend/field_analysis.dart b/pkg/compiler/lib/src/js_backend/field_analysis.dart
index 96c5bf9..299bb33 100644
--- a/pkg/compiler/lib/src/js_backend/field_analysis.dart
+++ b/pkg/compiler/lib/src/js_backend/field_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/js_backend/field_naming_mixin.dart b/pkg/compiler/lib/src/js_backend/field_naming_mixin.dart
index 7f624d1..f237a2b 100644
--- a/pkg/compiler/lib/src/js_backend/field_naming_mixin.dart
+++ b/pkg/compiler/lib/src/js_backend/field_naming_mixin.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of js_backend.namer;
 
 abstract class _MinifiedFieldNamer implements Namer {
diff --git a/pkg/compiler/lib/src/js_backend/frequency_assignment.dart b/pkg/compiler/lib/src/js_backend/frequency_assignment.dart
index b19015e..a145c9b 100644
--- a/pkg/compiler/lib/src/js_backend/frequency_assignment.dart
+++ b/pkg/compiler/lib/src/js_backend/frequency_assignment.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection' show SplayTreeMap;
 
 /// Assigns names from [nameSequence] to items using a naive algorithm.
diff --git a/pkg/compiler/lib/src/js_backend/frequency_namer.dart b/pkg/compiler/lib/src/js_backend/frequency_namer.dart
index 9e962530..58bf53f 100644
--- a/pkg/compiler/lib/src/js_backend/frequency_namer.dart
+++ b/pkg/compiler/lib/src/js_backend/frequency_namer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of js_backend.namer;
 
 class FrequencyBasedNamer extends Namer
diff --git a/pkg/compiler/lib/src/js_backend/impact_transformer.dart b/pkg/compiler/lib/src/js_backend/impact_transformer.dart
index 8e0ff82..d0cd046 100644
--- a/pkg/compiler/lib/src/js_backend/impact_transformer.dart
+++ b/pkg/compiler/lib/src/js_backend/impact_transformer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.backend.impact_transformer;
 
 import '../common/elements.dart';
diff --git a/pkg/compiler/lib/src/js_backend/inferred_data.dart b/pkg/compiler/lib/src/js_backend/inferred_data.dart
index bf12d8c..84a067a 100644
--- a/pkg/compiler/lib/src/js_backend/inferred_data.dart
+++ b/pkg/compiler/lib/src/js_backend/inferred_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection' show Queue;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_backend/interceptor_data.dart b/pkg/compiler/lib/src/js_backend/interceptor_data.dart
index 36052c1..299dd02 100644
--- a/pkg/compiler/lib/src/js_backend/interceptor_data.dart
+++ b/pkg/compiler/lib/src/js_backend/interceptor_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.interceptor_data;
 
 import '../common/elements.dart'
diff --git a/pkg/compiler/lib/src/js_backend/js_backend.dart b/pkg/compiler/lib/src/js_backend/js_backend.dart
index 7a00a6c..22a4147 100644
--- a/pkg/compiler/lib/src/js_backend/js_backend.dart
+++ b/pkg/compiler/lib/src/js_backend/js_backend.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend;
 
 export 'backend.dart';
diff --git a/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart b/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
index 175290c..a2c42d8 100644
--- a/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
+++ b/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Analysis to determine how to generate code for typed JavaScript interop.
 library compiler.src.js_backend.js_interop_analysis;
 
diff --git a/pkg/compiler/lib/src/js_backend/minify_namer.dart b/pkg/compiler/lib/src/js_backend/minify_namer.dart
index 07f2138..5d685ee 100644
--- a/pkg/compiler/lib/src/js_backend/minify_namer.dart
+++ b/pkg/compiler/lib/src/js_backend/minify_namer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of js_backend.namer;
 
 /// Assigns JavaScript identifiers to Dart variables, class-names and members.
diff --git a/pkg/compiler/lib/src/js_backend/name_sequence.dart b/pkg/compiler/lib/src/js_backend/name_sequence.dart
index 1f7bdf1..5f97bc8 100644
--- a/pkg/compiler/lib/src/js_backend/name_sequence.dart
+++ b/pkg/compiler/lib/src/js_backend/name_sequence.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_unstable/dart2js.dart'
     show $0, $9, $A, $Z, $_, $a, $z;
 
diff --git a/pkg/compiler/lib/src/js_backend/namer.dart b/pkg/compiler/lib/src/js_backend/namer.dart
index b8e9f66..3c4f5fa 100644
--- a/pkg/compiler/lib/src/js_backend/namer.dart
+++ b/pkg/compiler/lib/src/js_backend/namer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.namer;
 
 import 'package:front_end/src/api_unstable/dart2js.dart'
diff --git a/pkg/compiler/lib/src/js_backend/namer_names.dart b/pkg/compiler/lib/src/js_backend/namer_names.dart
index b549098..85cb341 100644
--- a/pkg/compiler/lib/src/js_backend/namer_names.dart
+++ b/pkg/compiler/lib/src/js_backend/namer_names.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of js_backend.namer;
 
 abstract class _NamerName extends jsAst.Name {
diff --git a/pkg/compiler/lib/src/js_backend/native_data.dart b/pkg/compiler/lib/src/js_backend/native_data.dart
index 6bbf4ea..a2541d2 100644
--- a/pkg/compiler/lib/src/js_backend/native_data.dart
+++ b/pkg/compiler/lib/src/js_backend/native_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.native_data;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
index f9c2749..9b9cc0d 100644
--- a/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
+++ b/pkg/compiler/lib/src/js_backend/no_such_method_registry.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart' show CommonElements;
 import '../common/names.dart' show Identifiers, Selectors;
diff --git a/pkg/compiler/lib/src/js_backend/resolution_listener.dart b/pkg/compiler/lib/src/js_backend/resolution_listener.dart
index ca26e30..fcfd352 100644
--- a/pkg/compiler/lib/src/js_backend/resolution_listener.dart
+++ b/pkg/compiler/lib/src/js_backend/resolution_listener.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.backend.resolution_listener;
 
 import '../common/elements.dart' show KCommonElements, KElementEnvironment;
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types.dart b/pkg/compiler/lib/src/js_backend/runtime_types.dart
index f27a4c4..8f63902 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.runtime_types;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types_codegen.dart b/pkg/compiler/lib/src/js_backend/runtime_types_codegen.dart
index f549a6a..260e94b 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types_codegen.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types_codegen.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.runtime_types_codegen;
 
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types_new.dart b/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
index 75fa30e..2f8816e 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types_new.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.runtime_types_new;
 
 import 'package:js_runtime/shared/recipe_syntax.dart';
diff --git a/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart b/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
index 391a9fbcc..365a3f8 100644
--- a/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
+++ b/pkg/compiler/lib/src/js_backend/runtime_types_resolution.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library js_backend.runtime_types_resolution;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_backend/specialized_checks.dart b/pkg/compiler/lib/src/js_backend/specialized_checks.dart
index b81a547..78d1786 100644
--- a/pkg/compiler/lib/src/js_backend/specialized_checks.dart
+++ b/pkg/compiler/lib/src/js_backend/specialized_checks.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show ElementEnvironment, JCommonElements;
 import '../deferred_load/output_unit.dart';
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/js_backend/string_abbreviation.dart b/pkg/compiler/lib/src/js_backend/string_abbreviation.dart
index 0e442bd..b41e069 100644
--- a/pkg/compiler/lib/src/js_backend/string_abbreviation.dart
+++ b/pkg/compiler/lib/src/js_backend/string_abbreviation.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_unstable/dart2js.dart'
     show $0, $9, $A, $Z, $a, $z;
 
diff --git a/pkg/compiler/lib/src/js_backend/string_reference.dart b/pkg/compiler/lib/src/js_backend/string_reference.dart
index 06d7370..966223b 100644
--- a/pkg/compiler/lib/src/js_backend/string_reference.dart
+++ b/pkg/compiler/lib/src/js_backend/string_reference.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// StringReferences are 'holes' in the generated JavaScript that are filled in
 /// by the emitter with code to access a large string.
 ///
diff --git a/pkg/compiler/lib/src/js_backend/type_reference.dart b/pkg/compiler/lib/src/js_backend/type_reference.dart
index b603532..2f4bc25 100644
--- a/pkg/compiler/lib/src/js_backend/type_reference.dart
+++ b/pkg/compiler/lib/src/js_backend/type_reference.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// TypeReferences are 'holes' in the generated JavaScript that are filled in by
 /// the emitter with code to access a type.
 ///
diff --git a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
index 31cb0a5..78a6912 100644
--- a/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/class_stub_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.class_stub_generator;
 
 import 'package:js_runtime/shared/embedded_names.dart'
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
index bc491ae..1cbf7e1 100644
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.code_emitter_task;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/constant_ordering.dart b/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
index 09a8b4f..ed04b1c 100644
--- a/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
+++ b/pkg/compiler/lib/src/js_emitter/constant_ordering.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.constant_ordering;
 
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/headers.dart b/pkg/compiler/lib/src/js_emitter/headers.dart
index 90e4098..66df30c 100644
--- a/pkg/compiler/lib/src/js_emitter/headers.dart
+++ b/pkg/compiler/lib/src/js_emitter/headers.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.headers;
 
 import '../options.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/instantiation_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/instantiation_stub_generator.dart
index 3ab380f..9aadb62 100644
--- a/pkg/compiler/lib/src/js_emitter/instantiation_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/instantiation_stub_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.instantiation_stub_generator;
 
 import '../common/elements.dart' show JCommonElements, JElementEnvironment;
diff --git a/pkg/compiler/lib/src/js_emitter/interceptor_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/interceptor_stub_generator.dart
index 1324ece..4d5beaf 100644
--- a/pkg/compiler/lib/src/js_emitter/interceptor_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/interceptor_stub_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.interceptor_stub_generator;
 
 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
diff --git a/pkg/compiler/lib/src/js_emitter/js_emitter.dart b/pkg/compiler/lib/src/js_emitter/js_emitter.dart
index b5d4f85..2371dee 100644
--- a/pkg/compiler/lib/src/js_emitter/js_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/js_emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter;
 
 export 'class_stub_generator.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
index 724da21..fe6ef0c 100644
--- a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.main_call_stub_generator;
 
 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
diff --git a/pkg/compiler/lib/src/js_emitter/metadata_collector.dart b/pkg/compiler/lib/src/js_emitter/metadata_collector.dart
index c88217e..ae10aaa 100644
--- a/pkg/compiler/lib/src/js_emitter/metadata_collector.dart
+++ b/pkg/compiler/lib/src/js_emitter/metadata_collector.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.metadata_collector;
 
 import 'package:js_ast/src/precedence.dart' as js_precedence;
diff --git a/pkg/compiler/lib/src/js_emitter/model.dart b/pkg/compiler/lib/src/js_emitter/model.dart
index 39fa4eb..a862f48 100644
--- a/pkg/compiler/lib/src/js_emitter/model.dart
+++ b/pkg/compiler/lib/src/js_emitter/model.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.new_js_emitter.model;
 
 import '../common/elements.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/native_emitter.dart b/pkg/compiler/lib/src/js_emitter/native_emitter.dart
index a288989..491d2b2 100644
--- a/pkg/compiler/lib/src/js_emitter/native_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/native_emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.native_emitter;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/native_generator.dart b/pkg/compiler/lib/src/js_emitter/native_generator.dart
index 28616dc..71e6414 100644
--- a/pkg/compiler/lib/src/js_emitter/native_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/native_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.native_generator;
 
 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
diff --git a/pkg/compiler/lib/src/js_emitter/parameter_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/parameter_stub_generator.dart
index fea65fb..7361ff0 100644
--- a/pkg/compiler/lib/src/js_emitter/parameter_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/parameter_stub_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.parameter_stub_generator;
 
 import '../common/elements.dart' show JElementEnvironment;
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
index fea4949..ddd6c60c 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/collector.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of dart2js.js_emitter.program_builder;
 
 /// Generates the code for all used classes in the program. Static fields (even
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart b/pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart
index af94f35..8bd412e 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/field_visitor.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of dart2js.js_emitter.program_builder;
 
 /// [member] is an instance field.
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index d04ed4a..5068dda 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.program_builder;
 
 import '../../common.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart b/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
index 78e6cd2..4c77d92 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of dart2js.js_emitter.program_builder;
 
 class LibraryContents {
diff --git a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
index 011f679..7086f45 100644
--- a/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/runtime_type_generator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.runtime_type_generator;
 
 import '../common/elements.dart' show CommonElements;
diff --git a/pkg/compiler/lib/src/js_emitter/sorter.dart b/pkg/compiler/lib/src/js_emitter/sorter.dart
index 0de3e33..fa27579 100644
--- a/pkg/compiler/lib/src/js_emitter/sorter.dart
+++ b/pkg/compiler/lib/src/js_emitter/sorter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.sorter;
 
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart
index 09d0938..7136d66 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.startup_emitter;
 
 import '../../../compiler.dart';
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
index adb19b0..66db107 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of dart2js.js_emitter.startup_emitter.model_emitter;
 
 /// The fast startup emitter's goal is to minimize the amount of work that the
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
index 6a92212..f74885d 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection';
 import '../../common/elements.dart' show ElementEnvironment;
 import '../../deferred_load/output_unit.dart'
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
index 133789f..7bd5937 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_emitter.startup_emitter.model_emitter;
 
 import 'dart:convert' show JsonEncoder;
diff --git a/pkg/compiler/lib/src/js_model/closure.dart b/pkg/compiler/lib/src/js_model/closure.dart
index 62b1101..d8e2b26 100644
--- a/pkg/compiler/lib/src/js_model/closure.dart
+++ b/pkg/compiler/lib/src/js_model/closure.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../closure.dart';
diff --git a/pkg/compiler/lib/src/js_model/element_map.dart b/pkg/compiler/lib/src/js_model/element_map.dart
index 985d77f..2994fbe 100644
--- a/pkg/compiler/lib/src/js_model/element_map.dart
+++ b/pkg/compiler/lib/src/js_model/element_map.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/js_model/element_map_impl.dart b/pkg/compiler/lib/src/js_model/element_map_impl.dart
index 5b30ba7..6bff96f 100644
--- a/pkg/compiler/lib/src/js_model/element_map_impl.dart
+++ b/pkg/compiler/lib/src/js_model/element_map_impl.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_prototype/constant_evaluator.dart' as ir;
 import 'package:front_end/src/api_unstable/dart2js.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/js_model/elements.dart b/pkg/compiler/lib/src/js_model/elements.dart
index 01c50f9..aab30db 100644
--- a/pkg/compiler/lib/src/js_model/elements.dart
+++ b/pkg/compiler/lib/src/js_model/elements.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_model.elements;
 
 import '../common/names.dart' show Names;
diff --git a/pkg/compiler/lib/src/js_model/env.dart b/pkg/compiler/lib/src/js_model/env.dart
index a60b310..258eb0f 100644
--- a/pkg/compiler/lib/src/js_model/env.dart
+++ b/pkg/compiler/lib/src/js_model/env.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_model.env;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/js_model/js_strategy.dart b/pkg/compiler/lib/src/js_model/js_strategy.dart
index 534f422..95fb87e 100644
--- a/pkg/compiler/lib/src/js_model/js_strategy.dart
+++ b/pkg/compiler/lib/src/js_model/js_strategy.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_model.strategy;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/js_model/js_world.dart b/pkg/compiler/lib/src/js_model/js_world.dart
index e6803aa..6b64172 100644
--- a/pkg/compiler/lib/src/js_model/js_world.dart
+++ b/pkg/compiler/lib/src/js_model/js_world.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:front_end/src/api_unstable/dart2js.dart' show Link;
 
diff --git a/pkg/compiler/lib/src/js_model/js_world_builder.dart b/pkg/compiler/lib/src/js_model/js_world_builder.dart
index 2faf6e6..2609fe2 100644
--- a/pkg/compiler/lib/src/js_model/js_world_builder.dart
+++ b/pkg/compiler/lib/src/js_model/js_world_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../closure.dart';
diff --git a/pkg/compiler/lib/src/js_model/locals.dart b/pkg/compiler/lib/src/js_model/locals.dart
index ff38486..b6d3d6b 100644
--- a/pkg/compiler/lib/src/js_model/locals.dart
+++ b/pkg/compiler/lib/src/js_model/locals.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_model.locals;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/js_model/type_recipe.dart b/pkg/compiler/lib/src/js_model/type_recipe.dart
index 590ef0a..3a84def 100644
--- a/pkg/compiler/lib/src/js_model/type_recipe.dart
+++ b/pkg/compiler/lib/src/js_model/type_recipe.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.js_model.type_recipe;
 
 import '../elements/entities.dart' show ClassEntity;
diff --git a/pkg/compiler/lib/src/kernel/element_map.dart b/pkg/compiler/lib/src/kernel/element_map.dart
index 3f30198..14ef134 100644
--- a/pkg/compiler/lib/src/kernel/element_map.dart
+++ b/pkg/compiler/lib/src/kernel/element_map.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 // TODO(joshualitt): Merge the contents of element_map_impl.dart into this file.
diff --git a/pkg/compiler/lib/src/kernel/element_map_impl.dart b/pkg/compiler/lib/src/kernel/element_map_impl.dart
index 6dc3606..4b9a722 100644
--- a/pkg/compiler/lib/src/kernel/element_map_impl.dart
+++ b/pkg/compiler/lib/src/kernel/element_map_impl.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_prototype/constant_evaluator.dart' as ir;
 import 'package:front_end/src/api_unstable/dart2js.dart' as ir;
 import 'package:js_runtime/shared/embedded_names.dart';
diff --git a/pkg/compiler/lib/src/kernel/env.dart b/pkg/compiler/lib/src/kernel/env.dart
index 2fe73fc..5829b7d 100644
--- a/pkg/compiler/lib/src/kernel/env.dart
+++ b/pkg/compiler/lib/src/kernel/env.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.kernel.env;
 
 import 'package:front_end/src/api_unstable/dart2js.dart'
diff --git a/pkg/compiler/lib/src/kernel/front_end_adapter.dart b/pkg/compiler/lib/src/kernel/front_end_adapter.dart
index 5dca150..1643703 100644
--- a/pkg/compiler/lib/src/kernel/front_end_adapter.dart
+++ b/pkg/compiler/lib/src/kernel/front_end_adapter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Helper classes and methods to adapt between `package:compiler` and
 /// `package:front_end` APIs.
 library compiler.kernel.front_end_adapter;
diff --git a/pkg/compiler/lib/src/kernel/kelements.dart b/pkg/compiler/lib/src/kernel/kelements.dart
index d709a75..8d37d9f 100644
--- a/pkg/compiler/lib/src/kernel/kelements.dart
+++ b/pkg/compiler/lib/src/kernel/kelements.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Entity model for elements derived from Kernel IR.
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/kernel/kernel_impact.dart b/pkg/compiler/lib/src/kernel/kernel_impact.dart
index 11fa918..6b135bc 100644
--- a/pkg/compiler/lib/src/kernel/kernel_impact.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_impact.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/type_environment.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/kernel/kernel_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
index 6c29404..137a26c 100644
--- a/pkg/compiler/lib/src/kernel/kernel_strategy.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.kernel.frontend_strategy;
 
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/kernel/kernel_world.dart b/pkg/compiler/lib/src/kernel/kernel_world.dart
index 484ab9a..8aede80 100644
--- a/pkg/compiler/lib/src/kernel/kernel_world.dart
+++ b/pkg/compiler/lib/src/kernel/kernel_world.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart';
 import '../common/names.dart';
diff --git a/pkg/compiler/lib/src/kernel/native_basic_data.dart b/pkg/compiler/lib/src/kernel/native_basic_data.dart
index df000a3..b80a7c7 100644
--- a/pkg/compiler/lib/src/kernel/native_basic_data.dart
+++ b/pkg/compiler/lib/src/kernel/native_basic_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/kernel/no_such_method_resolver.dart b/pkg/compiler/lib/src/kernel/no_such_method_resolver.dart
index 6b44875..165a67a 100644
--- a/pkg/compiler/lib/src/kernel/no_such_method_resolver.dart
+++ b/pkg/compiler/lib/src/kernel/no_such_method_resolver.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common/elements.dart';
diff --git a/pkg/compiler/lib/src/native/behavior.dart b/pkg/compiler/lib/src/native/behavior.dart
index cf696e9..cde763a 100644
--- a/pkg/compiler/lib/src/native/behavior.dart
+++ b/pkg/compiler/lib/src/native/behavior.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart' show CommonElements, ElementEnvironment;
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/native/enqueue.dart b/pkg/compiler/lib/src/native/enqueue.dart
index d70d471..f50379f 100644
--- a/pkg/compiler/lib/src/native/enqueue.dart
+++ b/pkg/compiler/lib/src/native/enqueue.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show CommonElements, ElementEnvironment;
 import '../elements/entities.dart';
 import '../elements/types.dart';
diff --git a/pkg/compiler/lib/src/native/js.dart b/pkg/compiler/lib/src/native/js.dart
index 295dd0b..9c69ae7 100644
--- a/pkg/compiler/lib/src/native/js.dart
+++ b/pkg/compiler/lib/src/native/js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../js/js.dart' as js;
 import '../universe/side_effects.dart' show SideEffects;
 import 'behavior.dart';
diff --git a/pkg/compiler/lib/src/native/resolver.dart b/pkg/compiler/lib/src/native/resolver.dart
index b579393..051995e 100644
--- a/pkg/compiler/lib/src/native/resolver.dart
+++ b/pkg/compiler/lib/src/native/resolver.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart' show KElementEnvironment;
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/null_compiler_output.dart b/pkg/compiler/lib/src/null_compiler_output.dart
index 497bf50..0ea46dd 100644
--- a/pkg/compiler/lib/src/null_compiler_output.dart
+++ b/pkg/compiler/lib/src/null_compiler_output.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Null pattern implementation of the [CompilerOutput] interface.
 
 library compiler.null_api;
diff --git a/pkg/compiler/lib/src/ordered_typeset.dart b/pkg/compiler/lib/src/ordered_typeset.dart
index 34232db..148fc9a 100644
--- a/pkg/compiler/lib/src/ordered_typeset.dart
+++ b/pkg/compiler/lib/src/ordered_typeset.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library ordered_typeset;
 
 import 'package:front_end/src/api_unstable/dart2js.dart'
diff --git a/pkg/compiler/lib/src/phase/load_kernel.dart b/pkg/compiler/lib/src/phase/load_kernel.dart
index e16d5fb..ee33403 100644
--- a/pkg/compiler/lib/src/phase/load_kernel.dart
+++ b/pkg/compiler/lib/src/phase/load_kernel.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:async';
 
 import 'package:front_end/src/fasta/kernel/utils.dart';
diff --git a/pkg/compiler/lib/src/phase/modular_analysis.dart b/pkg/compiler/lib/src/phase/modular_analysis.dart
index d7ba441..75853c4 100644
--- a/pkg/compiler/lib/src/phase/modular_analysis.dart
+++ b/pkg/compiler/lib/src/phase/modular_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/resolution/enqueuer.dart b/pkg/compiler/lib/src/resolution/enqueuer.dart
index 6a20e9d..ecc794c 100644
--- a/pkg/compiler/lib/src/resolution/enqueuer.dart
+++ b/pkg/compiler/lib/src/resolution/enqueuer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection' show Queue;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/script.dart b/pkg/compiler/lib/src/script.dart
index cacd79f..01a40dc 100644
--- a/pkg/compiler/lib/src/script.dart
+++ b/pkg/compiler/lib/src/script.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.script;
 
 import 'io/source_file.dart';
diff --git a/pkg/compiler/lib/src/serialization/binary_sink.dart b/pkg/compiler/lib/src/serialization/binary_sink.dart
index 7817a31..c5c52a7 100644
--- a/pkg/compiler/lib/src/serialization/binary_sink.dart
+++ b/pkg/compiler/lib/src/serialization/binary_sink.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// [DataSink] that writes data as a sequence of bytes.
diff --git a/pkg/compiler/lib/src/serialization/binary_source.dart b/pkg/compiler/lib/src/serialization/binary_source.dart
index 149f362..00d1291 100644
--- a/pkg/compiler/lib/src/serialization/binary_source.dart
+++ b/pkg/compiler/lib/src/serialization/binary_source.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// [DataSource] that reads data from a sequence of bytes.
diff --git a/pkg/compiler/lib/src/serialization/helpers.dart b/pkg/compiler/lib/src/serialization/helpers.dart
index 81b2e20..08d77ed 100644
--- a/pkg/compiler/lib/src/serialization/helpers.dart
+++ b/pkg/compiler/lib/src/serialization/helpers.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// Enum values used for identifying different kinds of serialized data.
diff --git a/pkg/compiler/lib/src/serialization/member_data.dart b/pkg/compiler/lib/src/serialization/member_data.dart
index 87db36b..7e780fd 100644
--- a/pkg/compiler/lib/src/serialization/member_data.dart
+++ b/pkg/compiler/lib/src/serialization/member_data.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// Helper for looking up object library data from an [ir.Component] node.
diff --git a/pkg/compiler/lib/src/serialization/node_indexer.dart b/pkg/compiler/lib/src/serialization/node_indexer.dart
index 377eb80..a61c244 100644
--- a/pkg/compiler/lib/src/serialization/node_indexer.dart
+++ b/pkg/compiler/lib/src/serialization/node_indexer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// Visitor that ascribes an index to all [ir.TreeNode]s that potentially
diff --git a/pkg/compiler/lib/src/serialization/object_sink.dart b/pkg/compiler/lib/src/serialization/object_sink.dart
index 1388dc6..d5b54b4 100644
--- a/pkg/compiler/lib/src/serialization/object_sink.dart
+++ b/pkg/compiler/lib/src/serialization/object_sink.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// [DataSinkWriter] that writes to a list of objects, useful for debugging
diff --git a/pkg/compiler/lib/src/serialization/object_source.dart b/pkg/compiler/lib/src/serialization/object_source.dart
index 01b602b..bc34994 100644
--- a/pkg/compiler/lib/src/serialization/object_source.dart
+++ b/pkg/compiler/lib/src/serialization/object_source.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// [DataSource] that read from a list of objects, useful for debugging
diff --git a/pkg/compiler/lib/src/serialization/serialization.dart b/pkg/compiler/lib/src/serialization/serialization.dart
index b7747d9..016192a 100644
--- a/pkg/compiler/lib/src/serialization/serialization.dart
+++ b/pkg/compiler/lib/src/serialization/serialization.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:convert';
 import 'dart:typed_data';
 import 'package:kernel/ast.dart' as ir;
diff --git a/pkg/compiler/lib/src/serialization/sink.dart b/pkg/compiler/lib/src/serialization/sink.dart
index 3158728..83a5af9 100644
--- a/pkg/compiler/lib/src/serialization/sink.dart
+++ b/pkg/compiler/lib/src/serialization/sink.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// Interface handling [DataSinkWriter] low-level data serialization.
diff --git a/pkg/compiler/lib/src/serialization/source.dart b/pkg/compiler/lib/src/serialization/source.dart
index b43c1ad..ee1b7e0 100644
--- a/pkg/compiler/lib/src/serialization/source.dart
+++ b/pkg/compiler/lib/src/serialization/source.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 part of 'serialization.dart';
 
 /// Interface handling [DataSourceReader] low-level data deserialization.
diff --git a/pkg/compiler/lib/src/serialization/strategies.dart b/pkg/compiler/lib/src/serialization/strategies.dart
index d73bddd..11ebe03 100644
--- a/pkg/compiler/lib/src/serialization/strategies.dart
+++ b/pkg/compiler/lib/src/serialization/strategies.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:io';
 
 import 'package:front_end/src/fasta/kernel/utils.dart' as ir
diff --git a/pkg/compiler/lib/src/serialization/task.dart b/pkg/compiler/lib/src/serialization/task.dart
index c69d158..9c39ef3 100644
--- a/pkg/compiler/lib/src/serialization/task.dart
+++ b/pkg/compiler/lib/src/serialization/task.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:async';
 import 'package:kernel/ast.dart' as ir;
 import 'package:kernel/binary/ast_from_binary.dart' as ir;
diff --git a/pkg/compiler/lib/src/source_file_provider.dart b/pkg/compiler/lib/src/source_file_provider.dart
index 4ab19c1..4099ddc 100644
--- a/pkg/compiler/lib/src/source_file_provider.dart
+++ b/pkg/compiler/lib/src/source_file_provider.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library source_file_provider;
 
 import 'dart:async';
diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
index 8109b5f..c34f02f 100644
--- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
+++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:js_runtime/shared/embedded_names.dart';
 import 'package:kernel/ast.dart' as ir;
 
diff --git a/pkg/compiler/lib/src/ssa/codegen.dart b/pkg/compiler/lib/src/ssa/codegen.dart
index d54ffe8..f5e81f0 100644
--- a/pkg/compiler/lib/src/ssa/codegen.dart
+++ b/pkg/compiler/lib/src/ssa/codegen.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:math' as math;
 import 'dart:collection' show Queue;
 
diff --git a/pkg/compiler/lib/src/ssa/codegen_helpers.dart b/pkg/compiler/lib/src/ssa/codegen_helpers.dart
index b1a37fb..600cbac 100644
--- a/pkg/compiler/lib/src/ssa/codegen_helpers.dart
+++ b/pkg/compiler/lib/src/ssa/codegen_helpers.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../constants/values.dart';
 import '../elements/entities.dart';
 import '../inferrer/abstract_value_domain.dart';
diff --git a/pkg/compiler/lib/src/ssa/interceptor_finalizer.dart b/pkg/compiler/lib/src/ssa/interceptor_finalizer.dart
index b8dcd74..45e2c3b 100644
--- a/pkg/compiler/lib/src/ssa/interceptor_finalizer.dart
+++ b/pkg/compiler/lib/src/ssa/interceptor_finalizer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../constants/values.dart';
 import '../elements/entities.dart';
 import '../inferrer/abstract_value_domain.dart';
diff --git a/pkg/compiler/lib/src/ssa/interceptor_simplifier.dart b/pkg/compiler/lib/src/ssa/interceptor_simplifier.dart
index c474639..030d794 100644
--- a/pkg/compiler/lib/src/ssa/interceptor_simplifier.dart
+++ b/pkg/compiler/lib/src/ssa/interceptor_simplifier.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show CommonElements;
 import '../constants/values.dart';
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/ssa/invoke_dynamic_specializers.dart b/pkg/compiler/lib/src/ssa/invoke_dynamic_specializers.dart
index f514f5f..5e55d7e 100644
--- a/pkg/compiler/lib/src/ssa/invoke_dynamic_specializers.dart
+++ b/pkg/compiler/lib/src/ssa/invoke_dynamic_specializers.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show JCommonElements;
 import '../constants/constant_system.dart' as constant_system;
 import '../constants/values.dart';
diff --git a/pkg/compiler/lib/src/ssa/jump_handler.dart b/pkg/compiler/lib/src/ssa/jump_handler.dart
index ff2911d..f246ab0 100644
--- a/pkg/compiler/lib/src/ssa/jump_handler.dart
+++ b/pkg/compiler/lib/src/ssa/jump_handler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../elements/jumps.dart';
 import '../inferrer/abstract_value_domain.dart';
diff --git a/pkg/compiler/lib/src/ssa/kernel_string_builder.dart b/pkg/compiler/lib/src/ssa/kernel_string_builder.dart
index c21bc69..6e5c643 100644
--- a/pkg/compiler/lib/src/ssa/kernel_string_builder.dart
+++ b/pkg/compiler/lib/src/ssa/kernel_string_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/ssa/locals_handler.dart b/pkg/compiler/lib/src/ssa/locals_handler.dart
index 2452f1a..62bbe2b 100644
--- a/pkg/compiler/lib/src/ssa/locals_handler.dart
+++ b/pkg/compiler/lib/src/ssa/locals_handler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:compiler/src/js_model/element_map.dart';
 
 import '../closure.dart';
diff --git a/pkg/compiler/lib/src/ssa/logging.dart b/pkg/compiler/lib/src/ssa/logging.dart
index fcbb3ab..2fe3f6f 100644
--- a/pkg/compiler/lib/src/ssa/logging.dart
+++ b/pkg/compiler/lib/src/ssa/logging.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../elements/entities.dart';
 import '../elements/types.dart';
 import 'package:_fe_analyzer_shared/src/testing/features.dart';
diff --git a/pkg/compiler/lib/src/ssa/loop_handler.dart b/pkg/compiler/lib/src/ssa/loop_handler.dart
index 73e96e9..6b68e63 100644
--- a/pkg/compiler/lib/src/ssa/loop_handler.dart
+++ b/pkg/compiler/lib/src/ssa/loop_handler.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 import '../closure.dart' show CapturedLoopScope;
diff --git a/pkg/compiler/lib/src/ssa/nodes.dart b/pkg/compiler/lib/src/ssa/nodes.dart
index 2026528..1eb9226 100644
--- a/pkg/compiler/lib/src/ssa/nodes.dart
+++ b/pkg/compiler/lib/src/ssa/nodes.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:front_end/src/api_unstable/dart2js.dart' show Link;
 
 import '../closure.dart';
diff --git a/pkg/compiler/lib/src/ssa/optimize.dart b/pkg/compiler/lib/src/ssa/optimize.dart
index 5e178c2..8f3875d 100644
--- a/pkg/compiler/lib/src/ssa/optimize.dart
+++ b/pkg/compiler/lib/src/ssa/optimize.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/codegen.dart' show CodegenRegistry;
 import '../common/elements.dart' show JCommonElements;
diff --git a/pkg/compiler/lib/src/ssa/ssa.dart b/pkg/compiler/lib/src/ssa/ssa.dart
index 40243ad..5468735 100644
--- a/pkg/compiler/lib/src/ssa/ssa.dart
+++ b/pkg/compiler/lib/src/ssa/ssa.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library ssa;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/ssa/ssa_branch_builder.dart b/pkg/compiler/lib/src/ssa/ssa_branch_builder.dart
index df4e293..a3b5095 100644
--- a/pkg/compiler/lib/src/ssa/ssa_branch_builder.dart
+++ b/pkg/compiler/lib/src/ssa/ssa_branch_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../inferrer/abstract_value_domain.dart';
 import '../io/source_information.dart';
diff --git a/pkg/compiler/lib/src/ssa/ssa_tracer.dart b/pkg/compiler/lib/src/ssa/ssa_tracer.dart
index 231e4a3..a47bd34 100644
--- a/pkg/compiler/lib/src/ssa/ssa_tracer.dart
+++ b/pkg/compiler/lib/src/ssa/ssa_tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library ssa.tracer;
 
 import '../../compiler.dart' show OutputSink;
diff --git a/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart b/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
index bf99220..5f58be1 100644
--- a/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
+++ b/pkg/compiler/lib/src/ssa/switch_continue_analysis.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:kernel/ast.dart' as ir;
 
 /// Helper class that traverses a kernel AST subtree to see if it has any
diff --git a/pkg/compiler/lib/src/ssa/type_builder.dart b/pkg/compiler/lib/src/ssa/type_builder.dart
index e7e0a25..a70a154 100644
--- a/pkg/compiler/lib/src/ssa/type_builder.dart
+++ b/pkg/compiler/lib/src/ssa/type_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'builder_kernel.dart';
 import 'nodes.dart';
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/ssa/types.dart b/pkg/compiler/lib/src/ssa/types.dart
index 64e4c28..afcca37 100644
--- a/pkg/compiler/lib/src/ssa/types.dart
+++ b/pkg/compiler/lib/src/ssa/types.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show CommonElements;
 import '../elements/entities.dart';
 import '../elements/types.dart';
diff --git a/pkg/compiler/lib/src/ssa/types_propagation.dart b/pkg/compiler/lib/src/ssa/types_propagation.dart
index 5a88ac3..082183b 100644
--- a/pkg/compiler/lib/src/ssa/types_propagation.dart
+++ b/pkg/compiler/lib/src/ssa/types_propagation.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common/elements.dart' show CommonElements;
 import '../elements/entities.dart';
 import '../elements/types.dart';
diff --git a/pkg/compiler/lib/src/ssa/validate.dart b/pkg/compiler/lib/src/ssa/validate.dart
index 04c7f00..8659468 100644
--- a/pkg/compiler/lib/src/ssa/validate.dart
+++ b/pkg/compiler/lib/src/ssa/validate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'nodes.dart';
 
 class HValidator extends HInstructionVisitor {
diff --git a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
index d84928d..ffdb466 100644
--- a/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
+++ b/pkg/compiler/lib/src/ssa/value_range_analyzer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../constants/constant_system.dart' as constant_system;
 import '../constants/values.dart';
 import '../world.dart' show JClosedWorld;
diff --git a/pkg/compiler/lib/src/ssa/value_set.dart b/pkg/compiler/lib/src/ssa/value_set.dart
index db348c4..3a65307 100644
--- a/pkg/compiler/lib/src/ssa/value_set.dart
+++ b/pkg/compiler/lib/src/ssa/value_set.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../universe/side_effects.dart' show SideEffects;
 import 'nodes.dart';
 
diff --git a/pkg/compiler/lib/src/ssa/variable_allocator.dart b/pkg/compiler/lib/src/ssa/variable_allocator.dart
index 6fa6dbd..8bde9c7 100644
--- a/pkg/compiler/lib/src/ssa/variable_allocator.dart
+++ b/pkg/compiler/lib/src/ssa/variable_allocator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../js_backend/namer.dart' show ModularNamer;
 import 'codegen.dart' show CodegenPhase;
diff --git a/pkg/compiler/lib/src/tracer.dart b/pkg/compiler/lib/src/tracer.dart
index 4e03751..9ecb938 100644
--- a/pkg/compiler/lib/src/tracer.dart
+++ b/pkg/compiler/lib/src/tracer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library tracer;
 
 import 'package:kernel/text/indentation.dart' show Indentation;
diff --git a/pkg/compiler/lib/src/universe/call_structure.dart b/pkg/compiler/lib/src/universe/call_structure.dart
index 0062fc9..e421377 100644
--- a/pkg/compiler/lib/src/universe/call_structure.dart
+++ b/pkg/compiler/lib/src/universe/call_structure.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.call_structure;
 
 import '../common/names.dart' show Names;
diff --git a/pkg/compiler/lib/src/universe/class_hierarchy.dart b/pkg/compiler/lib/src/universe/class_hierarchy.dart
index a2e6d01..edaba36 100644
--- a/pkg/compiler/lib/src/universe/class_hierarchy.dart
+++ b/pkg/compiler/lib/src/universe/class_hierarchy.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart';
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/universe/class_set.dart b/pkg/compiler/lib/src/universe/class_set.dart
index f7c899d..b538a40 100644
--- a/pkg/compiler/lib/src/universe/class_set.dart
+++ b/pkg/compiler/lib/src/universe/class_set.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.world.class_set;
 
 import 'dart:collection' show IterableBase, MapBase;
diff --git a/pkg/compiler/lib/src/universe/codegen_world_builder.dart b/pkg/compiler/lib/src/universe/codegen_world_builder.dart
index 1832cbc..710e2c4 100644
--- a/pkg/compiler/lib/src/universe/codegen_world_builder.dart
+++ b/pkg/compiler/lib/src/universe/codegen_world_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:collection';
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/universe/feature.dart b/pkg/compiler/lib/src/universe/feature.dart
index 8358202..213c7bf 100644
--- a/pkg/compiler/lib/src/universe/feature.dart
+++ b/pkg/compiler/lib/src/universe/feature.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // TODO(sigmund): rename universe => world
 /// Describes individual features that may be seen in a program. Most features
 /// can be described only by name using the [Feature] enum, some features are
diff --git a/pkg/compiler/lib/src/universe/function_set.dart b/pkg/compiler/lib/src/universe/function_set.dart
index 6661fc9..13f48fc 100644
--- a/pkg/compiler/lib/src/universe/function_set.dart
+++ b/pkg/compiler/lib/src/universe/function_set.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library universe.function_set;
 
 import '../common/names.dart' show Identifiers, Selectors;
diff --git a/pkg/compiler/lib/src/universe/member_usage.dart b/pkg/compiler/lib/src/universe/member_usage.dart
index f3fe0b1..2356b7a 100644
--- a/pkg/compiler/lib/src/universe/member_usage.dart
+++ b/pkg/compiler/lib/src/universe/member_usage.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:math' as Math;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/universe/resolution_world_builder.dart b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
index 3f31e7b..c545b07 100644
--- a/pkg/compiler/lib/src/universe/resolution_world_builder.dart
+++ b/pkg/compiler/lib/src/universe/resolution_world_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../common.dart';
 import '../common/elements.dart';
 import '../common/names.dart' show Identifiers, Names;
diff --git a/pkg/compiler/lib/src/universe/selector.dart b/pkg/compiler/lib/src/universe/selector.dart
index 8ea7244..757c6c2 100644
--- a/pkg/compiler/lib/src/universe/selector.dart
+++ b/pkg/compiler/lib/src/universe/selector.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.selector;
 
 import '../common.dart';
diff --git a/pkg/compiler/lib/src/universe/side_effects.dart b/pkg/compiler/lib/src/universe/side_effects.dart
index 4e8bab0..a8cf6a2 100644
--- a/pkg/compiler/lib/src/universe/side_effects.dart
+++ b/pkg/compiler/lib/src/universe/side_effects.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library universe.side_effects;
 
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/universe/target_checks.dart b/pkg/compiler/lib/src/universe/target_checks.dart
index 6d4ac79..11416d8 100644
--- a/pkg/compiler/lib/src/universe/target_checks.dart
+++ b/pkg/compiler/lib/src/universe/target_checks.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.target_checks;
 
 /// A summary of the checks required when entering a target method.
diff --git a/pkg/compiler/lib/src/universe/use.dart b/pkg/compiler/lib/src/universe/use.dart
index cffa3fc..2d7159a 100644
--- a/pkg/compiler/lib/src/universe/use.dart
+++ b/pkg/compiler/lib/src/universe/use.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// This library defines individual world impacts.
 ///
 /// We call these building blocks `uses`. Each `use` is a single impact of the
diff --git a/pkg/compiler/lib/src/universe/world_builder.dart b/pkg/compiler/lib/src/universe/world_builder.dart
index d75a9e2..bb364e2 100644
--- a/pkg/compiler/lib/src/universe/world_builder.dart
+++ b/pkg/compiler/lib/src/universe/world_builder.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library world_builder;
 
 import '../common/elements.dart';
diff --git a/pkg/compiler/lib/src/universe/world_impact.dart b/pkg/compiler/lib/src/universe/world_impact.dart
index acd7038..a4a4c43 100644
--- a/pkg/compiler/lib/src/universe/world_impact.dart
+++ b/pkg/compiler/lib/src/universe/world_impact.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.universe.world_impact;
 
 import '../elements/entities.dart';
diff --git a/pkg/compiler/lib/src/util/sink_adapter.dart b/pkg/compiler/lib/src/util/sink_adapter.dart
index 1b093a4..da29d86 100644
--- a/pkg/compiler/lib/src/util/sink_adapter.dart
+++ b/pkg/compiler/lib/src/util/sink_adapter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import '../../compiler.dart' as api;
 
 class BinaryOutputSinkAdapter implements Sink<List<int>> {
diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
index 7a77d72..276eee7 100644
--- a/pkg/compiler/lib/src/world.dart
+++ b/pkg/compiler/lib/src/world.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.world;
 
 import 'closure.dart';
diff --git a/pkg/compiler/test/codegen/data/shift_right_unsigned.dart b/pkg/compiler/test/codegen/data/shift_right_unsigned.dart
index 521f9d3..f22ff46 100644
--- a/pkg/compiler/test/codegen/data/shift_right_unsigned.dart
+++ b/pkg/compiler/test/codegen/data/shift_right_unsigned.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-//@dart=2.14
+// @dart = 2.14
 
 /*member: main:ignore*/
 void main() {
diff --git a/pkg/compiler/test/codegen/data/tdiv1.dart b/pkg/compiler/test/codegen/data/tdiv1.dart
index fe6e9f6..bea45a8 100644
--- a/pkg/compiler/test/codegen/data/tdiv1.dart
+++ b/pkg/compiler/test/codegen/data/tdiv1.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-//@dart=2.12
+// @dart = 2.12
 
 /*member: main:ignore*/
 void main() {
diff --git a/pkg/compiler/test/codegen/data_2/unused_empty_map.dart b/pkg/compiler/test/codegen/data_2/unused_empty_map.dart
index 0ac9666..565217b 100644
--- a/pkg/compiler/test/codegen/data_2/unused_empty_map.dart
+++ b/pkg/compiler/test/codegen/data_2/unused_empty_map.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // ignore_for_file: unused_local_variable
 
 @pragma('dart2js:noInline')
diff --git a/pkg/compiler/test/codegen/late_test.dart b/pkg/compiler/test/codegen/late_test.dart
index 0810efd..af820fb 100644
--- a/pkg/compiler/test/codegen/late_test.dart
+++ b/pkg/compiler/test/codegen/late_test.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:async';
 import 'package:async_helper/async_helper.dart';
 import '../helpers/compiler_helper.dart';
diff --git a/pkg/compiler/test/custom_split/data/diamond/constraints.dart b/pkg/compiler/test/custom_split/data/diamond/constraints.dart
index 88ccb84..8f3679d 100644
--- a/pkg/compiler/test/custom_split/data/diamond/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/diamond/main.dart b/pkg/compiler/test/custom_split/data/diamond/main.dart
index 910949d..c17dfa5 100644
--- a/pkg/compiler/test/custom_split/data/diamond/main.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [5{step3}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/diamond/shared.dart b/pkg/compiler/test/custom_split/data/diamond/shared.dart
index 716a9ac..1428242 100644
--- a/pkg/compiler/test/custom_split/data/diamond/shared.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12a:member_unit=1{step1, step2a, step2b, step3}*/
 step12a() => '12a';
diff --git a/pkg/compiler/test/custom_split/data/diamond/step1.dart b/pkg/compiler/test/custom_split/data/diamond/step1.dart
index d87a15b..c067494 100644
--- a/pkg/compiler/test/custom_split/data/diamond/step1.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond/step2a.dart b/pkg/compiler/test/custom_split/data/diamond/step2a.dart
index e5f2dce..0c3c7d9 100644
--- a/pkg/compiler/test/custom_split/data/diamond/step2a.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/step2a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond/step2b.dart b/pkg/compiler/test/custom_split/data/diamond/step2b.dart
index e733005..3fd2ba7 100644
--- a/pkg/compiler/test/custom_split/data/diamond/step2b.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/step2b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=4{step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond/step3.dart b/pkg/compiler/test/custom_split/data/diamond/step3.dart
index 05cc4af..d10a09f 100644
--- a/pkg/compiler/test/custom_split/data/diamond/step3.dart
+++ b/pkg/compiler/test/custom_split/data/diamond/step3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=5{step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/constraints.dart b/pkg/compiler/test/custom_split/data/diamond_and/constraints.dart
index a333016..25fc111 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/main.dart b/pkg/compiler/test/custom_split/data/diamond_and/main.dart
index 910949d..c17dfa5 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/main.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [5{step3}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/shared.dart b/pkg/compiler/test/custom_split/data/diamond_and/shared.dart
index 716a9ac..1428242 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/shared.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12a:member_unit=1{step1, step2a, step2b, step3}*/
 step12a() => '12a';
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/step1.dart b/pkg/compiler/test/custom_split/data/diamond_and/step1.dart
index d87a15b..c067494 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/step1.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/step2a.dart b/pkg/compiler/test/custom_split/data/diamond_and/step2a.dart
index e5f2dce..0c3c7d9 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/step2a.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/step2a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/step2b.dart b/pkg/compiler/test/custom_split/data/diamond_and/step2b.dart
index e733005..3fd2ba7 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/step2b.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/step2b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=4{step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_and/step3.dart b/pkg/compiler/test/custom_split/data/diamond_and/step3.dart
index 05cc4af..d10a09f 100644
--- a/pkg/compiler/test/custom_split/data/diamond_and/step3.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_and/step3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=5{step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/constraints.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/constraints.dart
index a0fe64f..785f51f 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/main.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/main.dart
index 1067c37..223a406 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/main.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [3{step3}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/shared.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/shared.dart
index 102c8ae1..d923121 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/shared.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12a:member_unit=1{step1, step2a, step2b, step3}*/
 step12a() => '12a';
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/step1.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/step1.dart
index d87a15b..c067494 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/step1.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/step2a.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/step2a.dart
index c669534..5fbb310 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/step2a.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/step2a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/step2b.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/step2b.dart
index d543265..1a117ac 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/step2b.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/step2b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_fuse/step3.dart b/pkg/compiler/test/custom_split/data/diamond_fuse/step3.dart
index f924158..dd75638 100644
--- a/pkg/compiler/test/custom_split/data/diamond_fuse/step3.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_fuse/step3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=3{step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/constraints.dart b/pkg/compiler/test/custom_split/data/diamond_or/constraints.dart
index bdc5e1f..e7bba4a 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/main.dart b/pkg/compiler/test/custom_split/data/diamond_or/main.dart
index eeac09b..cba0dbb 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/main.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [2{step2a}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/shared.dart b/pkg/compiler/test/custom_split/data/diamond_or/shared.dart
index 60cec94..99c8df3 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/shared.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12a:member_unit=1{step1, step2a, step2b, step3}*/
 step12a() => '12a';
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/step1.dart b/pkg/compiler/test/custom_split/data/diamond_or/step1.dart
index d87a15b..c067494 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/step1.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2a, step2b, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/step2a.dart b/pkg/compiler/test/custom_split/data/diamond_or/step2a.dart
index 6c52220..838f870 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/step2a.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/step2a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/step2b.dart b/pkg/compiler/test/custom_split/data/diamond_or/step2b.dart
index 46e7aca..a6bca12 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/step2b.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/step2b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=5{step2b}*/
diff --git a/pkg/compiler/test/custom_split/data/diamond_or/step3.dart b/pkg/compiler/test/custom_split/data/diamond_or/step3.dart
index c4d45a9..14698e4 100644
--- a/pkg/compiler/test/custom_split/data/diamond_or/step3.dart
+++ b/pkg/compiler/test/custom_split/data/diamond_or/step3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=7{step3}*/
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/constraints.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/constraints.dart
index 12a80ee..717a0be 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib1.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib1.dart
index 33e2c05..0c19a44 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib1.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_100_0.dart' deferred as b1;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib2.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib2.dart
index 1ad0cd3..31f3fb5 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib2.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_010_0.dart' deferred as b2;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib3.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib3.dart
index 1d2b9d5..f4c371c 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib3.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_001_0.dart' deferred as b3;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib4.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib4.dart
index 1eedd87..a7745aa 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib4.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib4.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_000_1.dart' deferred as b4;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/libImport.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/libImport.dart
index d55f632..1600ef5 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/libImport.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/libImport.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_000_1.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_000_1.dart
index 091a013..77d098a 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_000_1.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_000_1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_001_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_001_0.dart
index 19906dd..065a929 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_001_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_001_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_010_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_010_0.dart
index 22b05ac..6806187 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_010_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_010_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_100_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_100_0.dart
index d39141b..64becce 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/lib_100_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/lib_100_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_and/main.dart b/pkg/compiler/test/custom_split/data/fuse_with_and/main.dart
index f07ccf9..50f7f0b 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_and/main.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_and/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [2{b4}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/constraints.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/constraints.dart
index 370ca10..38822d6 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib1.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib1.dart
index 33e2c05..0c19a44 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib1.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_100_0.dart' deferred as b1;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib2.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib2.dart
index 1ad0cd3..31f3fb5 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib2.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_010_0.dart' deferred as b2;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib3.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib3.dart
index 1d2b9d5..f4c371c 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib3.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_001_0.dart' deferred as b3;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib4.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib4.dart
index 1eedd87..a7745aa 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib4.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib4.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_000_1.dart' deferred as b4;
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/libImport.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/libImport.dart
index dd4364a..5817718 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/libImport.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/libImport.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_000_1.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_000_1.dart
index 5407d70..a4198f7 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_000_1.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_000_1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_001_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_001_0.dart
index 1614e60..e63a03c 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_001_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_001_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_010_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_010_0.dart
index 4cf27c5..3a6a5f4 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_010_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_010_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_100_0.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_100_0.dart
index 0fe7274..725a10b 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/lib_100_0.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/lib_100_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/fuse_with_or/main.dart b/pkg/compiler/test/custom_split/data/fuse_with_or/main.dart
index a2531cb..2040bfa 100644
--- a/pkg/compiler/test/custom_split/data/fuse_with_or/main.dart
+++ b/pkg/compiler/test/custom_split/data/fuse_with_or/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [6{b4}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/constraints.dart b/pkg/compiler/test/custom_split/data/just_fuse/constraints.dart
index 3b4280a..dfce626 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib1.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib1.dart
index 33e2c05..0c19a44 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib1.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_100_0.dart' deferred as b1;
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib2.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib2.dart
index 1ad0cd3..31f3fb5 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib2.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_010_0.dart' deferred as b2;
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib3.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib3.dart
index 1d2b9d5..f4c371c 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib3.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_001_0.dart' deferred as b3;
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib4.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib4.dart
index 1eedd87..a7745aa 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib4.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib4.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import 'lib_000_1.dart' deferred as b4;
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/libImport.dart b/pkg/compiler/test/custom_split/data/just_fuse/libImport.dart
index 1f64eba..0a54258 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/libImport.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/libImport.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib_000_1.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib_000_1.dart
index 189dcd0..ad014bc 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib_000_1.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib_000_1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib_001_0.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib_001_0.dart
index 9320c80..b72c517 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib_001_0.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib_001_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib_010_0.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib_010_0.dart
index b2575c3..49afc5c 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib_010_0.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib_010_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/lib_100_0.dart b/pkg/compiler/test/custom_split/data/just_fuse/lib_100_0.dart
index 4d8ad55..15dfab1 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/lib_100_0.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/lib_100_0.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // This file was autogenerated by the pkg/compiler/tool/graph_isomorphizer.dart.
 import "package:expect/expect.dart";
 
diff --git a/pkg/compiler/test/custom_split/data/just_fuse/main.dart b/pkg/compiler/test/custom_split/data/just_fuse/main.dart
index 7cceec0..895d70c 100644
--- a/pkg/compiler/test/custom_split/data/just_fuse/main.dart
+++ b/pkg/compiler/test/custom_split/data/just_fuse/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [7{b4}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/two_branch/constraints.dart b/pkg/compiler/test/custom_split/data/two_branch/constraints.dart
index 27a00ab..2e87d3c 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/two_branch/main.dart b/pkg/compiler/test/custom_split/data/two_branch/main.dart
index 84b2505..6025284 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/main.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [2{step2a}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/two_branch/shared.dart b/pkg/compiler/test/custom_split/data/two_branch/shared.dart
index 04d26c4..c6e9de1 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/shared.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12a:member_unit=1{step1, step2a, step2b}*/
 step12a() => '12a';
diff --git a/pkg/compiler/test/custom_split/data/two_branch/step1.dart b/pkg/compiler/test/custom_split/data/two_branch/step1.dart
index e178701..0759d7b 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/step1.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2a, step2b}*/
diff --git a/pkg/compiler/test/custom_split/data/two_branch/step2a.dart b/pkg/compiler/test/custom_split/data/two_branch/step2a.dart
index 7b29726..e71ec5e 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/step2a.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/step2a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2a}*/
diff --git a/pkg/compiler/test/custom_split/data/two_branch/step2b.dart b/pkg/compiler/test/custom_split/data/two_branch/step2b.dart
index e9847b6..42a0a09 100644
--- a/pkg/compiler/test/custom_split/data/two_branch/step2b.dart
+++ b/pkg/compiler/test/custom_split/data/two_branch/step2b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=4{step2b}*/
diff --git a/pkg/compiler/test/custom_split/data/two_step/constraints.dart b/pkg/compiler/test/custom_split/data/two_step/constraints.dart
index fe0d8a5..e521e4a 100644
--- a/pkg/compiler/test/custom_split/data/two_step/constraints.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/constraints.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:isolate';
 
 import 'package:compiler/src/deferred_load/program_split_constraints/nodes.dart';
diff --git a/pkg/compiler/test/custom_split/data/two_step/main.dart b/pkg/compiler/test/custom_split/data/two_step/main.dart
index 4692179..f662e2a 100644
--- a/pkg/compiler/test/custom_split/data/two_step/main.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*library: 
  a_pre_fragments=[
   p1: {units: [3{step3}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/custom_split/data/two_step/shared.dart b/pkg/compiler/test/custom_split/data/two_step/shared.dart
index 2d487df..da6e4da 100644
--- a/pkg/compiler/test/custom_split/data/two_step/shared.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: step12:member_unit=1{step1, step2, step3}*/
 step12() => '12';
diff --git a/pkg/compiler/test/custom_split/data/two_step/step1.dart b/pkg/compiler/test/custom_split/data/two_step/step1.dart
index e6377fe..ad3a958 100644
--- a/pkg/compiler/test/custom_split/data/two_step/step1.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/step1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=1{step1, step2, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/two_step/step2.dart b/pkg/compiler/test/custom_split/data/two_step/step2.dart
index 85baeb5..a2bfa73 100644
--- a/pkg/compiler/test/custom_split/data/two_step/step2.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/step2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=2{step2, step3}*/
diff --git a/pkg/compiler/test/custom_split/data/two_step/step3.dart b/pkg/compiler/test/custom_split/data/two_step/step3.dart
index 5f84ee6..62124e4 100644
--- a/pkg/compiler/test/custom_split/data/two_step/step3.dart
+++ b/pkg/compiler/test/custom_split/data/two_step/step3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'shared.dart';
 
 /*member: step:member_unit=3{step3}*/
diff --git a/pkg/compiler/test/deferred_loading/data/components/libA.dart b/pkg/compiler/test/deferred_loading/data/components/libA.dart
index 156d3fc..5fd97f9 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libA.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libA.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*member: component:member_unit=1{libA}*/
 String component() {
   return 'libA';
diff --git a/pkg/compiler/test/deferred_loading/data/components/libB.dart b/pkg/compiler/test/deferred_loading/data/components/libB.dart
index 87b10d5..bd7f786 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libB.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libB.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "libBCDE.dart";
 
 /*member: component:member_unit=2{libB}*/
diff --git a/pkg/compiler/test/deferred_loading/data/components/libBCDE.dart b/pkg/compiler/test/deferred_loading/data/components/libBCDE.dart
index 77a74fe..2a8442c 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libBCDE.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libBCDE.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 @pragma('dart2js:noInline')
 /*member: componentBCDE:member_unit=3{libB, libC, libD, libE}*/
 String componentBCDE() {
diff --git a/pkg/compiler/test/deferred_loading/data/components/libC.dart b/pkg/compiler/test/deferred_loading/data/components/libC.dart
index d13a2f5..9d598a2 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libC.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libC.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "libBCDE.dart";
 
 /*member: component:member_unit=4{libC}*/
diff --git a/pkg/compiler/test/deferred_loading/data/components/libD.dart b/pkg/compiler/test/deferred_loading/data/components/libD.dart
index c20123e..6c27dd2 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libD.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libD.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "libBCDE.dart";
 
 /*member: component:member_unit=5{libD}*/
diff --git a/pkg/compiler/test/deferred_loading/data/components/libE.dart b/pkg/compiler/test/deferred_loading/data/components/libE.dart
index fd8e3c2..b0c72ae 100644
--- a/pkg/compiler/test/deferred_loading/data/components/libE.dart
+++ b/pkg/compiler/test/deferred_loading/data/components/libE.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "libBCDE.dart";
 
 /*member: component:member_unit=6{libE}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib1.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib1.dart
index ed47af6..07c1c88 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib1.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_000_01.dart' deferred as b1;
 
 /*member: entryLib1:member_unit=main{}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib2.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib2.dart
index 6b04665..bc303e8 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib2.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_000_10.dart' deferred as b2;
 
 /*member: entryLib2:member_unit=main{}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib3.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib3.dart
index 5c7b1ff..24c38ea 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib3.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_001_00.dart' deferred as b3;
 
 /*member: entryLib3:member_unit=main{}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib4.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib4.dart
index 909bac0..f099cf5 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib4.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib4.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_010_00.dart' deferred as b4;
 
 /*member: entryLib4:member_unit=main{}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib5.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib5.dart
index c5eff23..89af3fd 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib5.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib5.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_100_00.dart' deferred as b5;
 
 /*member: entryLib5:member_unit=main{}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/libB.dart b/pkg/compiler/test/deferred_loading/data/many_parts/libB.dart
index 8fa7f8e..34539e3 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/libB.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/libB.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 /*member: v:member_unit=2{b1, b2, b3, b4, b5}*/
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_01.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_01.dart
index bb1e6d9..665ce9a 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_01.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_01.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 import 'libB.dart';
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_10.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_10.dart
index c7c8597..2dfe4d7 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_10.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib_000_10.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 import 'libB.dart';
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib_001_00.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib_001_00.dart
index 1b86845..0713f39 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib_001_00.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib_001_00.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 import 'libB.dart';
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib_010_00.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib_010_00.dart
index f23fc51..302d7aa 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib_010_00.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib_010_00.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 import 'libB.dart';
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/lib_100_00.dart b/pkg/compiler/test/deferred_loading/data/many_parts/lib_100_00.dart
index b10def2..42361b4 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/lib_100_00.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/lib_100_00.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "package:expect/expect.dart";
 
 import 'libB.dart';
diff --git a/pkg/compiler/test/deferred_loading/data/many_parts/main.dart b/pkg/compiler/test/deferred_loading/data/many_parts/main.dart
index ab6a217..aa07a8a 100644
--- a/pkg/compiler/test/deferred_loading/data/many_parts/main.dart
+++ b/pkg/compiler/test/deferred_loading/data/many_parts/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*spec.library: 
  a_pre_fragments=[
   p10: {units: [18{b2, b3}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/deferred_loading/data/shadowed_types/lib_shared.dart b/pkg/compiler/test/deferred_loading/data/shadowed_types/lib_shared.dart
index 09e4bf0..bfccea6 100644
--- a/pkg/compiler/test/deferred_loading/data/shadowed_types/lib_shared.dart
+++ b/pkg/compiler/test/deferred_loading/data/shadowed_types/lib_shared.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*class: A:
  class_unit=1{libb},
  type_unit=2{liba, libb}
diff --git a/pkg/compiler/test/deferred_loading/data/shadowed_types/liba.dart b/pkg/compiler/test/deferred_loading/data/shadowed_types/liba.dart
index 4ea6fd2..7169d52 100644
--- a/pkg/compiler/test/deferred_loading/data/shadowed_types/liba.dart
+++ b/pkg/compiler/test/deferred_loading/data/shadowed_types/liba.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_shared.dart';
 
 @pragma('dart2js:noInline')
diff --git a/pkg/compiler/test/deferred_loading/data/shadowed_types/libb.dart b/pkg/compiler/test/deferred_loading/data/shadowed_types/libb.dart
index a5a125c..4515d1a 100644
--- a/pkg/compiler/test/deferred_loading/data/shadowed_types/libb.dart
+++ b/pkg/compiler/test/deferred_loading/data/shadowed_types/libb.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'lib_shared.dart';
 
 @pragma('dart2js:noInline')
diff --git a/pkg/compiler/test/deferred_loading/data/shadowed_types/main.dart b/pkg/compiler/test/deferred_loading/data/shadowed_types/main.dart
index 9c29878..f6e1dd8 100644
--- a/pkg/compiler/test/deferred_loading/data/shadowed_types/main.dart
+++ b/pkg/compiler/test/deferred_loading/data/shadowed_types/main.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /*spec.library: 
  a_pre_fragments=[
   p1: {units: [3{liba}], usedBy: [], needs: []},
diff --git a/pkg/compiler/test/end_to_end/data/exit_code_helper.dart b/pkg/compiler/test/end_to_end/data/exit_code_helper.dart
index 4ce6da8..25ba850 100644
--- a/pkg/compiler/test/end_to_end/data/exit_code_helper.dart
+++ b/pkg/compiler/test/end_to_end/data/exit_code_helper.dart
@@ -2,4 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 void main() {}
diff --git a/pkg/compiler/test/inference/data/assert_initializer.dart b/pkg/compiler/test/inference/data/assert_initializer.dart
index 9daf511..01673b0 100644
--- a/pkg/compiler/test/inference/data/assert_initializer.dart
+++ b/pkg/compiler/test/inference/data/assert_initializer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 class X {
   /*member: X.a:Union([exact=JSExtendableArray], [exact=JSString])*/
   final dynamic a;
diff --git a/pkg/compiler/test/inference/data/assert_initializer_ea.dart b/pkg/compiler/test/inference/data/assert_initializer_ea.dart
index bf7f4f1..0ad39ed 100644
--- a/pkg/compiler/test/inference/data/assert_initializer_ea.dart
+++ b/pkg/compiler/test/inference/data/assert_initializer_ea.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 class X {
   /*member: X.a:[exact=JSString]*/
   final dynamic a;
diff --git a/pkg/compiler/test/inference/data/issue48304.dart b/pkg/compiler/test/inference/data/issue48304.dart
index dc77fc3..63a0d8a 100644
--- a/pkg/compiler/test/inference/data/issue48304.dart
+++ b/pkg/compiler/test/inference/data/issue48304.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.15
+
 abstract class B {
   call<T>();
 }
diff --git a/pkg/compiler/test/inference/data/list_js.dart b/pkg/compiler/test/inference/data/list_js.dart
index 9b64060..2d77bfc 100644
--- a/pkg/compiler/test/inference/data/list_js.dart
+++ b/pkg/compiler/test/inference/data/list_js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // Test effect of NativeBehavior on list tracing.
 
 /// ignore: IMPORT_INTERNAL_LIBRARY
diff --git a/pkg/compiler/test/js/debug_size_estimator.dart b/pkg/compiler/test/js/debug_size_estimator.dart
index 86b528c..b845db9 100644
--- a/pkg/compiler/test/js/debug_size_estimator.dart
+++ b/pkg/compiler/test/js/debug_size_estimator.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:compiler/src/js/size_estimator.dart';
 
 /// This class is supposed to be identical to [SizeEstimator] with the sole
diff --git a/pkg/compiler/test/optimization/data/shift_right_unsigned.dart b/pkg/compiler/test/optimization/data/shift_right_unsigned.dart
index 6a8aaf3..2e24108 100644
--- a/pkg/compiler/test/optimization/data/shift_right_unsigned.dart
+++ b/pkg/compiler/test/optimization/data/shift_right_unsigned.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.14
+
 main() {
   shru1(1, 1);
   shru1(2, 2);
diff --git a/pkg/compiler/test/optimization/data/string_methods.dart b/pkg/compiler/test/optimization/data/string_methods.dart
index c2aabfc..1cee7c3 100644
--- a/pkg/compiler/test/optimization/data/string_methods.dart
+++ b/pkg/compiler/test/optimization/data/string_methods.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // ---- String.substring
 
 /*member: substring1:Specializer=[substring]*/
diff --git a/pkg/compiler/test/rti/data/instantiated_type_literal.dart b/pkg/compiler/test/rti/data/instantiated_type_literal.dart
index 23443cc..bcead7b 100644
--- a/pkg/compiler/test/rti/data/instantiated_type_literal.dart
+++ b/pkg/compiler/test/rti/data/instantiated_type_literal.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.15
+
 /*class: A:exp,needsArgs*/
 class A<T> {
   instanceMethod() => A<T>;
diff --git a/pkg/compiler/test/rti/data/instantiation8.dart b/pkg/compiler/test/rti/data/instantiation8.dart
index 0e57865..18d080e 100644
--- a/pkg/compiler/test/rti/data/instantiation8.dart
+++ b/pkg/compiler/test/rti/data/instantiation8.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 // TODO(47054): Take closure signature into account to handle equality of
 // instantiated closures.
 /*class: Class:deps=[create]*/
diff --git a/pkg/compiler/test/rti/data/issue48304.dart b/pkg/compiler/test/rti/data/issue48304.dart
index dfb51be..8eb6621 100644
--- a/pkg/compiler/test/rti/data/issue48304.dart
+++ b/pkg/compiler/test/rti/data/issue48304.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.15
+
 /*spec.class: B:explicit=[B]*/
 abstract class B {
   call<T>();
diff --git a/pkg/compiler/test/rti/emission/instantiated_type_literal.dart b/pkg/compiler/test/rti/emission/instantiated_type_literal.dart
index 5e4cee2..5984daa 100644
--- a/pkg/compiler/test/rti/emission/instantiated_type_literal.dart
+++ b/pkg/compiler/test/rti/emission/instantiated_type_literal.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.15
+
 import 'package:compiler/src/util/testing.dart';
 
 /*class: A:checks=[],instance*/
diff --git a/pkg/compiler/test/tool/graph_isomorphizer/graph_isomorphizer_test.dart b/pkg/compiler/test/tool/graph_isomorphizer/graph_isomorphizer_test.dart
index dad02c9..cfae9dd 100644
--- a/pkg/compiler/test/tool/graph_isomorphizer/graph_isomorphizer_test.dart
+++ b/pkg/compiler/test/tool/graph_isomorphizer/graph_isomorphizer_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.
+// @dart = 2.10
 
 import 'dart:io';
 
diff --git a/pkg/compiler/tool/dart2js_profile_many.dart b/pkg/compiler/tool/dart2js_profile_many.dart
index 9b3d1c2..cc1f47e 100644
--- a/pkg/compiler/tool/dart2js_profile_many.dart
+++ b/pkg/compiler/tool/dart2js_profile_many.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.profile_many;
 
 import 'dart:async';
diff --git a/pkg/compiler/tool/dart2js_stress.dart b/pkg/compiler/tool/dart2js_stress.dart
index 3a458e9..57da831 100644
--- a/pkg/compiler/tool/dart2js_stress.dart
+++ b/pkg/compiler/tool/dart2js_stress.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 library dart2js.stress;
 
 import 'package:compiler/src/dart2js.dart' as dart2js;
diff --git a/pkg/compiler/tool/graph_isomorphizer.dart b/pkg/compiler/tool/graph_isomorphizer.dart
index 74489b8..9859c61 100644
--- a/pkg/compiler/tool/graph_isomorphizer.dart
+++ b/pkg/compiler/tool/graph_isomorphizer.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// This tool builds a program with a deferred graph isomorphic to the provided
 /// graph, or generates permutations of bits and the associated files to
 /// generate complex deferred graphs.
diff --git a/pkg/compiler/tool/kernel_visitor/dart_html_metrics_visitor.dart b/pkg/compiler/tool/kernel_visitor/dart_html_metrics_visitor.dart
index 79b8b41..72edb13 100644
--- a/pkg/compiler/tool/kernel_visitor/dart_html_metrics_visitor.dart
+++ b/pkg/compiler/tool/kernel_visitor/dart_html_metrics_visitor.dart
@@ -1,6 +1,9 @@
 // Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
+
+// @dart = 2.10
+
 import "dart:convert";
 import "dart:io";
 import "package:kernel/kernel.dart";
diff --git a/pkg/compiler/tool/kernel_visitor/test/info_visitor_test.dart b/pkg/compiler/tool/kernel_visitor/test/info_visitor_test.dart
index 885ecb4..3d4d007 100644
--- a/pkg/compiler/tool/kernel_visitor/test/info_visitor_test.dart
+++ b/pkg/compiler/tool/kernel_visitor/test/info_visitor_test.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/pkg/compiler/tool/kernel_visitor/test/test_classes.dart b/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
index 2b02ef8..666d5ae 100644
--- a/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
+++ b/pkg/compiler/tool/kernel_visitor/test/test_classes.dart
@@ -1,6 +1,9 @@
 // Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
+
+// @dart = 2.10
+
 library info_visitor_test_classes;
 
 // Test superclass value.
diff --git a/pkg/compiler/tool/modular_dart2js.dart b/pkg/compiler/tool/modular_dart2js.dart
index e0f4771..36f2906 100644
--- a/pkg/compiler/tool/modular_dart2js.dart
+++ b/pkg/compiler/tool/modular_dart2js.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'dart:convert';
 import 'dart:io';
 import 'package:compiler/src/commandline_options.dart';
diff --git a/pkg/compiler/tool/modular_test_suite.dart b/pkg/compiler/tool/modular_test_suite.dart
index 5730ad6..491d6ad 100644
--- a/pkg/compiler/tool/modular_test_suite.dart
+++ b/pkg/compiler/tool/modular_test_suite.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Test the modular compilation pipeline of dart2js.
 ///
 /// This is a shell that runs multiple tests, one per folder under `data/`.
diff --git a/pkg/compiler/tool/modular_test_suite_helper.dart b/pkg/compiler/tool/modular_test_suite_helper.dart
index 7398c3d..b85aeb5 100644
--- a/pkg/compiler/tool/modular_test_suite_helper.dart
+++ b/pkg/compiler/tool/modular_test_suite_helper.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Test the modular compilation pipeline of dart2js.
 ///
 /// This is a shell that runs multiple tests, one per folder under `data/`.
diff --git a/pkg/compiler/tool/modular_test_suite_legacy.dart b/pkg/compiler/tool/modular_test_suite_legacy.dart
index f170069..1f570f9 100644
--- a/pkg/compiler/tool/modular_test_suite_legacy.dart
+++ b/pkg/compiler/tool/modular_test_suite_legacy.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// Test the modular compilation pipeline of dart2js.
 ///
 /// This is a shell that runs multiple tests, one per folder under `data/`.
diff --git a/pkg/compiler/tool/track_memory.dart b/pkg/compiler/tool/track_memory.dart
index a07d3e9..f6b324b 100644
--- a/pkg/compiler/tool/track_memory.dart
+++ b/pkg/compiler/tool/track_memory.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 /// A script to track the high water-mark of memory usage of an application.
 /// To monitor how much memory dart2js is using, run dart2js as follows:
 ///
diff --git a/pkg/compiler/tool/update_id_tests.dart b/pkg/compiler/tool/update_id_tests.dart
index ba805bc..2203b5d 100644
--- a/pkg/compiler/tool/update_id_tests.dart
+++ b/pkg/compiler/tool/update_id_tests.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.10
+
 import 'package:_fe_analyzer_shared/src/testing/id_testing.dart' as id;
 
 const List<String> idTests = <String>[
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index 7f0bd21..2877fb3 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -604,9 +604,7 @@
       args += [ "--executable" ]
     }
 
-    if (current_cpu == "x64") {
-      args += [ "--64-bit" ]
-    }
+    args += [ "--arch=$current_cpu" ]
     inputs = [ invoker.input ]
     outputs = [ output ]
   }
diff --git a/runtime/tools/bin_to_coff.py b/runtime/tools/bin_to_coff.py
index f98f051f..b75521ad 100644
--- a/runtime/tools/bin_to_coff.py
+++ b/runtime/tools/bin_to_coff.py
@@ -32,8 +32,14 @@
 # } FILHDR;
 FILE_HEADER_FORMAT = 'HHIIIHH'
 FILE_HEADER_SIZE = calcsize(FILE_HEADER_FORMAT)
-FILE_HEADER_MAGIC_X64 = 0x8664
-FILE_HEADER_MAGIC_IA32 = 0x014c
+FILE_HEADER_MAGICS = {
+    'x86': 0x014c,
+    'x64': 0x8664,
+    'arm': 0x1c0,
+    'arm64': 0xaa64,
+    'riscv32': 0x5032,
+    'riscv64': 0x5064,
+}
 FILE_HEADER_NUM_SECTIONS = 1
 FILE_HEADER_TIMESTAMP = 0
 FILE_HEADER_SIZE_OF_OPTIONAL = 0
@@ -112,12 +118,12 @@
         '--size_symbol_name',
         dest='size_name',
         help='Name of the symbol for the size of the binary data')
-    parser.add_argument(
-        '--64-bit', dest='use_64_bit', action='store_true', default=False)
+    parser.add_argument('--arch', dest='arch')
     parser.add_argument(
         '--executable', dest='executable', action='store_true', default=False)
 
     args = parser.parse_args()
+    use_64_bit = args.arch in ['x64', 'arm64', 'riscv64']
 
     with open(args.input, 'rb') as f:
         section_data = f.read()
@@ -130,7 +136,7 @@
     includes_size_name = (args.size_name != None)
 
     # Symbols on x86 are prefixed with '_'
-    symbol_prefix = b'' if args.use_64_bit else b'_'
+    symbol_prefix = b'_' if args.arch == 'x86' else b''
     num_symbols = 2 if includes_size_name else 1
     symbol_name = symbol_prefix + args.symbol_name.encode()
     size_symbol_name = None
@@ -138,8 +144,8 @@
         size_symbol = args.size_name if args.size_name else args.symbol_name + "Size"
         size_symbol_name = symbol_prefix + size_symbol.encode()
 
-    size_symbol_format = SIZE_SYMBOL_FORMAT_X64 if args.use_64_bit else SIZE_FORMAT
-    size_symbol_size = SIZE_SYMBOL_LENGTH_X64 if args.use_64_bit else SIZE_LENGTH
+    size_symbol_format = SIZE_SYMBOL_FORMAT_X64 if use_64_bit else SIZE_FORMAT
+    size_symbol_size = SIZE_SYMBOL_LENGTH_X64 if use_64_bit else SIZE_LENGTH
 
     # The symbol table is directly after the data section
     symbol_table_ptr = (FILE_HEADER_SIZE + SECTION_HEADER_SIZE + section_size +
@@ -166,7 +172,7 @@
         num_symbols * SYMBOL_TABLE_ENTRY_SIZE + SIZE_LENGTH + size_symbol_size +
         string_table_len)
 
-    FILE_HEADER_MAGIC = FILE_HEADER_MAGIC_X64 if args.use_64_bit else FILE_HEADER_MAGIC_IA32
+    FILE_HEADER_MAGIC = FILE_HEADER_MAGICS[args.arch]
 
     # Populate the file header. Basically constant except for the pointer to the
     # beginning of the symbol table.
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index 8ad4a99..671f68a 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -26985,6 +26985,15 @@
       const EventStreamProvider<MediaStreamEvent>('addstream');
 
   /**
+   * Static factory designed to expose `connectionstatechange` events to event
+   * handlers that are not necessarily instances of [RtcPeerConnection].
+   *
+   * See [EventStreamProvider] for usage information.
+   */
+  static const EventStreamProvider<Event> connectionStateChangeEvent =
+      const EventStreamProvider<Event>('connectionstatechange');
+
+  /**
    * Static factory designed to expose `datachannel` events to event
    * handlers that are not necessarily instances of [RtcPeerConnection].
    *
@@ -27048,6 +27057,8 @@
   static const EventStreamProvider<RtcTrackEvent> trackEvent =
       const EventStreamProvider<RtcTrackEvent>('track');
 
+  String? get connectionState native;
+
   String? get iceConnectionState native;
 
   String? get iceGatheringState native;
@@ -27162,6 +27173,10 @@
   /// Stream of `addstream` events handled by this [RtcPeerConnection].
   Stream<MediaStreamEvent> get onAddStream => addStreamEvent.forTarget(this);
 
+  /// Stream of `connectionstatechange` events handled by this [RtcPeerConnection].
+  Stream<Event> get onConnectionStateChange =>
+      connectionStateChangeEvent.forTarget(this);
+
   /// Stream of `datachannel` events handled by this [RtcPeerConnection].
   Stream<RtcDataChannelEvent> get onDataChannel =>
       dataChannelEvent.forTarget(this);
diff --git a/tests/lib/html/rtc_test.dart b/tests/lib/html/rtc_test.dart
index 6b3c3581..88dc43f 100644
--- a/tests/lib/html/rtc_test.dart
+++ b/tests/lib/html/rtc_test.dart
@@ -41,6 +41,20 @@
             new RtcSessionDescription({'sdp': 'foo', 'type': 'offer'});
         expect(description is RtcSessionDescription, isTrue);
       });
+
+      test('connection state', () {
+        var pc = new RtcPeerConnection({
+          'iceServers': [
+            {'url': 'stun:216.93.246.18:3478'}
+          ]
+        });
+        // `connectionState` is unsupported on some browsers, so we check
+        // whether the attribute exists first.
+        if (pc.connectionState != null) {
+          expect(pc.connectionState, equals('new'));
+        }
+        pc.onConnectionStateChange.listen((event) {});
+      });
     }
   });
 }
diff --git a/tests/lib_2/html/rtc_test.dart b/tests/lib_2/html/rtc_test.dart
index 1e68cbe..7deffb9 100644
--- a/tests/lib_2/html/rtc_test.dart
+++ b/tests/lib_2/html/rtc_test.dart
@@ -43,6 +43,20 @@
             new RtcSessionDescription({'sdp': 'foo', 'type': 'offer'});
         expect(description is RtcSessionDescription, isTrue);
       });
+
+      test('connection state', () {
+        var pc = new RtcPeerConnection({
+          'iceServers': [
+            {'url': 'stun:216.93.246.18:3478'}
+          ]
+        });
+        // `connectionState` is unsupported on some browsers, so we check
+        // whether the attribute exists first.
+        if (pc.connectionState != null) {
+          expect(pc.connectionState, equals('new'));
+        }
+        pc.onConnectionStateChange.listen((event) {});
+      });
     }
   });
 }
diff --git a/tools/VERSION b/tools/VERSION
index 6233344..e10152e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 17
 PATCH 0
-PRERELEASE 277
+PRERELEASE 278
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/dom/docs.json b/tools/dom/docs.json
index 2dfd29c..51334c0 100644
--- a/tools/dom/docs.json
+++ b/tools/dom/docs.json
@@ -2834,9 +2834,20 @@
           "   * See [EventStreamProvider] for usage information.",
           "   */"
         ],
+        "connectionstatechangeEvent": [
+          "/**",
+          "   * Static factory designed to expose `connectionstatechange` events to event",
+          "   * handlers that are not necessarily instances of [RtcPeerConnection].",
+          "   *",
+          "   * See [EventStreamProvider] for usage information.",
+          "   */"
+        ],
         "onaddstream": [
           "/// Stream of `addstream` events handled by this [RtcPeerConnection]."
         ],
+        "onconnectionstatechange": [
+          "/// Stream of `connectionstatechange` events handled by this [RtcPeerConnection]."
+        ],
         "ondatachannel": [
           "/// Stream of `datachannel` events handled by this [RtcPeerConnection]."
         ],
diff --git a/tools/dom/dom.json b/tools/dom/dom.json
index ebd5826..295e137 100644
--- a/tools/dom/dom.json
+++ b/tools/dom/dom.json
@@ -16409,6 +16409,9 @@
         "support_level": "untriaged"
       },
       "close": {},
+      "connectionState": {
+        "support_level": "untriaged"
+      },
       "createAnswer": {},
       "createDTMFSender": {},
       "createDataChannel": {},
@@ -16437,6 +16440,9 @@
       "iceGatheringState": {},
       "localDescription": {},
       "onaddstream": {},
+      "onconnectionstatechange": {
+        "support_level": "untriaged"
+      },
       "ondatachannel": {},
       "onicecandidate": {},
       "oniceconnectionstatechange": {},
diff --git a/tools/dom/idl/dart/dart.idl b/tools/dom/idl/dart/dart.idl
index f877c25..0021d66 100644
--- a/tools/dom/idl/dart/dart.idl
+++ b/tools/dom/idl/dart/dart.idl
@@ -138,6 +138,8 @@
   [DartSuppress] Promise<void> getStats(RTCStatsCallback successCallback, optional MediaStreamTrack? selector);
   [DartSuppress] Promise<void> setLocalDescription(RTCSessionDescriptionInit description, VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
   [DartSuppress] Promise<void> setRemoteDescription(RTCSessionDescriptionInit description, VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
+  [Custom] readonly attribute DOMString connectionState;
+  [Custom] attribute EventHandler onconnectionstatechange;
 };
 
 // See implementation in tools/dom/templates for canvas and offscreenCanvas.
diff --git a/tools/dom/scripts/htmleventgenerator.py b/tools/dom/scripts/htmleventgenerator.py
index d614e88..0e47653 100644
--- a/tools/dom/scripts/htmleventgenerator.py
+++ b/tools/dom/scripts/htmleventgenerator.py
@@ -202,6 +202,8 @@
         'RTCDataChannel.open': ('open', 'Event'),
         'RTCPeerConnection.addstream': ('addStream', 'MediaStreamEvent'),
         'RTCPeerConnection.datachannel': ('dataChannel', 'RtcDataChannelEvent'),
+        'RTCPeerConnection.connectionstatechange':
+        ('connectionStateChange', 'Event'),
         'RTCPeerConnection.icecandidate':
         ('iceCandidate', 'RtcPeerConnectionIceEvent'),
         'RTCPeerConnection.iceconnectionstatechange':
