Version 2.14.0-47.0.dev

Merge commit '11c2c4aaccb5b09c4b4f954cd82f1fce30bcb98a' into 'dev'
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart b/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
index 634324a..3725220 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/handler_completion.dart
@@ -357,11 +357,15 @@
               final key = _createImportedSymbolKey(nameKey, declaringUri);
               final importingUris = alreadyImportedSymbols[key];
 
-              // Keep it only if there are either:
-              // - no URIs importing it
-              // - the URIs importing it include this one
+              // Keep it only if:
+              // - no existing imports include it
+              //     (in which case all libraries will be offered as
+              //     auto-imports)
+              // - this is the first imported URI that includes it
+              //     (we don't want to repeat it for each imported library that
+              //     includes it)
               return importingUris == null ||
-                  importingUris.contains('${library.uri}');
+                  importingUris.first == '${library.uri}';
             }).map((item) => declarationToCompletionItem(
                       capabilities,
                       unit.path!,
diff --git a/pkg/analysis_server/test/lsp/completion_dart_test.dart b/pkg/analysis_server/test/lsp/completion_dart_test.dart
index 920891e..d6ba22e 100644
--- a/pkg/analysis_server/test/lsp/completion_dart_test.dart
+++ b/pkg/analysis_server/test/lsp/completion_dart_test.dart
@@ -1192,6 +1192,95 @@
     '''));
   }
 
+  Future<void>
+      test_suggestionSets_doesNotDuplicate_importedViaMultipleLibraries() async {
+    // An item that's already imported through multiple libraries that
+    // export it should not result in multiple entries.
+    newFile(
+      join(projectFolderPath, 'lib/source_file.dart'),
+      content: '''
+      class MyExportedClass {}
+      ''',
+    );
+    newFile(
+      join(projectFolderPath, 'lib/reexport1.dart'),
+      content: '''
+      export 'source_file.dart';
+      ''',
+    );
+    newFile(
+      join(projectFolderPath, 'lib/reexport2.dart'),
+      content: '''
+      export 'source_file.dart';
+      ''',
+    );
+
+    final content = '''
+import 'reexport1.dart';
+import 'reexport2.dart';
+
+main() {
+  MyExported^
+}
+    ''';
+
+    final initialAnalysis = waitForAnalysisComplete();
+    await initialize(
+        workspaceCapabilities:
+            withApplyEditSupport(emptyWorkspaceClientCapabilities));
+    await openFile(mainFileUri, withoutMarkers(content));
+    await initialAnalysis;
+
+    final res = await getCompletion(mainFileUri, positionFromMarker(content));
+
+    final completions = res.where((c) => c.label == 'MyExportedClass').toList();
+    expect(completions, hasLength(1));
+  }
+
+  Future<void>
+      test_suggestionSets_doesNotDuplicate_importedViaSingleLibrary() async {
+    // An item that's already imported through a library that exports it
+    // should not result in multiple entries.
+    newFile(
+      join(projectFolderPath, 'lib/source_file.dart'),
+      content: '''
+      class MyExportedClass {}
+      ''',
+    );
+    newFile(
+      join(projectFolderPath, 'lib/reexport1.dart'),
+      content: '''
+      export 'source_file.dart';
+      ''',
+    );
+    newFile(
+      join(projectFolderPath, 'lib/reexport2.dart'),
+      content: '''
+      export 'source_file.dart';
+      ''',
+    );
+
+    final content = '''
+import 'reexport1.dart';
+
+main() {
+  MyExported^
+}
+    ''';
+
+    final initialAnalysis = waitForAnalysisComplete();
+    await initialize(
+        workspaceCapabilities:
+            withApplyEditSupport(emptyWorkspaceClientCapabilities));
+    await openFile(mainFileUri, withoutMarkers(content));
+    await initialAnalysis;
+
+    final res = await getCompletion(mainFileUri, positionFromMarker(content));
+
+    final completions = res.where((c) => c.label == 'MyExportedClass').toList();
+    expect(completions, hasLength(1));
+  }
+
   Future<void> test_suggestionSets_doesNotFilterSymbolsWithSameName() async {
     // Classes here are not re-exports, so should not be filtered out.
     newFile(
diff --git a/pkg/compiler/lib/src/commandline_options.dart b/pkg/compiler/lib/src/commandline_options.dart
index 45b02a0..4f00c21 100644
--- a/pkg/compiler/lib/src/commandline_options.dart
+++ b/pkg/compiler/lib/src/commandline_options.dart
@@ -27,8 +27,6 @@
   static const String enableDiagnosticColors = '--enable-diagnostic-colors';
   static const String experimentalTrackAllocations =
       '--experimental-track-allocations';
-  static const String experimentalAllocationsPath =
-      '--experimental-allocations-path';
 
   static const String experimentalWrapped = '--experimental-wrapped';
   static const String experimentalPowersets = '--experimental-powersets';
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index b96bd5d..2a18b23 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -592,7 +592,6 @@
     // TODO(29574): provide a warning/hint/error, when profile-based data is
     // used without `--fast-startup`.
     new OptionHandler(Flags.experimentalTrackAllocations, passThrough),
-    new OptionHandler("${Flags.experimentalAllocationsPath}=.+", passThrough),
 
     new OptionHandler(Flags.experimentLocalNames, ignoreOption),
     new OptionHandler(Flags.experimentStartupFunctions, passThrough),
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 d52a591..cb1dc70 100644
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
@@ -125,7 +125,6 @@
       });
       ProgramBuilder programBuilder = ProgramBuilder(
           _compiler.options,
-          _compiler.reporter,
           closedWorld.elementEnvironment,
           closedWorld.commonElements,
           closedWorld.outputUnitData,
diff --git a/pkg/compiler/lib/src/js_emitter/model.dart b/pkg/compiler/lib/src/js_emitter/model.dart
index 1ab1d09..96b73e1 100644
--- a/pkg/compiler/lib/src/js_emitter/model.dart
+++ b/pkg/compiler/lib/src/js_emitter/model.dart
@@ -19,7 +19,6 @@
   final List<Holder> holders;
   final bool outputContainsConstantList;
   final bool needsNativeSupport;
-  final bool hasSoftDeferredClasses;
 
   // If this field is not `null` then its value must be emitted in the embedded
   // global `TYPE_TO_INTERCEPTOR_MAP`. The map references constants and classes.
@@ -32,9 +31,7 @@
 
   Program(this.fragments, this.holders, this.typeToInterceptorMap,
       this._metadataCollector, this.finalizers,
-      {this.needsNativeSupport,
-      this.outputContainsConstantList,
-      this.hasSoftDeferredClasses}) {
+      {this.needsNativeSupport, this.outputContainsConstantList}) {
     assert(needsNativeSupport != null);
     assert(outputContainsConstantList != null);
   }
@@ -289,11 +286,6 @@
   final bool isNative;
   final bool isClosureBaseClass; // Common base class for closures.
 
-  /// Whether this class should be soft deferred.
-  ///
-  /// A soft-deferred class is only fully initialized at first instantiation.
-  final bool isSoftDeferred;
-
   final bool isMixinApplicationWithMembers;
 
   // If the class implements a function type, and the type is encoded in the
@@ -331,7 +323,6 @@
       this.isDirectlyInstantiated,
       this.isNative,
       this.isClosureBaseClass,
-      this.isSoftDeferred = false,
       this.isMixinApplicationWithMembers}) {
     assert(onlyForRti != null);
     assert(onlyForConstructor != null);
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 fdb45f9..708ee24 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
@@ -4,9 +4,6 @@
 
 library dart2js.js_emitter.program_builder;
 
-import 'dart:io';
-import 'dart:convert' show jsonDecode;
-
 import '../../common.dart';
 import '../../common/names.dart' show Names, Selectors;
 import '../../constants/values.dart'
@@ -64,7 +61,6 @@
 /// emitted more easily by the individual emitters.
 class ProgramBuilder {
   final CompilerOptions _options;
-  final DiagnosticReporter _reporter;
   final JElementEnvironment _elementEnvironment;
   final JCommonElements _commonElements;
   final OutputUnitData _outputUnitData;
@@ -111,7 +107,6 @@
 
   ProgramBuilder(
       this._options,
-      this._reporter,
       this._elementEnvironment,
       this._commonElements,
       this._outputUnitData,
@@ -173,17 +168,8 @@
   List<StubMethod> _jsInteropIsChecks = [];
   final Set<TypeCheck> _jsInteropTypeChecks = {};
 
-  /// Classes that have been allocated during a profile run.
-  ///
-  /// These classes should not be soft-deferred.
-  ///
-  /// Also contains classes that are not tracked by the profile run (like
-  /// interceptors, ...).
-  Set<ClassEntity> _notSoftDeferred;
-
   Program buildProgram({bool storeFunctionTypesInMetadata: false}) {
     collector.collect();
-    _initializeSoftDeferredMap();
 
     this._storeFunctionTypesInMetadata = storeFunctionTypesInMetadata;
     // Note: In rare cases (mostly tests) output units can be empty. This
@@ -279,78 +265,13 @@
     return new Program(fragments, holders, _buildTypeToInterceptorMap(),
         _task.metadataCollector, finalizers,
         needsNativeSupport: needsNativeSupport,
-        outputContainsConstantList: collector.outputContainsConstantList,
-        hasSoftDeferredClasses: _notSoftDeferred != null);
+        outputContainsConstantList: collector.outputContainsConstantList);
   }
 
   void _markEagerClasses() {
     _markEagerInterceptorClasses();
   }
 
-  void _initializeSoftDeferredMap() {
-    var allocatedClassesPath = _options.experimentalAllocationsPath;
-    if (allocatedClassesPath != null) {
-      // TODO(29574): the following denylist is ad-hoc and potentially
-      // incomplete. We need to mark all classes as black listed, that are
-      // used without code going through the class' constructor.
-      var denylist = [
-        'dart:_interceptors',
-        'dart:html',
-        'dart:typed_data_implementation',
-        'dart:_native_typed_data'
-      ].toSet();
-
-      // TODO(29574): the compiler should not just use dart:io to get the
-      // contents of a file.
-      File file = new File(allocatedClassesPath);
-
-      // TODO(29574): are the following checks necessary?
-      // To make compilation in build-systems easier, we ignore non-existing
-      // or empty profiles.
-      if (!file.existsSync()) {
-        _reporter.log("Profile file does not exist: $allocatedClassesPath");
-        return;
-      }
-      if (file.lengthSync() == 0) {
-        _reporter.log("Profile information (allocated classes) is empty.");
-        return;
-      }
-
-      String data = new File(allocatedClassesPath).readAsStringSync();
-      Set<String> allocatedClassesKeys = jsonDecode(data).keys.toSet();
-      Set<ClassEntity> allocatedClasses = new Set<ClassEntity>();
-
-      // Collects all super and mixin classes of a class.
-      void collect(ClassEntity element) {
-        allocatedClasses.add(element);
-        if (_elementEnvironment.isMixinApplication(element)) {
-          collect(_elementEnvironment.getEffectiveMixinClass(element));
-        }
-        ClassEntity superclass = _elementEnvironment.getSuperClass(element);
-        if (superclass != null) {
-          collect(superclass);
-        }
-      }
-
-      // For every known class, see if it was allocated in the profile. If yes,
-      // collect its dependencies (supers and mixins) and mark them as
-      // not-soft-deferrable.
-      collector.outputClassLists.forEach((_, List<ClassEntity> elements) {
-        for (ClassEntity element in elements) {
-          // TODO(29574): share the encoding of the element with the code
-          // that emits the profile-run.
-          var key = "${element.library.canonicalUri}:${element.name}";
-          if (allocatedClassesKeys.contains(key) ||
-              _nativeData.isJsInteropClass(element) ||
-              denylist.contains(element.library.canonicalUri.toString())) {
-            collect(element);
-          }
-        }
-      });
-      _notSoftDeferred = allocatedClasses;
-    }
-  }
-
   js.Expression _buildTypeToInterceptorMap() {
     InterceptorStubGenerator stubGenerator = new InterceptorStubGenerator(
         _commonElements,
@@ -641,10 +562,6 @@
         staticFieldsForReflection);
   }
 
-  bool _isSoftDeferred(ClassEntity element) {
-    return _notSoftDeferred != null && !_notSoftDeferred.contains(element);
-  }
-
   Class _buildClass(ClassEntity cls) {
     ClassTypeData typeData = _buildClassTypeData(cls);
 
@@ -850,7 +767,6 @@
           onlyForConstructor: onlyForConstructor,
           isNative: _nativeData.isNativeClass(cls),
           isClosureBaseClass: isClosureBaseClass,
-          isSoftDeferred: _isSoftDeferred(cls),
           isMixinApplicationWithMembers: isMixinApplicationWithMembers);
     }
     _classes[cls] = result;
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 3b10c78..cafefe7 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
@@ -433,24 +433,6 @@
   }
 }
 
-if (#hasSoftDeferredClasses) {
-  // Loads the soft-deferred classes and initializes them.
-  // Updates the prototype of the given object.
-  function softDef(o) {
-    softDef = function(o) {};  // Replace ourselves.
-    #deferredGlobal[#softId](
-        holders, #embeddedGlobalsObject, #staticState,
-        hunkHelpers);
-    if (o != null) {
-      // TODO(29574): should we do something different for Firefox?
-      // If we recommend that the program triggers the load by itself before
-      // classes are needed, then this line should rarely be hit.
-      // Also, it is only hit at most once (per soft-deferred chunk).
-      o.__proto__ = o.constructor.prototype;
-    }
-  }
-}
-
 if (#isTrackingAllocations) {
   var allocations = #deferredGlobal['allocations'] = {};
 }
@@ -606,27 +588,6 @@
 #nativeSupport;
 }''';
 
-///
-/// However, they don't contribute anything to global namespace, but just
-/// initialize existing classes. For example, they update the inheritance
-/// hierarchy, and add methods the prototypes.
-const String _softDeferredBoilerplate = '''
-#deferredGlobal[#softId] =
-  function(holdersList, #embeddedGlobalsObject, #staticState,
-           hunkHelpers) {
-
-// Installs the holders as local variables.
-#installHoldersAsLocals;
-// Sets the prototypes of the new classes.
-#prototypes;
-// Sets aliases of methods (on the prototypes of classes).
-#aliases;
-// Installs the tear-offs of functions.
-#tearOffs;
-// Builds the inheritance structure.
-#inheritance;
-}''';
-
 /// This class builds a JavaScript tree for a given fragment.
 ///
 /// A fragment is generally written into a separate file so that it can be
@@ -751,11 +712,6 @@
       DeferredLoadingState deferredLoadingState) {
     MainFragment fragment = program.fragments.first;
 
-    Iterable<Holder> nonStaticStateHolders =
-        program.holders.where((Holder holder) => !holder.isStaticStateHolder);
-
-    String softDeferredId = "softDeferred${new Random().nextInt(0x7FFFFFFF)}";
-
     HolderCode holderCode = emitHolders(program.holders, fragment.libraries,
         initializeEmptyHolders: true);
 
@@ -786,8 +742,6 @@
       'argumentCount': js.string(_namer.fixedNames.requiredParameterField),
       'defaultArgumentValues': js.string(_namer.fixedNames.defaultValuesField),
       'deferredGlobal': ModelEmitter.deferredInitializersGlobal,
-      'hasSoftDeferredClasses': program.hasSoftDeferredClasses,
-      'softId': js.string(softDeferredId),
       'isTrackingAllocations': _options.experimentalTrackAllocations,
       'prototypes': emitPrototypes(fragment),
       'inheritance': emitInheritance(fragment),
@@ -814,39 +768,10 @@
       'call1selector': js.quoteName(call1Name),
       'call2selector': js.quoteName(call2Name)
     });
-    if (program.hasSoftDeferredClasses) {
-      mainCode = js.Block([
-        js.js.statement(_softDeferredBoilerplate, {
-          'deferredGlobal': ModelEmitter.deferredInitializersGlobal,
-          'softId': js.string(softDeferredId),
-          // TODO(floitsch): don't just reference 'init'.
-          'embeddedGlobalsObject': new js.Parameter('init'),
-          'staticState': new js.Parameter(_namer.staticStateHolder),
-          'installHoldersAsLocals':
-              emitInstallHoldersAsLocals(nonStaticStateHolders),
-          'prototypes': emitPrototypes(fragment, softDeferred: true),
-          'aliases': emitInstanceMethodAliases(fragment, softDeferred: true),
-          'tearOffs': emitInstallTearOffs(fragment, softDeferred: true),
-          'inheritance': emitInheritance(fragment, softDeferred: true),
-        }),
-        mainCode
-      ]);
-    }
     finalizeCode(mainCode);
     return mainCode;
   }
 
-  js.Statement emitInstallHoldersAsLocals(Iterable<Holder> holders) {
-    List<js.Statement> holderInits = [];
-    int counter = 0;
-    for (Holder holder in holders) {
-      holderInits.add(new js.ExpressionStatement(new js.VariableInitialization(
-          new js.VariableDeclaration(holder.name, allowRename: false),
-          js.js("holdersList[#]", js.number(counter++)))));
-    }
-    return new js.Block(holderInits);
-  }
-
   js.Expression emitCodeFragment(CodeFragment fragment, List<Holder> holders) {
     HolderCode holderCode =
         emitHolders(holders, fragment.libraries, initializeEmptyHolders: false);
@@ -1064,9 +989,7 @@
     var parameters = <js.Parameter>[];
     var thisRef;
 
-    if (cls.isSoftDeferred) {
-      statements.add(js.js.statement('softDef(this)'));
-    } else if (_options.experimentalTrackAllocations) {
+    if (_options.experimentalTrackAllocations) {
       String qualifiedName =
           "${cls.element.library.canonicalUri}:${cls.element.name}";
       statements.add(js.js.statement('allocations["$qualifiedName"] = true'));
@@ -1141,14 +1064,10 @@
   /// This section updates the prototype-property of all constructors in the
   /// global holders.
   ///
-  /// [softDeferred] determine whether prototypes for soft deferred classes are
-  /// generated.
-  ///
   /// If [includeClosures] is `true` only prototypes for closure classes are
   /// generated, if [includeClosures] is `false` only prototypes for non-closure
   /// classes are generated. Otherwise prototypes for all classes are generated.
-  js.Statement emitPrototypes(Fragment fragment,
-      {bool softDeferred = false, bool includeClosures}) {
+  js.Statement emitPrototypes(Fragment fragment, {bool includeClosures}) {
     List<js.Statement> assignments = fragment.libraries
         .expand((Library library) => library.classes)
         .where((Class cls) {
@@ -1157,7 +1076,7 @@
           return false;
         }
       }
-      return cls.isSoftDeferred == softDeferred;
+      return true;
     }).map((Class cls) {
       var proto = js.js.statement(
           '#.prototype = #;', [classReference(cls), emitPrototype(cls)]);
@@ -1362,7 +1281,7 @@
   ///
   /// In this section prototype chains are updated and mixin functions are
   /// copied.
-  js.Statement emitInheritance(Fragment fragment, {bool softDeferred = false}) {
+  js.Statement emitInheritance(Fragment fragment) {
     List<js.Statement> inheritCalls = [];
     List<js.Statement> mixinCalls = [];
     // local caches of functions to allow minifaction of function name in call.
@@ -1370,8 +1289,7 @@
 
     Set<Class> classesInFragment = Set();
     for (Library library in fragment.libraries) {
-      classesInFragment.addAll(library.classes
-          .where(((Class cls) => cls.isSoftDeferred == softDeferred)));
+      classesInFragment.addAll(library.classes);
     }
 
     Map<Class, List<Class>> subclasses = {};
@@ -1392,7 +1310,6 @@
 
     for (Library library in fragment.libraries) {
       for (Class cls in library.classes) {
-        if (cls.isSoftDeferred != softDeferred) continue;
         collect(cls);
         if (cls.mixinClass != null) {
           js.Statement statement = js.js.statement('#(#, #)', [
@@ -1454,13 +1371,11 @@
   ///
   /// This step consists of simply copying JavaScript functions to their
   /// aliased names so they point to the same function.
-  js.Statement emitInstanceMethodAliases(Fragment fragment,
-      {bool softDeferred = false}) {
+  js.Statement emitInstanceMethodAliases(Fragment fragment) {
     List<js.Statement> assignments = [];
 
     for (Library library in fragment.libraries) {
       for (Class cls in library.classes) {
-        if (cls.isSoftDeferred != softDeferred) continue;
         bool firstAlias = true;
         for (InstanceMethod method in cls.methods) {
           if (method.aliasName != null) {
@@ -1527,8 +1442,7 @@
   }
 
   /// Emits the section that installs tear-off getters.
-  js.Statement emitInstallTearOffs(Fragment fragment,
-      {bool softDeferred = false}) {
+  js.Statement emitInstallTearOffs(Fragment fragment) {
     LocalAliases locals = LocalAliases();
 
     /// Emits the statement that installs a tear off for a method.
@@ -1690,7 +1604,6 @@
         }
       }
       for (Class cls in library.classes) {
-        if (cls.isSoftDeferred != softDeferred) continue;
         var methods = cls.methods.where((dynamic m) => m.needsTearOff).toList();
         js.Expression container = js.js("#.prototype", classReference(cls));
         js.Expression reference = container;
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 9a84f01..f564f09 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
@@ -5,7 +5,6 @@
 library dart2js.js_emitter.startup_emitter.model_emitter;
 
 import 'dart:convert' show JsonEncoder;
-import 'dart:math' show Random;
 
 import 'package:js_runtime/shared/embedded_names.dart'
     show
@@ -334,7 +333,6 @@
     _task.measureSubtask('write fragments', () {
       writeMainFragment(mainFragment, mainCode,
           isSplit: program.deferredFragments.isNotEmpty ||
-              program.hasSoftDeferredClasses ||
               _options.experimentalTrackAllocations);
     });
 
diff --git a/pkg/compiler/lib/src/options.dart b/pkg/compiler/lib/src/options.dart
index 7f0403f..43a92cb 100644
--- a/pkg/compiler/lib/src/options.dart
+++ b/pkg/compiler/lib/src/options.dart
@@ -410,14 +410,6 @@
     return !enableNonNullable || (nullSafetyMode == NullSafetyMode.unsound);
   }
 
-  /// The path to the file that contains the profiled allocations.
-  ///
-  /// The file must contain the Map that was produced by using
-  /// [experimentalTrackAllocations] encoded as a JSON map.
-  ///
-  /// This is an experimental feature.
-  String experimentalAllocationsPath;
-
   /// If specified, a bundle of optimizations to enable (or disable).
   int optimizationLevel = null;
 
@@ -506,8 +498,6 @@
           _hasOption(options, Flags.noNativeNullAssertions)
       ..experimentalTrackAllocations =
           _hasOption(options, Flags.experimentalTrackAllocations)
-      ..experimentalAllocationsPath = _extractStringOption(
-          options, "${Flags.experimentalAllocationsPath}=", null)
       ..experimentStartupFunctions =
           _hasOption(options, Flags.experimentStartupFunctions)
       ..experimentToBoolean = _hasOption(options, Flags.experimentToBoolean)
diff --git a/pkg/compiler/test/analyses/dart2js_allowed.json b/pkg/compiler/test/analyses/dart2js_allowed.json
index 3fb0668..807fcb7 100644
--- a/pkg/compiler/test/analyses/dart2js_allowed.json
+++ b/pkg/compiler/test/analyses/dart2js_allowed.json
@@ -191,8 +191,6 @@
     "Dynamic access of 'element'.": 1
   },
   "pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart": {
-    "Dynamic access of 'keys'.": 1,
-    "Dynamic invocation of 'toSet'.": 1,
     "Dynamic invocation of '[]='.": 1,
     "Dynamic invocation of 'add'.": 1
   },
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 3f3cf82..e7d9500 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -6406,7 +6406,9 @@
       {bool isConstantExpression: false,
       bool isNullAware: false,
       bool isSuper: false}) {
-    if (constantContext != ConstantContext.none && !isConstantExpression) {
+    if (constantContext != ConstantContext.none &&
+        !isConstantExpression &&
+        !enableConstFunctionsInLibrary) {
       return buildProblem(
           fasta.templateNotConstantExpression
               .withArguments('Method invocation'),
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index cd9256e..35a2f67 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -1207,7 +1207,10 @@
     if (env.isEmpty) {
       // We only try to evaluate the same [node] *once* within an empty
       // environment.
-      if (nodeCache.containsKey(node)) {
+      // For const functions, recompute getters instead of using the cached
+      // value.
+      bool isGetter = node is InstanceGet || node is PropertyGet;
+      if (nodeCache.containsKey(node) && !(enableConstFunctions && isGetter)) {
         result = nodeCache[node];
         if (result == null) {
           // [null] is a sentinel value only used when still evaluating the same
@@ -2088,9 +2091,17 @@
   }
 
   Constant _handleInvocation(
-      Expression node, Name name, Constant receiver, List<Constant> arguments) {
+      Expression node, Name name, Constant receiver, List<Constant> arguments,
+      {List<DartType> typeArguments, Map<String, Constant> namedArguments}) {
     final String op = name.text;
 
+    // TODO(kallentu): Handle all constant toString methods.
+    if (receiver is PrimitiveConstant &&
+        op == 'toString' &&
+        enableConstFunctions) {
+      return new StringConstant(receiver.value.toString());
+    }
+
     // Handle == and != first (it's common between all types). Since `a != b` is
     // parsed as `!(a == b)` it is handled implicitly through ==.
     if (arguments.length == 1 && op == '==') {
@@ -2262,31 +2273,38 @@
         }
       }
     } else if (receiver is InstanceConstant && enableConstFunctions) {
-      if (arguments.length == 1) {
-        final Constant other = arguments[0];
-        if (receiver.classNode.name == '_ImmutableMap') {
-          switch (op) {
-            case '[]':
-              final ListConstant values = receiver.fieldValues.entries
-                  .firstWhere(
-                      (entry) => entry.key.canonicalName.name == '_kvPairs',
-                      orElse: () => null)
-                  .value;
-              assert(values != null);
+      final Class instanceClass = receiver.classNode;
+      assert(typeEnvironment.hierarchy is ClassHierarchy);
+      final Member member = (typeEnvironment.hierarchy as ClassHierarchy)
+          .getDispatchTarget(instanceClass, name);
+      final FunctionNode function = member.function;
 
-              // Each i index element in [values] is a key whose value is the
-              // i+1 index element.
-              int keyIndex = values.entries.indexOf(other);
-              if (keyIndex != -1) {
-                int valueIndex = keyIndex + 1;
-                assert(valueIndex != values.entries.length);
-                return values.entries[valueIndex];
-              } else {
-                // Null value if key is not in the map.
-                return new NullConstant();
-              }
+      // TODO(kallentu): Implement [Object] class methods which have backend
+      // specific functions that cannot be run by the constant evaluator.
+      final bool isObjectMember = member.enclosingClass != null &&
+          member.enclosingClass.name == "Object";
+      if (function != null && !isObjectMember) {
+        return withNewInstanceBuilder(instanceClass, typeArguments, () {
+          final EvaluationEnvironment newEnv = new EvaluationEnvironment();
+          for (int i = 0; i < instanceClass.typeParameters.length; i++) {
+            newEnv.addTypeParameterValue(
+                instanceClass.typeParameters[i], receiver.typeArguments[i]);
           }
-        }
+
+          // Ensure that fields are visible for instance access.
+          receiver.fieldValues.forEach((Reference fieldRef, Constant value) =>
+              instanceBuilder.setFieldValue(fieldRef.asField, value));
+          return _handleFunctionInvocation(
+              function, receiver.typeArguments, arguments, namedArguments,
+              functionEnvironment: newEnv);
+        });
+      }
+
+      switch (op) {
+        case 'toString':
+          // Default value for toString() of instances.
+          return new StringConstant(
+              "Instance of '${receiver.classReference.toStringInternal()}'");
       }
     }
 
@@ -2324,7 +2342,7 @@
     assert(_gotError == null);
     assert(arguments != null);
 
-    if (enableConstFunctions && receiver is FunctionValue) {
+    if (enableConstFunctions) {
       // Evaluate type arguments of the method invoked.
       List<DartType> types = _evaluateTypeArguments(node, node.arguments);
       if (types == null && _gotError != null) {
@@ -2346,9 +2364,14 @@
       assert(_gotError == null);
       assert(named != null);
 
-      return _handleFunctionInvocation(
-          receiver.function, types, arguments, named,
-          functionEnvironment: receiver.environment);
+      if (receiver is FunctionValue) {
+        return _handleFunctionInvocation(
+            receiver.function, types, arguments, named,
+            functionEnvironment: receiver.environment);
+      }
+
+      return _handleInvocation(node, node.name, receiver, arguments,
+          typeArguments: types, namedArguments: named);
     }
 
     if (shouldBeUnevaluated) {
@@ -3940,8 +3963,13 @@
   }
 
   DartType substituteType(DartType type) {
-    if (_typeVariables.isEmpty) return type;
-    return substitute(type, _typeVariables);
+    if (_typeVariables.isEmpty) return _parent?.substituteType(type) ?? type;
+    final DartType substitutedType = substitute(type, _typeVariables);
+    if (identical(substitutedType, type) && _parent != null) {
+      // No distinct type created, substitute type in parent.
+      return _parent.substituteType(type);
+    }
+    return substitutedType;
   }
 }
 
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart
new file mode 100644
index 0000000..c799200
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart
@@ -0,0 +1,106 @@
+// 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.
+
+// Tests invocations of instance functions with const functions.
+
+import "package:expect/expect.dart";
+
+class A {
+  const A();
+}
+
+class B {
+  const B();
+
+  @override
+  String toString() => "B";
+}
+
+class C {
+  final int y;
+
+  const C(this.y);
+
+  int fn() {
+    if (y == 1) return 100;
+    return 200;
+  }
+}
+
+class D extends C {
+  const D(int y) : super(y);
+
+  @override
+  int fn() => 300;
+}
+
+class E extends C {
+  const E(int y) : super(y);
+}
+
+class F<T, U, V> {
+  const F();
+  U fn(U x) => x;
+}
+
+class G<T> extends F<T, String, num> {
+  const G();
+}
+
+const var1 = fn();
+String fn() => const A().toString();
+
+const toString1 = const A().toString();
+
+const var2 = fn2();
+String fn2() => const B().toString();
+
+const toString2 = const B().toString();
+
+const var3 = fn3();
+const var4 = fn4();
+int fn3() => const C(0).fn();
+int fn4() => const C(1).fn();
+
+const fnVal1 = const C(0).fn();
+const fnVal2 = const C(1).fn();
+
+const var5 = fn5();
+int fn5() => const D(1).fn();
+
+const fnVal3 = const D(1).fn();
+
+const var6 = fn6();
+int fn6() => const E(1).fn();
+
+const fnVal4 = const E(0).fn();
+
+const var7 = fn7();
+String fn7() => const F<int, String, num>().fn("string");
+
+const fnVal5 = const F<int, String, num>().fn("string");
+
+const var8 = fn8();
+String fn8() => const G<int>().fn("string");
+
+const fnVal6 = const G<int>().fn("string");
+
+void main() {
+  Expect.equals(var1, const A().toString());
+  Expect.equals(toString1, const A().toString());
+  Expect.equals(var2, const B().toString());
+  Expect.equals(toString2, const B().toString());
+  Expect.equals(var3, 200);
+  Expect.equals(var4, 100);
+  Expect.equals(fnVal1, 200);
+  Expect.equals(fnVal2, 100);
+  Expect.equals(var5, 300);
+  Expect.equals(fnVal3, 300);
+  Expect.equals(var6, 100);
+  Expect.equals(fnVal4, 200);
+  Expect.equals(var7, "string");
+  Expect.equals(fnVal5, "string");
+  Expect.equals(var8, "string");
+  Expect.equals(fnVal6, "string");
+}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect
new file mode 100644
index 0000000..0eb686e
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.expect
@@ -0,0 +1,138 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  @#C1
+  method toString() → core::String
+    return "B";
+}
+class C extends core::Object /*hasConstConstructor*/  {
+  final field core::int y;
+  const constructor •(core::int y) → self::C
+    : self::C::y = y, super core::Object::•()
+    ;
+  method fn() → core::int {
+    if(this.{self::C::y}.{core::num::==}(1))
+      return 100;
+    return 200;
+  }
+}
+class D extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::D
+    : super self::C::•(y)
+    ;
+  @#C1
+  method fn() → core::int
+    return 300;
+}
+class E extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::E
+    : super self::C::•(y)
+    ;
+}
+class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%>
+    : super core::Object::•()
+    ;
+  method fn(generic-covariant-impl self::F::U% x) → self::F::U%
+    return x;
+}
+class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  {
+  const constructor •() → self::G<self::G::T%>
+    : super self::F::•()
+    ;
+}
+static const field core::String var1 = #C2;
+static const field core::String toString1 = #C2;
+static const field core::String var2 = #C3;
+static const field core::String toString2 = #C3;
+static const field core::int var3 = #C4;
+static const field core::int var4 = #C5;
+static const field core::int fnVal1 = #C4;
+static const field core::int fnVal2 = #C5;
+static const field core::int var5 = #C6;
+static const field core::int fnVal3 = #C6;
+static const field core::int var6 = #C5;
+static const field core::int fnVal4 = #C4;
+static const field core::String var7 = #C7;
+static const field core::String fnVal5 = #C7;
+static const field core::String var8 = #C7;
+static const field core::String fnVal6 = #C7;
+static method fn() → core::String
+  return (#C8).{core::Object::toString}();
+static method fn2() → core::String
+  return (#C9).{self::B::toString}();
+static method fn3() → core::int
+  return (#C11).{self::C::fn}();
+static method fn4() → core::int
+  return (#C13).{self::C::fn}();
+static method fn5() → core::int
+  return (#C14).{self::D::fn}();
+static method fn6() → core::int
+  return (#C15).{self::C::fn}();
+static method fn7() → core::String
+  return (#C16).{self::F::fn}("string");
+static method fn8() → core::String
+  return (#C17).{self::F::fn}("string");
+static method main() → void {
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+}
+
+constants  {
+  #C1 = core::_Override {}
+  #C2 = "Instance of 'A'"
+  #C3 = "B"
+  #C4 = 200
+  #C5 = 100
+  #C6 = 300
+  #C7 = "string"
+  #C8 = self::A {}
+  #C9 = self::B {}
+  #C10 = 0
+  #C11 = self::C {y:#C10}
+  #C12 = 1
+  #C13 = self::C {y:#C12}
+  #C14 = self::D {y:#C12}
+  #C15 = self::E {y:#C12}
+  #C16 = self::F<core::int, core::String, core::num> {}
+  #C17 = self::G<core::int> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_functions_instance_methods.dart:
+- A. (from org-dartlang-testcase:///const_functions_instance_methods.dart:10:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- B. (from org-dartlang-testcase:///const_functions_instance_methods.dart:14:9)
+- C. (from org-dartlang-testcase:///const_functions_instance_methods.dart:23:9)
+- D. (from org-dartlang-testcase:///const_functions_instance_methods.dart:32:9)
+- E. (from org-dartlang-testcase:///const_functions_instance_methods.dart:39:9)
+- F. (from org-dartlang-testcase:///const_functions_instance_methods.dart:43:9)
+- G. (from org-dartlang-testcase:///const_functions_instance_methods.dart:48:9)
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect
new file mode 100644
index 0000000..0eb686e
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.strong.transformed.expect
@@ -0,0 +1,138 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  @#C1
+  method toString() → core::String
+    return "B";
+}
+class C extends core::Object /*hasConstConstructor*/  {
+  final field core::int y;
+  const constructor •(core::int y) → self::C
+    : self::C::y = y, super core::Object::•()
+    ;
+  method fn() → core::int {
+    if(this.{self::C::y}.{core::num::==}(1))
+      return 100;
+    return 200;
+  }
+}
+class D extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::D
+    : super self::C::•(y)
+    ;
+  @#C1
+  method fn() → core::int
+    return 300;
+}
+class E extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::E
+    : super self::C::•(y)
+    ;
+}
+class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%>
+    : super core::Object::•()
+    ;
+  method fn(generic-covariant-impl self::F::U% x) → self::F::U%
+    return x;
+}
+class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  {
+  const constructor •() → self::G<self::G::T%>
+    : super self::F::•()
+    ;
+}
+static const field core::String var1 = #C2;
+static const field core::String toString1 = #C2;
+static const field core::String var2 = #C3;
+static const field core::String toString2 = #C3;
+static const field core::int var3 = #C4;
+static const field core::int var4 = #C5;
+static const field core::int fnVal1 = #C4;
+static const field core::int fnVal2 = #C5;
+static const field core::int var5 = #C6;
+static const field core::int fnVal3 = #C6;
+static const field core::int var6 = #C5;
+static const field core::int fnVal4 = #C4;
+static const field core::String var7 = #C7;
+static const field core::String fnVal5 = #C7;
+static const field core::String var8 = #C7;
+static const field core::String fnVal6 = #C7;
+static method fn() → core::String
+  return (#C8).{core::Object::toString}();
+static method fn2() → core::String
+  return (#C9).{self::B::toString}();
+static method fn3() → core::int
+  return (#C11).{self::C::fn}();
+static method fn4() → core::int
+  return (#C13).{self::C::fn}();
+static method fn5() → core::int
+  return (#C14).{self::D::fn}();
+static method fn6() → core::int
+  return (#C15).{self::C::fn}();
+static method fn7() → core::String
+  return (#C16).{self::F::fn}("string");
+static method fn8() → core::String
+  return (#C17).{self::F::fn}("string");
+static method main() → void {
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+}
+
+constants  {
+  #C1 = core::_Override {}
+  #C2 = "Instance of 'A'"
+  #C3 = "B"
+  #C4 = 200
+  #C5 = 100
+  #C6 = 300
+  #C7 = "string"
+  #C8 = self::A {}
+  #C9 = self::B {}
+  #C10 = 0
+  #C11 = self::C {y:#C10}
+  #C12 = 1
+  #C13 = self::C {y:#C12}
+  #C14 = self::D {y:#C12}
+  #C15 = self::E {y:#C12}
+  #C16 = self::F<core::int, core::String, core::num> {}
+  #C17 = self::G<core::int> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_functions_instance_methods.dart:
+- A. (from org-dartlang-testcase:///const_functions_instance_methods.dart:10:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- B. (from org-dartlang-testcase:///const_functions_instance_methods.dart:14:9)
+- C. (from org-dartlang-testcase:///const_functions_instance_methods.dart:23:9)
+- D. (from org-dartlang-testcase:///const_functions_instance_methods.dart:32:9)
+- E. (from org-dartlang-testcase:///const_functions_instance_methods.dart:39:9)
+- F. (from org-dartlang-testcase:///const_functions_instance_methods.dart:43:9)
+- G. (from org-dartlang-testcase:///const_functions_instance_methods.dart:48:9)
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline.expect
new file mode 100644
index 0000000..3dff2f9
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline.expect
@@ -0,0 +1,62 @@
+import "package:expect/expect.dart";
+
+class A {
+  const A();
+}
+
+class B {
+  const B();
+  @override
+  String toString() => "B";
+}
+
+class C {
+  final int y;
+  const C(this.y);
+  int fn() {}
+}
+
+class D extends C {
+  const D(int y) : super(y);
+  @override
+  int fn() => 300;
+}
+
+class E extends C {
+  const E(int y) : super(y);
+}
+
+class F<T, U, V> {
+  const F();
+  U fn(U x) => x;
+}
+
+class G<T> extends F<T, String, num> {
+  const G();
+}
+
+const var1 = fn();
+String fn() => const A().toString();
+const toString1 = const A().toString();
+const var2 = fn2();
+String fn2() => const B().toString();
+const toString2 = const B().toString();
+const var3 = fn3();
+const var4 = fn4();
+int fn3() => const C(0).fn();
+int fn4() => const C(1).fn();
+const fnVal1 = const C(0).fn();
+const fnVal2 = const C(1).fn();
+const var5 = fn5();
+int fn5() => const D(1).fn();
+const fnVal3 = const D(1).fn();
+const var6 = fn6();
+int fn6() => const E(1).fn();
+const fnVal4 = const E(0).fn();
+const var7 = fn7();
+String fn7() => const F<int, String, num>().fn("string");
+const fnVal5 = const F<int, String, num>().fn("string");
+const var8 = fn8();
+String fn8() => const G<int>().fn("string");
+const fnVal6 = const G<int>().fn("string");
+void main() {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..116222c
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.textual_outline_modelled.expect
@@ -0,0 +1,63 @@
+import "package:expect/expect.dart";
+
+String fn() => const A().toString();
+String fn2() => const B().toString();
+String fn7() => const F<int, String, num>().fn("string");
+String fn8() => const G<int>().fn("string");
+
+class A {
+  const A();
+}
+
+class B {
+  @override
+  String toString() => "B";
+  const B();
+}
+
+class C {
+  const C(this.y);
+  final int y;
+  int fn() {}
+}
+
+class D extends C {
+  const D(int y) : super(y);
+  @override
+  int fn() => 300;
+}
+
+class E extends C {
+  const E(int y) : super(y);
+}
+
+class F<T, U, V> {
+  U fn(U x) => x;
+  const F();
+}
+
+class G<T> extends F<T, String, num> {
+  const G();
+}
+
+const fnVal1 = const C(0).fn();
+const fnVal2 = const C(1).fn();
+const fnVal3 = const D(1).fn();
+const fnVal4 = const E(0).fn();
+const fnVal5 = const F<int, String, num>().fn("string");
+const fnVal6 = const G<int>().fn("string");
+const toString1 = const A().toString();
+const toString2 = const B().toString();
+const var1 = fn();
+const var2 = fn2();
+const var3 = fn3();
+const var4 = fn4();
+const var5 = fn5();
+const var6 = fn6();
+const var7 = fn7();
+const var8 = fn8();
+int fn3() => const C(0).fn();
+int fn4() => const C(1).fn();
+int fn5() => const D(1).fn();
+int fn6() => const E(1).fn();
+void main() {}
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect
new file mode 100644
index 0000000..00d54b0
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.expect
@@ -0,0 +1,138 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  @#C1
+  method toString() → core::String
+    return "B";
+}
+class C extends core::Object /*hasConstConstructor*/  {
+  final field core::int y;
+  const constructor •(core::int y) → self::C
+    : self::C::y = y, super core::Object::•()
+    ;
+  method fn() → core::int {
+    if(this.{self::C::y}.{core::num::==}(1))
+      return 100;
+    return 200;
+  }
+}
+class D extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::D
+    : super self::C::•(y)
+    ;
+  @#C1
+  method fn() → core::int
+    return 300;
+}
+class E extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::E
+    : super self::C::•(y)
+    ;
+}
+class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%>
+    : super core::Object::•()
+    ;
+  method fn(generic-covariant-impl self::F::U% x) → self::F::U%
+    return x;
+}
+class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  {
+  const constructor •() → self::G<self::G::T%>
+    : super self::F::•()
+    ;
+}
+static const field core::String var1 = #C2;
+static const field core::String toString1 = #C2;
+static const field core::String var2 = #C3;
+static const field core::String toString2 = #C3;
+static const field core::int var3 = #C4;
+static const field core::int var4 = #C5;
+static const field core::int fnVal1 = #C4;
+static const field core::int fnVal2 = #C5;
+static const field core::int var5 = #C6;
+static const field core::int fnVal3 = #C6;
+static const field core::int var6 = #C5;
+static const field core::int fnVal4 = #C4;
+static const field core::String var7 = #C7;
+static const field core::String fnVal5 = #C7;
+static const field core::String var8 = #C7;
+static const field core::String fnVal6 = #C7;
+static method fn() → core::String
+  return (#C8).{core::Object::toString}();
+static method fn2() → core::String
+  return (#C9).{self::B::toString}();
+static method fn3() → core::int
+  return (#C11).{self::C::fn}();
+static method fn4() → core::int
+  return (#C13).{self::C::fn}();
+static method fn5() → core::int
+  return (#C14).{self::D::fn}();
+static method fn6() → core::int
+  return (#C15).{self::C::fn}();
+static method fn7() → core::String
+  return (#C16).{self::F::fn}("string");
+static method fn8() → core::String
+  return (#C17).{self::F::fn}("string");
+static method main() → void {
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+}
+
+constants  {
+  #C1 = core::_Override {}
+  #C2 = "Instance of 'A'"
+  #C3 = "B"
+  #C4 = 200
+  #C5 = 100
+  #C6 = 300
+  #C7 = "string"
+  #C8 = self::A {}
+  #C9 = self::B {}
+  #C10 = 0
+  #C11 = self::C {y:#C10}
+  #C12 = 1
+  #C13 = self::C {y:#C12}
+  #C14 = self::D {y:#C12}
+  #C15 = self::E {y:#C12}
+  #C16 = self::F<core::int*, core::String*, core::num*> {}
+  #C17 = self::G<core::int*> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_functions_instance_methods.dart:
+- A. (from org-dartlang-testcase:///const_functions_instance_methods.dart:10:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- B. (from org-dartlang-testcase:///const_functions_instance_methods.dart:14:9)
+- C. (from org-dartlang-testcase:///const_functions_instance_methods.dart:23:9)
+- D. (from org-dartlang-testcase:///const_functions_instance_methods.dart:32:9)
+- E. (from org-dartlang-testcase:///const_functions_instance_methods.dart:39:9)
+- F. (from org-dartlang-testcase:///const_functions_instance_methods.dart:43:9)
+- G. (from org-dartlang-testcase:///const_functions_instance_methods.dart:48:9)
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect
new file mode 100644
index 0000000..05abaed
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.outline.expect
@@ -0,0 +1,100 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "package:expect/expect.dart";
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  @core::override
+  method toString() → core::String
+    ;
+}
+class C extends core::Object /*hasConstConstructor*/  {
+  final field core::int y;
+  const constructor •(core::int y) → self::C
+    : self::C::y = y, super core::Object::•()
+    ;
+  method fn() → core::int
+    ;
+}
+class D extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::D
+    : super self::C::•(y)
+    ;
+  @core::override
+  method fn() → core::int
+    ;
+}
+class E extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::E
+    : super self::C::•(y)
+    ;
+}
+class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%>
+    : super core::Object::•()
+    ;
+  method fn(generic-covariant-impl self::F::U% x) → self::F::U%
+    ;
+}
+class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  {
+  const constructor •() → self::G<self::G::T%>
+    : super self::F::•()
+    ;
+}
+static const field core::String var1 = self::fn();
+static const field core::String toString1 = const self::A::•().{core::Object::toString}();
+static const field core::String var2 = self::fn2();
+static const field core::String toString2 = const self::B::•().{self::B::toString}();
+static const field core::int var3 = self::fn3();
+static const field core::int var4 = self::fn4();
+static const field core::int fnVal1 = const self::C::•(0).{self::C::fn}();
+static const field core::int fnVal2 = const self::C::•(1).{self::C::fn}();
+static const field core::int var5 = self::fn5();
+static const field core::int fnVal3 = const self::D::•(1).{self::D::fn}();
+static const field core::int var6 = self::fn6();
+static const field core::int fnVal4 = const self::E::•(0).{self::C::fn}();
+static const field core::String var7 = self::fn7();
+static const field core::String fnVal5 = const self::F::•<core::int, core::String, core::num>().{self::F::fn}("string");
+static const field core::String var8 = self::fn8();
+static const field core::String fnVal6 = const self::G::•<core::int>().{self::F::fn}("string");
+static method fn() → core::String
+  ;
+static method fn2() → core::String
+  ;
+static method fn3() → core::int
+  ;
+static method fn4() → core::int
+  ;
+static method fn5() → core::int
+  ;
+static method fn6() → core::int
+  ;
+static method fn7() → core::String
+  ;
+static method fn8() → core::String
+  ;
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_instance_methods.dart:16:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///const_functions_instance_methods.dart:34:4 -> InstanceConstant(const _Override{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:54:25 -> InstanceConstant(const A{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:59:25 -> InstanceConstant(const B{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:66:22 -> InstanceConstant(const C{C.y: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:67:22 -> InstanceConstant(const C{C.y: 1})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:72:22 -> InstanceConstant(const D{C.y: 1})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:77:22 -> InstanceConstant(const E{C.y: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:82:22 -> InstanceConstant(const F<int*, String*, num*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_functions_instance_methods.dart:87:22 -> InstanceConstant(const G<int*>{})
+Extra constant evaluation: evaluated: 29, effectively constant: 10
diff --git a/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect
new file mode 100644
index 0000000..00d54b0
--- /dev/null
+++ b/pkg/front_end/testcases/const_functions/const_functions_instance_methods.dart.weak.transformed.expect
@@ -0,0 +1,138 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "package:expect/expect.dart" as exp;
+
+import "package:expect/expect.dart";
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  @#C1
+  method toString() → core::String
+    return "B";
+}
+class C extends core::Object /*hasConstConstructor*/  {
+  final field core::int y;
+  const constructor •(core::int y) → self::C
+    : self::C::y = y, super core::Object::•()
+    ;
+  method fn() → core::int {
+    if(this.{self::C::y}.{core::num::==}(1))
+      return 100;
+    return 200;
+  }
+}
+class D extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::D
+    : super self::C::•(y)
+    ;
+  @#C1
+  method fn() → core::int
+    return 300;
+}
+class E extends self::C /*hasConstConstructor*/  {
+  const constructor •(core::int y) → self::E
+    : super self::C::•(y)
+    ;
+}
+class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%>
+    : super core::Object::•()
+    ;
+  method fn(generic-covariant-impl self::F::U% x) → self::F::U%
+    return x;
+}
+class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  {
+  const constructor •() → self::G<self::G::T%>
+    : super self::F::•()
+    ;
+}
+static const field core::String var1 = #C2;
+static const field core::String toString1 = #C2;
+static const field core::String var2 = #C3;
+static const field core::String toString2 = #C3;
+static const field core::int var3 = #C4;
+static const field core::int var4 = #C5;
+static const field core::int fnVal1 = #C4;
+static const field core::int fnVal2 = #C5;
+static const field core::int var5 = #C6;
+static const field core::int fnVal3 = #C6;
+static const field core::int var6 = #C5;
+static const field core::int fnVal4 = #C4;
+static const field core::String var7 = #C7;
+static const field core::String fnVal5 = #C7;
+static const field core::String var8 = #C7;
+static const field core::String fnVal6 = #C7;
+static method fn() → core::String
+  return (#C8).{core::Object::toString}();
+static method fn2() → core::String
+  return (#C9).{self::B::toString}();
+static method fn3() → core::int
+  return (#C11).{self::C::fn}();
+static method fn4() → core::int
+  return (#C13).{self::C::fn}();
+static method fn5() → core::int
+  return (#C14).{self::D::fn}();
+static method fn6() → core::int
+  return (#C15).{self::C::fn}();
+static method fn7() → core::String
+  return (#C16).{self::F::fn}("string");
+static method fn8() → core::String
+  return (#C17).{self::F::fn}("string");
+static method main() → void {
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C2, (#C8).{core::Object::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C3, (#C9).{self::B::toString}());
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C6, 300);
+  exp::Expect::equals(#C5, 100);
+  exp::Expect::equals(#C4, 200);
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+  exp::Expect::equals(#C7, "string");
+}
+
+constants  {
+  #C1 = core::_Override {}
+  #C2 = "Instance of 'A'"
+  #C3 = "B"
+  #C4 = 200
+  #C5 = 100
+  #C6 = 300
+  #C7 = "string"
+  #C8 = self::A {}
+  #C9 = self::B {}
+  #C10 = 0
+  #C11 = self::C {y:#C10}
+  #C12 = 1
+  #C13 = self::C {y:#C12}
+  #C14 = self::D {y:#C12}
+  #C15 = self::E {y:#C12}
+  #C16 = self::F<core::int*, core::String*, core::num*> {}
+  #C17 = self::G<core::int*> {}
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///const_functions_instance_methods.dart:
+- A. (from org-dartlang-testcase:///const_functions_instance_methods.dart:10:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- B. (from org-dartlang-testcase:///const_functions_instance_methods.dart:14:9)
+- C. (from org-dartlang-testcase:///const_functions_instance_methods.dart:23:9)
+- D. (from org-dartlang-testcase:///const_functions_instance_methods.dart:32:9)
+- E. (from org-dartlang-testcase:///const_functions_instance_methods.dart:39:9)
+- F. (from org-dartlang-testcase:///const_functions_instance_methods.dart:43:9)
+- G. (from org-dartlang-testcase:///const_functions_instance_methods.dart:48:9)
diff --git a/runtime/vm/compiler/aot/precompiler.cc b/runtime/vm/compiler/aot/precompiler.cc
index 9107586..eaee574 100644
--- a/runtime/vm/compiler/aot/precompiler.cc
+++ b/runtime/vm/compiler/aot/precompiler.cc
@@ -359,8 +359,6 @@
       pending_functions_(
           GrowableObjectArray::Handle(GrowableObjectArray::New())),
       sent_selectors_(),
-      entry_point_functions_(
-          HashTables::New<FunctionSet>(/*initial_capacity=*/128)),
       functions_called_dynamically_(
           HashTables::New<FunctionSet>(/*initial_capacity=*/1024)),
       seen_functions_(HashTables::New<FunctionSet>(/*initial_capacity=*/1024)),
@@ -384,7 +382,6 @@
 
 Precompiler::~Precompiler() {
   // We have to call Release() in DEBUG mode.
-  entry_point_functions_.Release();
   functions_called_dynamically_.Release();
   seen_functions_.Release();
   possibly_retained_functions_.Release();
@@ -1464,7 +1461,6 @@
           if (type == EntryPointPragma::kAlways ||
               type == EntryPointPragma::kCallOnly) {
             AddFunction(function, RetainReasons::kEntryPointPragma);
-            entry_point_functions_.Insert(function);
           }
 
           if ((type == EntryPointPragma::kAlways ||
@@ -1473,12 +1469,10 @@
               !function.IsSetterFunction()) {
             function2 = function.ImplicitClosureFunction();
             AddFunction(function2, RetainReasons::kEntryPointPragma);
-            entry_point_functions_.Insert(function2);
           }
 
           if (function.IsGenerativeConstructor()) {
             AddInstantiatedClass(cls);
-            entry_point_functions_.Insert(function);
           }
         }
         if (function.kind() == UntaggedFunction::kImplicitGetter &&
@@ -1487,7 +1481,6 @@
             field ^= implicit_getters.At(i);
             if (function.accessor_field() == field.ptr()) {
               AddFunction(function, RetainReasons::kImplicitGetter);
-              entry_point_functions_.Insert(function);
             }
           }
         }
@@ -1497,7 +1490,6 @@
             field ^= implicit_setters.At(i);
             if (function.accessor_field() == field.ptr()) {
               AddFunction(function, RetainReasons::kImplicitSetter);
-              entry_point_functions_.Insert(function);
             }
           }
         }
@@ -1507,7 +1499,6 @@
             field ^= implicit_static_getters.At(i);
             if (function.accessor_field() == field.ptr()) {
               AddFunction(function, RetainReasons::kImplicitStaticGetter);
-              entry_point_functions_.Insert(function);
             }
           }
         }
@@ -2717,7 +2708,6 @@
    public:
     DiscardCodeVisitor(Zone* zone,
                        const FunctionSet& functions_to_retain,
-                       const FunctionSet& entry_point_functions,
                        const FunctionSet& functions_called_dynamically)
         : zone_(zone),
           function_(Function::Handle(zone)),
@@ -2730,7 +2720,6 @@
           targets_of_calls_via_code_(
               GrowableObjectArray::Handle(zone, GrowableObjectArray::New())),
           functions_to_retain_(functions_to_retain),
-          entry_point_functions_(entry_point_functions),
           functions_called_dynamically_(functions_called_dynamically) {}
 
     // Certain static calls (e.g. between different loading units) are
@@ -2794,12 +2783,6 @@
           return;
         }
 
-        // Retain Code objects for entry points.
-        if (entry_point_functions_.ContainsKey(function_)) {
-          ++codes_with_entry_point_function_;
-          return;
-        }
-
         // Retain Code objects corresponding to dynamically
         // called functions.
         if (functions_called_dynamically_.ContainsKey(function_)) {
@@ -2807,7 +2790,6 @@
           return;
         }
       } else {
-        ASSERT(!entry_point_functions_.ContainsKey(function_));
         ASSERT(!functions_called_dynamically_.ContainsKey(function_));
       }
 
@@ -2857,8 +2839,6 @@
                 codes_with_native_function_);
       THR_Print("    %8" Pd " Codes with async closure functions\n",
                 codes_with_async_closure_function_);
-      THR_Print("    %8" Pd " Codes with entry point functions\n",
-                codes_with_entry_point_function_);
       THR_Print("    %8" Pd " Codes with dynamically called functions\n",
                 codes_with_dynamically_called_function_);
       THR_Print("    %8" Pd " Codes with deferred functions\n",
@@ -2882,7 +2862,6 @@
     Code& call_target_;
     GrowableObjectArray& targets_of_calls_via_code_;
     const FunctionSet& functions_to_retain_;
-    const FunctionSet& entry_point_functions_;
     const FunctionSet& functions_called_dynamically_;
 
     // Statistics
@@ -2893,7 +2872,6 @@
     intptr_t codes_with_invisible_function_ = 0;
     intptr_t codes_with_native_function_ = 0;
     intptr_t codes_with_async_closure_function_ = 0;
-    intptr_t codes_with_entry_point_function_ = 0;
     intptr_t codes_with_dynamically_called_function_ = 0;
     intptr_t codes_with_deferred_function_ = 0;
     intptr_t codes_with_ffi_trampoline_function_ = 0;
@@ -2909,7 +2887,7 @@
     return;
   }
 
-  DiscardCodeVisitor visitor(Z, functions_to_retain_, entry_point_functions_,
+  DiscardCodeVisitor visitor(Z, functions_to_retain_,
                              functions_called_dynamically_);
   ProgramVisitor::WalkProgram(Z, IG, &visitor);
   visitor.RetainCodeObjectsUsedAsCallTargets();
diff --git a/runtime/vm/compiler/aot/precompiler.h b/runtime/vm/compiler/aot/precompiler.h
index 315c712..24bebca 100644
--- a/runtime/vm/compiler/aot/precompiler.h
+++ b/runtime/vm/compiler/aot/precompiler.h
@@ -374,7 +374,6 @@
   GrowableObjectArray& libraries_;
   const GrowableObjectArray& pending_functions_;
   SymbolSet sent_selectors_;
-  FunctionSet entry_point_functions_;
   FunctionSet functions_called_dynamically_;
   FunctionSet seen_functions_;
   FunctionSet possibly_retained_functions_;
diff --git a/runtime/vm/compiler/backend/flow_graph.cc b/runtime/vm/compiler/backend/flow_graph.cc
index c593d17..27bc58a 100644
--- a/runtime/vm/compiler/backend/flow_graph.cc
+++ b/runtime/vm/compiler/backend/flow_graph.cc
@@ -1809,6 +1809,7 @@
                                  Representation to,
                                  Value* use,
                                  bool is_environment_use) {
+  ASSERT(from != to);
   Instruction* insert_before;
   Instruction* deopt_target;
   PhiInstr* phi = use->instruction()->AsPhi();
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 3e59fa6..834bc87 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -3288,12 +3288,9 @@
     return replacement;
   }
 
-  // Currently we perform this only on 64-bit architectures.
-  if (compiler::target::kBitsPerWord == 64) {
-    ConstantInstr* c = value()->definition()->AsConstant();
-    if (c != NULL && c->value().IsInteger()) {
-      return flow_graph->GetConstant(c->value(), kUnboxedInt64);
-    }
+  ConstantInstr* c = value()->definition()->AsConstant();
+  if (c != NULL && c->value().IsInteger()) {
+    return flow_graph->GetConstant(c->value(), kUnboxedInt64);
   }
 
   return this;
diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h
index 22326fb..46a5d13 100644
--- a/runtime/vm/compiler/backend/il.h
+++ b/runtime/vm/compiler/backend/il.h
@@ -6475,6 +6475,7 @@
   Value* value() const { return inputs_[1]; }
   intptr_t offset() const { return offset_; }
 
+  virtual intptr_t DeoptimizationTarget() const { return GetDeoptId(); }
   virtual bool ComputeCanDeoptimize() const { return false; }
   virtual bool HasUnknownSideEffects() const { return false; }
   virtual bool AttributesEqual(const Instruction& other) const {
diff --git a/runtime/vm/compiler/backend/inliner_test.cc b/runtime/vm/compiler/backend/inliner_test.cc
index cf772e4..f5c59aa 100644
--- a/runtime/vm/compiler/backend/inliner_test.cc
+++ b/runtime/vm/compiler/backend/inliner_test.cc
@@ -220,11 +220,6 @@
       kMoveGlob,
       kMatchAndMoveCreateArray,
       kMatchAndMoveUnboxInt64,
-#if defined(TARGET_ARCH_IS_32_BIT)
-      // TODO(rmacnak): Implement missing ops to allow 32-bit architectures in
-      // UnboxInt64Instr::Canonicalize.
-      kMatchAndMoveUnboxInt64,
-#endif
       kMatchAndMoveGoto,
 
       // Loop header
diff --git a/tests/corelib_2/apply2_test.dart b/tests/corelib_2/apply2_test.dart
index 507b2a2..95401d4 100644
--- a/tests/corelib_2/apply2_test.dart
+++ b/tests/corelib_2/apply2_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.9
+
 // VMOptions=
 // VMOptions=--dwarf_stack_traces --no-retain_function_objects --no-retain_code_objects
 
diff --git a/tests/corelib_2/apply3_test.dart b/tests/corelib_2/apply3_test.dart
index 5bf1bce..541b345 100644
--- a/tests/corelib_2/apply3_test.dart
+++ b/tests/corelib_2/apply3_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.9
+
 // Test [Function.apply] on user-defined classes that implement [noSuchMethod].
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/apply4_test.dart b/tests/corelib_2/apply4_test.dart
index fba4b9d..2a8ddf5 100644
--- a/tests/corelib_2/apply4_test.dart
+++ b/tests/corelib_2/apply4_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.9
+
 import "package:expect/expect.dart";
 
 // Testing Function.apply calls work correctly for arities that are not
diff --git a/tests/corelib_2/apply5_test.dart b/tests/corelib_2/apply5_test.dart
index 5435f10..01005a0 100644
--- a/tests/corelib_2/apply5_test.dart
+++ b/tests/corelib_2/apply5_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.9
+
 import "package:expect/expect.dart";
 
 // Testing that, when compiled to JS, Function.apply works correctly for
diff --git a/tests/corelib_2/apply_generic_function_test.dart b/tests/corelib_2/apply_generic_function_test.dart
index 47349fd..e4246d9 100644
--- a/tests/corelib_2/apply_generic_function_test.dart
+++ b/tests/corelib_2/apply_generic_function_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.9
+
 import "package:expect/expect.dart";
 import "symbol_map_helper.dart";
 
diff --git a/tests/corelib_2/apply_test.dart b/tests/corelib_2/apply_test.dart
index 25b9ead..a5563fb 100644
--- a/tests/corelib_2/apply_test.dart
+++ b/tests/corelib_2/apply_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.9
+
 import "package:expect/expect.dart";
 import "symbol_map_helper.dart";
 
diff --git a/tests/corelib_2/bigint_from_test.dart b/tests/corelib_2/bigint_from_test.dart
index 52bd855..015934c 100644
--- a/tests/corelib_2/bigint_from_test.dart
+++ b/tests/corelib_2/bigint_from_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.9
+
 // Testing Bigints with and without intrinsics.
 // VMOptions=--intrinsify --no-enable-asserts
 // VMOptions=--intrinsify --enable-asserts
diff --git a/tests/corelib_2/bigint_js_test.dart b/tests/corelib_2/bigint_js_test.dart
index ebebc25d..45c2f02 100644
--- a/tests/corelib_2/bigint_js_test.dart
+++ b/tests/corelib_2/bigint_js_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.9
+
 // Testing Bigints with and without intrinsics.
 // VMOptions=--intrinsify --no-enable-asserts
 // VMOptions=--intrinsify --enable-asserts
diff --git a/tests/corelib_2/bigint_parse_radix_test.dart b/tests/corelib_2/bigint_parse_radix_test.dart
index ad7468c..9a073d0 100644
--- a/tests/corelib_2/bigint_parse_radix_test.dart
+++ b/tests/corelib_2/bigint_parse_radix_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.9
+
 // Testing Bigints with and without intrinsics.
 // VMOptions=--intrinsify --no-enable-asserts
 // VMOptions=--intrinsify --enable-asserts
diff --git a/tests/corelib_2/bigint_test.dart b/tests/corelib_2/bigint_test.dart
index 37e2836..053ddea 100644
--- a/tests/corelib_2/bigint_test.dart
+++ b/tests/corelib_2/bigint_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.9
+
 // Testing Bigints with and without intrinsics.
 // VMOptions=--intrinsify --no-enable-asserts
 // VMOptions=--intrinsify --enable-asserts
diff --git a/tests/corelib_2/bit_twiddling_test.dart b/tests/corelib_2/bit_twiddling_test.dart
index fab41d9..51aea1b 100644
--- a/tests/corelib_2/bit_twiddling_test.dart
+++ b/tests/corelib_2/bit_twiddling_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing int.bitLength, int.toUnsigned and int.toSigned.
 
+// @dart = 2.9
+
 library bit_twiddling_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/bool_from_environment2_test.dart b/tests/corelib_2/bool_from_environment2_test.dart
index 0329c54..c0e7415 100644
--- a/tests/corelib_2/bool_from_environment2_test.dart
+++ b/tests/corelib_2/bool_from_environment2_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.9
+
 main() {
   const bool.fromEnvironment('NOT_FOUND', defaultValue: ''); // //# 01: compile-time error
   const bool.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 02: compile-time error
diff --git a/tests/corelib_2/bool_from_environment_test.dart b/tests/corelib_2/bool_from_environment_test.dart
index 5d01bde..24788ff 100644
--- a/tests/corelib_2/bool_from_environment_test.dart
+++ b/tests/corelib_2/bool_from_environment_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=true -Db=false -Dc=NOTBOOL -Dd=True
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/bool_hashcode_test.dart b/tests/corelib_2/bool_hashcode_test.dart
index d33b14a..3bc82f2 100644
--- a/tests/corelib_2/bool_hashcode_test.dart
+++ b/tests/corelib_2/bool_hashcode_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.9
+
 import "package:expect/expect.dart";
 
 class BoolHashCodeTest {
diff --git a/tests/corelib_2/bool_operator_test.dart b/tests/corelib_2/bool_operator_test.dart
index 3d5e3de..ffbcb1b 100644
--- a/tests/corelib_2/bool_operator_test.dart
+++ b/tests/corelib_2/bool_operator_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/cast_helper.dart b/tests/corelib_2/cast_helper.dart
index 6e2d76a..bb13987 100644
--- a/tests/corelib_2/cast_helper.dart
+++ b/tests/corelib_2/cast_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.9
+
 final elements = <C>[c, d, e, f, null];
 
 class C {}
diff --git a/tests/corelib_2/cast_iterable_test.dart b/tests/corelib_2/cast_iterable_test.dart
index 19836f0..4b01e02e 100644
--- a/tests/corelib_2/cast_iterable_test.dart
+++ b/tests/corelib_2/cast_iterable_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 import 'cast_helper.dart';
diff --git a/tests/corelib_2/cast_list_test.dart b/tests/corelib_2/cast_list_test.dart
index 75f3072..47a1d1d 100644
--- a/tests/corelib_2/cast_list_test.dart
+++ b/tests/corelib_2/cast_list_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 import 'cast_helper.dart';
diff --git a/tests/corelib_2/cast_map_test.dart b/tests/corelib_2/cast_map_test.dart
index 123bd1e..a662a7d 100644
--- a/tests/corelib_2/cast_map_test.dart
+++ b/tests/corelib_2/cast_map_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 import 'cast_helper.dart';
diff --git a/tests/corelib_2/cast_set_test.dart b/tests/corelib_2/cast_set_test.dart
index 8b8dc71..89d38af 100644
--- a/tests/corelib_2/cast_set_test.dart
+++ b/tests/corelib_2/cast_set_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 import 'cast_helper.dart';
diff --git a/tests/corelib_2/collection_from_test.dart b/tests/corelib_2/collection_from_test.dart
index bc7dc7a..4c25fbc 100644
--- a/tests/corelib_2/collection_from_test.dart
+++ b/tests/corelib_2/collection_from_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.9
+
 library collection.from.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/collection_length_test.dart b/tests/corelib_2/collection_length_test.dart
index 8d618fd..317cef7 100644
--- a/tests/corelib_2/collection_length_test.dart
+++ b/tests/corelib_2/collection_length_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.9
+
 library map_test;
 
 import 'dart:collection';
diff --git a/tests/corelib_2/collection_of_test.dart b/tests/corelib_2/collection_of_test.dart
index d93c7e4..61ccd15 100644
--- a/tests/corelib_2/collection_of_test.dart
+++ b/tests/corelib_2/collection_of_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.9
+
 library collection.from.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/collection_removes_test.dart b/tests/corelib_2/collection_removes_test.dart
index 793696d..085a96c 100644
--- a/tests/corelib_2/collection_removes_test.dart
+++ b/tests/corelib_2/collection_removes_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.9
+
 import 'dart:collection';
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/collection_test.dart b/tests/corelib_2/collection_test.dart
index 54fbc8b..d3be692ab 100644
--- a/tests/corelib_2/collection_test.dart
+++ b/tests/corelib_2/collection_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.9
+
 library collection_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/collection_to_string_test.dart b/tests/corelib_2/collection_to_string_test.dart
index 1dc2533..62c7ed7 100644
--- a/tests/corelib_2/collection_to_string_test.dart
+++ b/tests/corelib_2/collection_to_string_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.9
+
 /**
  * Tests for the toString methods on collections and maps.
  */
diff --git a/tests/corelib_2/compare_to2_test.dart b/tests/corelib_2/compare_to2_test.dart
index f9d66fb..6fd1c3b 100644
--- a/tests/corelib_2/compare_to2_test.dart
+++ b/tests/corelib_2/compare_to2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing Math.min and Math.max.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 negate(x) => -x;
diff --git a/tests/corelib_2/compare_to_test.dart b/tests/corelib_2/compare_to_test.dart
index 318a39f..a7e5b96 100644
--- a/tests/corelib_2/compare_to_test.dart
+++ b/tests/corelib_2/compare_to_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing Math.min and Math.max.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 negate(x) => -x;
diff --git a/tests/corelib_2/const_list_literal_test.dart b/tests/corelib_2/const_list_literal_test.dart
index cf61c4f..2b02188 100644
--- a/tests/corelib_2/const_list_literal_test.dart
+++ b/tests/corelib_2/const_list_literal_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a final list literal is not expandable nor modifiable.
diff --git a/tests/corelib_2/const_list_remove_range_test.dart b/tests/corelib_2/const_list_remove_range_test.dart
index e3c257c..320cbde 100644
--- a/tests/corelib_2/const_list_remove_range_test.dart
+++ b/tests/corelib_2/const_list_remove_range_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/const_list_set_range_test.dart b/tests/corelib_2/const_list_set_range_test.dart
index 9bba324..853ff78 100644
--- a/tests/corelib_2/const_list_set_range_test.dart
+++ b/tests/corelib_2/const_list_set_range_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/core_runtime_types_static_test.dart b/tests/corelib_2/core_runtime_types_static_test.dart
index 8bb96c2..3e84c72 100644
--- a/tests/corelib_2/core_runtime_types_static_test.dart
+++ b/tests/corelib_2/core_runtime_types_static_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.9
+
 import "package:expect/expect.dart";
 
 /**
diff --git a/tests/corelib_2/core_runtime_types_test.dart b/tests/corelib_2/core_runtime_types_test.dart
index 628bb22..28d73ad 100644
--- a/tests/corelib_2/core_runtime_types_test.dart
+++ b/tests/corelib_2/core_runtime_types_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.9
+
 import "package:expect/expect.dart";
 
 /**
diff --git a/tests/corelib_2/data_uri_test.dart b/tests/corelib_2/data_uri_test.dart
index 12837f5..4e194c1 100644
--- a/tests/corelib_2/data_uri_test.dart
+++ b/tests/corelib_2/data_uri_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.9
+
 import "package:expect/expect.dart";
 import "dart:convert";
 import "dart:typed_data";
diff --git a/tests/corelib_2/date_time10_test.dart b/tests/corelib_2/date_time10_test.dart
index 3d7d34e..cd3eb59 100644
--- a/tests/corelib_2/date_time10_test.dart
+++ b/tests/corelib_2/date_time10_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.9
+
 import "package:expect/expect.dart";
 
 // Make sure the years in the range of single digits are handled correctly with
diff --git a/tests/corelib_2/date_time11_test.dart b/tests/corelib_2/date_time11_test.dart
index 958bdb9..7039b1e 100644
--- a/tests/corelib_2/date_time11_test.dart
+++ b/tests/corelib_2/date_time11_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.9
+
 import "package:expect/expect.dart";
 
 // Make sure that date-times close to daylight savings work correctly.
diff --git a/tests/corelib_2/date_time2_test.dart b/tests/corelib_2/date_time2_test.dart
index 6a0bb87..e443b49 100644
--- a/tests/corelib_2/date_time2_test.dart
+++ b/tests/corelib_2/date_time2_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for DateTime's hashCode.
diff --git a/tests/corelib_2/date_time3_test.dart b/tests/corelib_2/date_time3_test.dart
index 557eede..63349cd 100644
--- a/tests/corelib_2/date_time3_test.dart
+++ b/tests/corelib_2/date_time3_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.9
+
 import "package:expect/expect.dart";
 
 // At some point dart was emitting a bad padding 0 for Dates where the ms were
diff --git a/tests/corelib_2/date_time4_test.dart b/tests/corelib_2/date_time4_test.dart
index 4342019..549f436 100644
--- a/tests/corelib_2/date_time4_test.dart
+++ b/tests/corelib_2/date_time4_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.9
+
 import "package:expect/expect.dart";
 
 // Test fromString with 6 digits after the decimal point.
diff --git a/tests/corelib_2/date_time5_test.dart b/tests/corelib_2/date_time5_test.dart
index abf893d..af54f5e 100644
--- a/tests/corelib_2/date_time5_test.dart
+++ b/tests/corelib_2/date_time5_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.9
+
 import "package:expect/expect.dart";
 
 // Test DateTime constructor with optional arguments.
diff --git a/tests/corelib_2/date_time6_test.dart b/tests/corelib_2/date_time6_test.dart
index c065705..896225d 100644
--- a/tests/corelib_2/date_time6_test.dart
+++ b/tests/corelib_2/date_time6_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.9
+
 import "package:expect/expect.dart";
 
 // Test DateTime comparison operators.
diff --git a/tests/corelib_2/date_time7_test.dart b/tests/corelib_2/date_time7_test.dart
index b14eb7d..3f062f7 100644
--- a/tests/corelib_2/date_time7_test.dart
+++ b/tests/corelib_2/date_time7_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.9
+
 import "package:expect/expect.dart";
 
 // Test DateTime timeZoneName and timeZoneOffset getters.
diff --git a/tests/corelib_2/date_time8_test.dart b/tests/corelib_2/date_time8_test.dart
index 85d573f..0603bc0 100644
--- a/tests/corelib_2/date_time8_test.dart
+++ b/tests/corelib_2/date_time8_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.9
+
 import "package:expect/expect.dart";
 
 // Make sure the year 0 is correctly printed.
diff --git a/tests/corelib_2/date_time9_test.dart b/tests/corelib_2/date_time9_test.dart
index 9475775..ed8bf1e 100644
--- a/tests/corelib_2/date_time9_test.dart
+++ b/tests/corelib_2/date_time9_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/date_time_extremes_test.dart b/tests/corelib_2/date_time_extremes_test.dart
index 05563d1..a81c4da 100644
--- a/tests/corelib_2/date_time_extremes_test.dart
+++ b/tests/corelib_2/date_time_extremes_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for DateTime, extreme values.
diff --git a/tests/corelib_2/date_time_far_away_dates_test.dart b/tests/corelib_2/date_time_far_away_dates_test.dart
index ba7104f..a22fe0f 100644
--- a/tests/corelib_2/date_time_far_away_dates_test.dart
+++ b/tests/corelib_2/date_time_far_away_dates_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for DateTime, far away dates.
diff --git a/tests/corelib_2/date_time_js_modified_test.dart b/tests/corelib_2/date_time_js_modified_test.dart
index 92f4b77..5053c35 100644
--- a/tests/corelib_2/date_time_js_modified_test.dart
+++ b/tests/corelib_2/date_time_js_modified_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.9
+
 import "package:expect/expect.dart";
 
 // The JavaScript Date constructor 'corrects' 2-digit years NN to 19NN.
diff --git a/tests/corelib_2/date_time_parse_test.dart b/tests/corelib_2/date_time_parse_test.dart
index 23b8b02..eb3d48c 100644
--- a/tests/corelib_2/date_time_parse_test.dart
+++ b/tests/corelib_2/date_time_parse_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.9
+
 import "package:expect/expect.dart";
 
 check(DateTime expected, String str) {
diff --git a/tests/corelib_2/date_time_test.dart b/tests/corelib_2/date_time_test.dart
index e782ca5..798fc3a 100644
--- a/tests/corelib_2/date_time_test.dart
+++ b/tests/corelib_2/date_time_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for DateTime.
diff --git a/tests/corelib_2/double_ceil2_test.dart b/tests/corelib_2/double_ceil2_test.dart
index 630554a..478edd0 100644
--- a/tests/corelib_2/double_ceil2_test.dart
+++ b/tests/corelib_2/double_ceil2_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_ceil_test.dart b/tests/corelib_2/double_ceil_test.dart
index f461bae..4199ea9 100644
--- a/tests/corelib_2/double_ceil_test.dart
+++ b/tests/corelib_2/double_ceil_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_ceil_to_double_test.dart b/tests/corelib_2/double_ceil_to_double_test.dart
index 856ead3..f1e4240 100644
--- a/tests/corelib_2/double_ceil_to_double_test.dart
+++ b/tests/corelib_2/double_ceil_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_compare_test.dart b/tests/corelib_2/double_compare_test.dart
index 0071cf0..475bea7 100644
--- a/tests/corelib_2/double_compare_test.dart
+++ b/tests/corelib_2/double_compare_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing 'compare' on doubles.
diff --git a/tests/corelib_2/double_floor2_test.dart b/tests/corelib_2/double_floor2_test.dart
index 95413e5..79e01ce 100644
--- a/tests/corelib_2/double_floor2_test.dart
+++ b/tests/corelib_2/double_floor2_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_floor_test.dart b/tests/corelib_2/double_floor_test.dart
index ba34daf..2bd1c9a 100644
--- a/tests/corelib_2/double_floor_test.dart
+++ b/tests/corelib_2/double_floor_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_floor_to_double_test.dart b/tests/corelib_2/double_floor_to_double_test.dart
index 8a42862..abd1c70 100644
--- a/tests/corelib_2/double_floor_to_double_test.dart
+++ b/tests/corelib_2/double_floor_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_hash_code_test.dart b/tests/corelib_2/double_hash_code_test.dart
index 8665e6b..ec5471e 100644
--- a/tests/corelib_2/double_hash_code_test.dart
+++ b/tests/corelib_2/double_hash_code_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.9
+
 // VMOptions=--intrinsify
 // VMOptions=--no_intrinsify
 
diff --git a/tests/corelib_2/double_parse_test.dart b/tests/corelib_2/double_parse_test.dart
index 7dc70e7..5827596 100644
--- a/tests/corelib_2/double_parse_test.dart
+++ b/tests/corelib_2/double_parse_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--no-use-field-guards
 // VMOptions=
 
+// @dart = 2.9
+
 import "dart:math" show pow;
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/double_round2_test.dart b/tests/corelib_2/double_round2_test.dart
index 3fd59b1..1ab9a37 100644
--- a/tests/corelib_2/double_round2_test.dart
+++ b/tests/corelib_2/double_round2_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round3_test.dart b/tests/corelib_2/double_round3_test.dart
index a1edeeb..eff16dd 100644
--- a/tests/corelib_2/double_round3_test.dart
+++ b/tests/corelib_2/double_round3_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round4_test.dart b/tests/corelib_2/double_round4_test.dart
index 2b89dcc..beab416 100644
--- a/tests/corelib_2/double_round4_test.dart
+++ b/tests/corelib_2/double_round4_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round_test.dart b/tests/corelib_2/double_round_test.dart
index f40dcd8..b975be7 100644
--- a/tests/corelib_2/double_round_test.dart
+++ b/tests/corelib_2/double_round_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round_to_double2_test.dart b/tests/corelib_2/double_round_to_double2_test.dart
index ef8024db..630fe2c 100644
--- a/tests/corelib_2/double_round_to_double2_test.dart
+++ b/tests/corelib_2/double_round_to_double2_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round_to_double3_test.dart b/tests/corelib_2/double_round_to_double3_test.dart
index c53ac81..b29840b 100644
--- a/tests/corelib_2/double_round_to_double3_test.dart
+++ b/tests/corelib_2/double_round_to_double3_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_round_to_double_test.dart b/tests/corelib_2/double_round_to_double_test.dart
index 16c162d..4111369 100644
--- a/tests/corelib_2/double_round_to_double_test.dart
+++ b/tests/corelib_2/double_round_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_truncate2_test.dart b/tests/corelib_2/double_truncate2_test.dart
index b4b33e8..11879ca 100644
--- a/tests/corelib_2/double_truncate2_test.dart
+++ b/tests/corelib_2/double_truncate2_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_truncate_test.dart b/tests/corelib_2/double_truncate_test.dart
index 4de6a79..221b8e5 100644
--- a/tests/corelib_2/double_truncate_test.dart
+++ b/tests/corelib_2/double_truncate_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_truncate_to_double_test.dart b/tests/corelib_2/double_truncate_to_double_test.dart
index 1efec34..dc725be 100644
--- a/tests/corelib_2/double_truncate_to_double_test.dart
+++ b/tests/corelib_2/double_truncate_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/double_try_parse_test.dart b/tests/corelib_2/double_try_parse_test.dart
index 11dba69..19cdd92 100644
--- a/tests/corelib_2/double_try_parse_test.dart
+++ b/tests/corelib_2/double_try_parse_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--no-use-field-guards
 // VMOptions=
 
+// @dart = 2.9
+
 import "dart:math" show pow;
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/duration_big_num_test.dart b/tests/corelib_2/duration_big_num_test.dart
index 154afb9..e4bb7a6 100644
--- a/tests/corelib_2/duration_big_num_test.dart
+++ b/tests/corelib_2/duration_big_num_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.9
+
 import "package:expect/expect.dart";
 import 'dart:math';
 
diff --git a/tests/corelib_2/duration_double_multiplication_test.dart b/tests/corelib_2/duration_double_multiplication_test.dart
index 415067c..fc631ff 100644
--- a/tests/corelib_2/duration_double_multiplication_test.dart
+++ b/tests/corelib_2/duration_double_multiplication_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/duration_test.dart b/tests/corelib_2/duration_test.dart
index 842f4b0..09a5141 100644
--- a/tests/corelib_2/duration_test.dart
+++ b/tests/corelib_2/duration_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/dynamic_nosuchmethod_test.dart b/tests/corelib_2/dynamic_nosuchmethod_test.dart
index 14fce84..78ba5bc 100644
--- a/tests/corelib_2/dynamic_nosuchmethod_test.dart
+++ b/tests/corelib_2/dynamic_nosuchmethod_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.9
+
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
diff --git a/tests/corelib_2/error_stack_trace1_test.dart b/tests/corelib_2/error_stack_trace1_test.dart
index 17adde7..792a386 100644
--- a/tests/corelib_2/error_stack_trace1_test.dart
+++ b/tests/corelib_2/error_stack_trace1_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/error_stack_trace2_test.dart b/tests/corelib_2/error_stack_trace2_test.dart
index 7437651..26aacbf 100644
--- a/tests/corelib_2/error_stack_trace2_test.dart
+++ b/tests/corelib_2/error_stack_trace2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/error_stack_trace_test.dart b/tests/corelib_2/error_stack_trace_test.dart
index 41f003e..3cd163b 100644
--- a/tests/corelib_2/error_stack_trace_test.dart
+++ b/tests/corelib_2/error_stack_trace_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.9
+
 import "package:expect/expect.dart";
 
 void argument() {
diff --git a/tests/corelib_2/errors_test.dart b/tests/corelib_2/errors_test.dart
index b96ffea..ed1a2b7 100644
--- a/tests/corelib_2/errors_test.dart
+++ b/tests/corelib_2/errors_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.9
+
 import "package:expect/expect.dart";
 
 // Test that error constructors do what they are documented as doing.
diff --git a/tests/corelib_2/exception_implementation_test.dart b/tests/corelib_2/exception_implementation_test.dart
index 0744f50..18190ca 100644
--- a/tests/corelib_2/exception_implementation_test.dart
+++ b/tests/corelib_2/exception_implementation_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.9
+
 library exception_implementation_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/expando_test.dart b/tests/corelib_2/expando_test.dart
index 95ae7db..07159d6 100644
--- a/tests/corelib_2/expando_test.dart
+++ b/tests/corelib_2/expando_test.dart
@@ -5,6 +5,8 @@
 // VMOptions=--enable-ffi=true
 // VMOptions=--enable-ffi=false
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ExpandoTest {
diff --git a/tests/corelib_2/expression_test.dart b/tests/corelib_2/expression_test.dart
index d0ba4c9..6d0dbb1 100644
--- a/tests/corelib_2/expression_test.dart
+++ b/tests/corelib_2/expression_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.9
+
 import "package:expect/expect.dart";
 
 // Tests basic expressions. Does not attempt to validate the details of arithmetic, coercion, and
diff --git a/tests/corelib_2/for_in_test.dart b/tests/corelib_2/for_in_test.dart
index 35d1a86..e2cf56f 100644
--- a/tests/corelib_2/for_in_test.dart
+++ b/tests/corelib_2/for_in_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.9
+
 import "package:expect/expect.dart";
 
 class ForInTest {
diff --git a/tests/corelib_2/format_exception_test.dart b/tests/corelib_2/format_exception_test.dart
index a2e89e6..028cddb 100644
--- a/tests/corelib_2/format_exception_test.dart
+++ b/tests/corelib_2/format_exception_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.9
+
 library format_exception_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/from_environment_const_type_test.dart b/tests/corelib_2/from_environment_const_type_test.dart
index 3ed691c..8ba03a7 100644
--- a/tests/corelib_2/from_environment_const_type_test.dart
+++ b/tests/corelib_2/from_environment_const_type_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=true -Db=false -Dc=3 -Dd=STRING
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Foo {}
diff --git a/tests/corelib_2/from_environment_const_type_undefined_test.dart b/tests/corelib_2/from_environment_const_type_undefined_test.dart
index d63d75f..c71e846 100644
--- a/tests/corelib_2/from_environment_const_type_undefined_test.dart
+++ b/tests/corelib_2/from_environment_const_type_undefined_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {}
diff --git a/tests/corelib_2/from_environment_default_value_test.dart b/tests/corelib_2/from_environment_default_value_test.dart
index c95d000..972b24a 100644
--- a/tests/corelib_2/from_environment_default_value_test.dart
+++ b/tests/corelib_2/from_environment_default_value_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/growable_list_test.dart b/tests/corelib_2/growable_list_test.dart
index cea1446..c2f107e 100644
--- a/tests/corelib_2/growable_list_test.dart
+++ b/tests/corelib_2/growable_list_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.9
+
 // Sanity check on the growing behavior of a growable list.
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/has_next_iterator_test.dart b/tests/corelib_2/has_next_iterator_test.dart
index 7930cd6..553cbbd 100644
--- a/tests/corelib_2/has_next_iterator_test.dart
+++ b/tests/corelib_2/has_next_iterator_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.9
+
 library hasNextIterator.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/hash_map2_test.dart b/tests/corelib_2/hash_map2_test.dart
index 762876e..4c00f7d 100644
--- a/tests/corelib_2/hash_map2_test.dart
+++ b/tests/corelib_2/hash_map2_test.dart
@@ -5,6 +5,8 @@
 // VMOptions=
 // VMOptions=--use_internal_hash_map
 
+// @dart = 2.9
+
 // Tests of hash map behavior, with focus in iteration and concurrent
 // modification errors.
 
diff --git a/tests/corelib_2/hash_map_test.dart b/tests/corelib_2/hash_map_test.dart
index 4bd6d62..649907d 100644
--- a/tests/corelib_2/hash_map_test.dart
+++ b/tests/corelib_2/hash_map_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.9
+
 import "package:expect/expect.dart";
 
 // Test program for the HashMap class.
diff --git a/tests/corelib_2/hash_set_test.dart b/tests/corelib_2/hash_set_test.dart
index 2dfe6bb..511dd50 100644
--- a/tests/corelib_2/hash_set_test.dart
+++ b/tests/corelib_2/hash_set_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=
 
+// @dart = 2.9
+
 // Tests of hash set behavior, with focus in iteration and concurrent
 // modification errors.
 
diff --git a/tests/corelib_2/hash_set_type_check_test.dart b/tests/corelib_2/hash_set_type_check_test.dart
index e51c88d..1b39409 100644
--- a/tests/corelib_2/hash_set_type_check_test.dart
+++ b/tests/corelib_2/hash_set_type_check_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.9
+
 // Tests of hash set type checking.
 
 library hash_set_type_check_test;
diff --git a/tests/corelib_2/hashcode_boxed_test.dart b/tests/corelib_2/hashcode_boxed_test.dart
index e23c75a..b4b52c8 100644
--- a/tests/corelib_2/hashcode_boxed_test.dart
+++ b/tests/corelib_2/hashcode_boxed_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.9
+
 import "package:expect/expect.dart";
 
 double fib(double n) {
diff --git a/tests/corelib_2/hashcode_test.dart b/tests/corelib_2/hashcode_test.dart
index 840df02..b818ae1 100644
--- a/tests/corelib_2/hashcode_test.dart
+++ b/tests/corelib_2/hashcode_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.9
+
 import "package:expect/expect.dart";
 
 class Override {
diff --git a/tests/corelib_2/hidden_library2_test.dart b/tests/corelib_2/hidden_library2_test.dart
index 637cd94..68770c7 100644
--- a/tests/corelib_2/hidden_library2_test.dart
+++ b/tests/corelib_2/hidden_library2_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.9
+
 // Test that the internal hidden library doesn't make problems with taking
 // stack-traces.
 
diff --git a/tests/corelib_2/int_ceil_test.dart b/tests/corelib_2/int_ceil_test.dart
index 731e15a..b42d280 100644
--- a/tests/corelib_2/int_ceil_test.dart
+++ b/tests/corelib_2/int_ceil_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_ceil_to_double_test.dart b/tests/corelib_2/int_ceil_to_double_test.dart
index 0a35acb..1c189b6 100644
--- a/tests/corelib_2/int_ceil_to_double_test.dart
+++ b/tests/corelib_2/int_ceil_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_floor_test.dart b/tests/corelib_2/int_floor_test.dart
index e85d5df..ca00b9c 100644
--- a/tests/corelib_2/int_floor_test.dart
+++ b/tests/corelib_2/int_floor_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_floor_to_double_test.dart b/tests/corelib_2/int_floor_to_double_test.dart
index 659b295..27f797a 100644
--- a/tests/corelib_2/int_floor_to_double_test.dart
+++ b/tests/corelib_2/int_floor_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_from_environment2_test.dart b/tests/corelib_2/int_from_environment2_test.dart
index 1028056..5284b22 100644
--- a/tests/corelib_2/int_from_environment2_test.dart
+++ b/tests/corelib_2/int_from_environment2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=x -Db=- -Dc=0xg -Dd=+ -Dd=
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/int_from_environment_int64_test.dart b/tests/corelib_2/int_from_environment_int64_test.dart
index b734556..a00fd8c 100644
--- a/tests/corelib_2/int_from_environment_int64_test.dart
+++ b/tests/corelib_2/int_from_environment_int64_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Df=-9223372036854775808 -Dg=9223372036854775807
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/int_from_environment_test.dart b/tests/corelib_2/int_from_environment_test.dart
index 2e6d28e..77f6d6a 100644
--- a/tests/corelib_2/int_from_environment_test.dart
+++ b/tests/corelib_2/int_from_environment_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=1 -Db=-12 -Dc=0x123 -Dd=-0x1234 -De=+0x112296 -Df=-9007199254740991 -Dg=9007199254740991 -Dh=-0x8000000000000000 -Di=0x8000000000000000 -Dj=0xDEADBEEFCAFE0000
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/int_modpow_hard_test.dart b/tests/corelib_2/int_modpow_hard_test.dart
index 0024c9a..98ad0c6 100644
--- a/tests/corelib_2/int_modpow_hard_test.dart
+++ b/tests/corelib_2/int_modpow_hard_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.9
+
 // Extreme values from int_modulo_arith_test. Test cases that that have
 // intermediate values that overflow the precision of 'int'.
 
diff --git a/tests/corelib_2/int_modulo_arith_test.dart b/tests/corelib_2/int_modulo_arith_test.dart
index 4b347cc..ffaa981 100644
--- a/tests/corelib_2/int_modulo_arith_test.dart
+++ b/tests/corelib_2/int_modulo_arith_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.9
+
 import "package:expect/expect.dart";
 
 import "dart:math" show pow;
diff --git a/tests/corelib_2/int_parse_radix_bad_handler_test.dart b/tests/corelib_2/int_parse_radix_bad_handler_test.dart
index 2c3b2be..c5de1ea 100644
--- a/tests/corelib_2/int_parse_radix_bad_handler_test.dart
+++ b/tests/corelib_2/int_parse_radix_bad_handler_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/int_parse_radix_int64_test.dart b/tests/corelib_2/int_parse_radix_int64_test.dart
index 7a6fe18..2ad942e 100644
--- a/tests/corelib_2/int_parse_radix_int64_test.dart
+++ b/tests/corelib_2/int_parse_radix_int64_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.9
+
 import "package:expect/expect.dart";
 import "dart:math" show pow, log;
 
diff --git a/tests/corelib_2/int_parse_radix_test.dart b/tests/corelib_2/int_parse_radix_test.dart
index d7ca92a..f53f834 100644
--- a/tests/corelib_2/int_parse_radix_test.dart
+++ b/tests/corelib_2/int_parse_radix_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.9
+
 import "package:expect/expect.dart";
 import "dart:math" show pow, log;
 
diff --git a/tests/corelib_2/int_parse_with_limited_ints_test.dart b/tests/corelib_2/int_parse_with_limited_ints_test.dart
index 19198b2..48246d3 100644
--- a/tests/corelib_2/int_parse_with_limited_ints_test.dart
+++ b/tests/corelib_2/int_parse_with_limited_ints_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.9
+
 // Test for int.parse with limited 64-bit integers.
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/int_round_test.dart b/tests/corelib_2/int_round_test.dart
index 3e9a8ae..8b3b258 100644
--- a/tests/corelib_2/int_round_test.dart
+++ b/tests/corelib_2/int_round_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_round_to_double_test.dart b/tests/corelib_2/int_round_to_double_test.dart
index b49cd94..a6b0fd9 100644
--- a/tests/corelib_2/int_round_to_double_test.dart
+++ b/tests/corelib_2/int_round_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_to_int_test.dart b/tests/corelib_2/int_to_int_test.dart
index 065d357..ff0cbf2 100644
--- a/tests/corelib_2/int_to_int_test.dart
+++ b/tests/corelib_2/int_to_int_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_truncate_test.dart b/tests/corelib_2/int_truncate_test.dart
index f26a856..02eb2e7 100644
--- a/tests/corelib_2/int_truncate_test.dart
+++ b/tests/corelib_2/int_truncate_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_truncate_to_double_test.dart b/tests/corelib_2/int_truncate_to_double_test.dart
index 20b27d3..ef3f104 100644
--- a/tests/corelib_2/int_truncate_to_double_test.dart
+++ b/tests/corelib_2/int_truncate_to_double_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/int_try_parse_int64_test.dart b/tests/corelib_2/int_try_parse_int64_test.dart
index 419da75..f90794b 100644
--- a/tests/corelib_2/int_try_parse_int64_test.dart
+++ b/tests/corelib_2/int_try_parse_int64_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.9
+
 import "package:expect/expect.dart";
 import "dart:math" show pow, log;
 
diff --git a/tests/corelib_2/int_try_parse_test.dart b/tests/corelib_2/int_try_parse_test.dart
index 282cee52..0705314 100644
--- a/tests/corelib_2/int_try_parse_test.dart
+++ b/tests/corelib_2/int_try_parse_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.9
+
 import "package:expect/expect.dart";
 import "dart:math" show pow, log;
 
diff --git a/tests/corelib_2/integer_arith_vm_test.dart b/tests/corelib_2/integer_arith_vm_test.dart
index fcd3e9e..d0748c12 100644
--- a/tests/corelib_2/integer_arith_vm_test.dart
+++ b/tests/corelib_2/integer_arith_vm_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.9
+
 // Testing integers with and without intrinsics.
 // VMOptions=
 // VMOptions=--no_intrinsify
diff --git a/tests/corelib_2/integer_parsed_arith_vm_test.dart b/tests/corelib_2/integer_parsed_arith_vm_test.dart
index 0ccc6bd..9e19f0c 100644
--- a/tests/corelib_2/integer_parsed_arith_vm_test.dart
+++ b/tests/corelib_2/integer_parsed_arith_vm_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.9
+
 // Testing integers with and without intrinsics.
 // VMOptions=
 // VMOptions=--no_intrinsify
diff --git a/tests/corelib_2/integer_parsed_div_rem_vm_test.dart b/tests/corelib_2/integer_parsed_div_rem_vm_test.dart
index 4ed1b66..d6c1e11 100644
--- a/tests/corelib_2/integer_parsed_div_rem_vm_test.dart
+++ b/tests/corelib_2/integer_parsed_div_rem_vm_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.9
+
 // Testing integers with and without intrinsics.
 // VMOptions=
 // VMOptions=--no_intrinsify
diff --git a/tests/corelib_2/integer_parsed_mul_div_vm_test.dart b/tests/corelib_2/integer_parsed_mul_div_vm_test.dart
index d2316e7..2eaa655 100644
--- a/tests/corelib_2/integer_parsed_mul_div_vm_test.dart
+++ b/tests/corelib_2/integer_parsed_mul_div_vm_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.9
+
 // Testing integers with and without intrinsics.
 // VMOptions=
 // VMOptions=--no_intrinsify
diff --git a/tests/corelib_2/integer_to_radix_string_test.dart b/tests/corelib_2/integer_to_radix_string_test.dart
index bfe726c..908b161 100644
--- a/tests/corelib_2/integer_to_radix_string_test.dart
+++ b/tests/corelib_2/integer_to_radix_string_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/integer_to_string_test.dart b/tests/corelib_2/integer_to_string_test.dart
index c23e8bb..b33eb9d 100644
--- a/tests/corelib_2/integer_to_string_test.dart
+++ b/tests/corelib_2/integer_to_string_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/invocation_test.dart b/tests/corelib_2/invocation_test.dart
index 286f12f..3493398 100644
--- a/tests/corelib_2/invocation_test.dart
+++ b/tests/corelib_2/invocation_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.9
+
 import "package:expect/expect.dart";
 
 // Tests the constructors of the Invocation class.
diff --git a/tests/corelib_2/is_operator_basic_types_test.dart b/tests/corelib_2/is_operator_basic_types_test.dart
index 772afb2..df7ce05 100644
--- a/tests/corelib_2/is_operator_basic_types_test.dart
+++ b/tests/corelib_2/is_operator_basic_types_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for the "is" type test operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 check(args) {
diff --git a/tests/corelib_2/iterable_contains2_test.dart b/tests/corelib_2/iterable_contains2_test.dart
index d4714c7..febbb31 100644
--- a/tests/corelib_2/iterable_contains2_test.dart
+++ b/tests/corelib_2/iterable_contains2_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.9
+
 import "package:expect/expect.dart";
 
 // Tests for the contains methods on lists.
diff --git a/tests/corelib_2/iterable_contains_test.dart b/tests/corelib_2/iterable_contains_test.dart
index 0dce468..353940f 100644
--- a/tests/corelib_2/iterable_contains_test.dart
+++ b/tests/corelib_2/iterable_contains_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.9
+
 import "package:expect/expect.dart";
 
 // Tests for the contains methods on lists.
diff --git a/tests/corelib_2/iterable_element_at_test.dart b/tests/corelib_2/iterable_element_at_test.dart
index d895686..8ea5ed4 100644
--- a/tests/corelib_2/iterable_element_at_test.dart
+++ b/tests/corelib_2/iterable_element_at_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_empty_test.dart b/tests/corelib_2/iterable_empty_test.dart
index 7d26088..c942bfe 100644
--- a/tests/corelib_2/iterable_empty_test.dart
+++ b/tests/corelib_2/iterable_empty_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_expand_test.dart b/tests/corelib_2/iterable_expand_test.dart
index a02787a..ed918a7 100644
--- a/tests/corelib_2/iterable_expand_test.dart
+++ b/tests/corelib_2/iterable_expand_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/iterable_first_test.dart b/tests/corelib_2/iterable_first_test.dart
index 40e53c2..2e32935 100644
--- a/tests/corelib_2/iterable_first_test.dart
+++ b/tests/corelib_2/iterable_first_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_first_where_test.dart b/tests/corelib_2/iterable_first_where_test.dart
index ce3f53f..3b17df4 100644
--- a/tests/corelib_2/iterable_first_where_test.dart
+++ b/tests/corelib_2/iterable_first_where_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/iterable_fold_test.dart b/tests/corelib_2/iterable_fold_test.dart
index b531ccc..05843b1 100644
--- a/tests/corelib_2/iterable_fold_test.dart
+++ b/tests/corelib_2/iterable_fold_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 import 'dart:typed_data';
diff --git a/tests/corelib_2/iterable_followed_by_test.dart b/tests/corelib_2/iterable_followed_by_test.dart
index 5edf0e3..4a56e2d 100644
--- a/tests/corelib_2/iterable_followed_by_test.dart
+++ b/tests/corelib_2/iterable_followed_by_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.9
+
 import "dart:collection" show Queue;
 import "dart:typed_data" show Int32List;
 
diff --git a/tests/corelib_2/iterable_generate_test.dart b/tests/corelib_2/iterable_generate_test.dart
index 201c2e4..d541d04 100644
--- a/tests/corelib_2/iterable_generate_test.dart
+++ b/tests/corelib_2/iterable_generate_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_join_test.dart b/tests/corelib_2/iterable_join_test.dart
index d9f325a..67e41cb 100644
--- a/tests/corelib_2/iterable_join_test.dart
+++ b/tests/corelib_2/iterable_join_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.9
+
 import "package:expect/expect.dart";
 
 class IC {
diff --git a/tests/corelib_2/iterable_last_test.dart b/tests/corelib_2/iterable_last_test.dart
index 356d8b6..ae37beb 100644
--- a/tests/corelib_2/iterable_last_test.dart
+++ b/tests/corelib_2/iterable_last_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_last_where_test.dart b/tests/corelib_2/iterable_last_where_test.dart
index 9b60d6b..fd96e81 100644
--- a/tests/corelib_2/iterable_last_where_test.dart
+++ b/tests/corelib_2/iterable_last_where_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/iterable_length_test.dart b/tests/corelib_2/iterable_length_test.dart
index 20c9663..692a4f5 100644
--- a/tests/corelib_2/iterable_length_test.dart
+++ b/tests/corelib_2/iterable_length_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/iterable_mapping_test.dart b/tests/corelib_2/iterable_mapping_test.dart
index 4f06c2c..5c6f300 100644
--- a/tests/corelib_2/iterable_mapping_test.dart
+++ b/tests/corelib_2/iterable_mapping_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_reduce_test.dart b/tests/corelib_2/iterable_reduce_test.dart
index 6ee66d0..87ee2d7 100644
--- a/tests/corelib_2/iterable_reduce_test.dart
+++ b/tests/corelib_2/iterable_reduce_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 import 'dart:typed_data';
diff --git a/tests/corelib_2/iterable_return_type_helper.dart b/tests/corelib_2/iterable_return_type_helper.dart
index a5ff565..29c133af 100644
--- a/tests/corelib_2/iterable_return_type_helper.dart
+++ b/tests/corelib_2/iterable_return_type_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.9
+
 import "package:expect/expect.dart";
 
 testIntIterable(iterable) {
diff --git a/tests/corelib_2/iterable_return_type_int64_test.dart b/tests/corelib_2/iterable_return_type_int64_test.dart
index 1279a25..0087c47 100644
--- a/tests/corelib_2/iterable_return_type_int64_test.dart
+++ b/tests/corelib_2/iterable_return_type_int64_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.9
+
 // Separate test for int64 support to be skipped on the web.
 
 import 'iterable_return_type_helper.dart';
diff --git a/tests/corelib_2/iterable_return_type_test.dart b/tests/corelib_2/iterable_return_type_test.dart
index 148f8fd..08f40e6 100644
--- a/tests/corelib_2/iterable_return_type_test.dart
+++ b/tests/corelib_2/iterable_return_type_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.9
+
 // Regression test for dart2js where [List.addAll] was not typed
 // correctly.
 
diff --git a/tests/corelib_2/iterable_single_test.dart b/tests/corelib_2/iterable_single_test.dart
index d0f5d3a..bee92bb 100644
--- a/tests/corelib_2/iterable_single_test.dart
+++ b/tests/corelib_2/iterable_single_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_single_where_test.dart b/tests/corelib_2/iterable_single_where_test.dart
index 9ecbe05..0acd2c4 100644
--- a/tests/corelib_2/iterable_single_where_test.dart
+++ b/tests/corelib_2/iterable_single_where_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/corelib_2/iterable_skip_test.dart b/tests/corelib_2/iterable_skip_test.dart
index 06fb801..c7a486d 100644
--- a/tests/corelib_2/iterable_skip_test.dart
+++ b/tests/corelib_2/iterable_skip_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_skip_while_test.dart b/tests/corelib_2/iterable_skip_while_test.dart
index d372122..b8d26a8 100644
--- a/tests/corelib_2/iterable_skip_while_test.dart
+++ b/tests/corelib_2/iterable_skip_while_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_take_test.dart b/tests/corelib_2/iterable_take_test.dart
index 826f6f5..34a2f28 100644
--- a/tests/corelib_2/iterable_take_test.dart
+++ b/tests/corelib_2/iterable_take_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_take_while_test.dart b/tests/corelib_2/iterable_take_while_test.dart
index 1e9b5f9..38d133d 100644
--- a/tests/corelib_2/iterable_take_while_test.dart
+++ b/tests/corelib_2/iterable_take_while_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_test.dart b/tests/corelib_2/iterable_test.dart
index e7f6299..827354d 100644
--- a/tests/corelib_2/iterable_test.dart
+++ b/tests/corelib_2/iterable_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.9
+
 // Regression test for dart2js where [List.addAll] was not typed
 // correctly.
 
diff --git a/tests/corelib_2/iterable_to_list_test.dart b/tests/corelib_2/iterable_to_list_test.dart
index 4ceb6c8..e8316a5 100644
--- a/tests/corelib_2/iterable_to_list_test.dart
+++ b/tests/corelib_2/iterable_to_list_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.9
+
 import "dart:collection" show Queue;
 import "dart:typed_data" show Uint8List, Float32List;
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/iterable_to_set_test.dart b/tests/corelib_2/iterable_to_set_test.dart
index e04d49b..f44eb21 100644
--- a/tests/corelib_2/iterable_to_set_test.dart
+++ b/tests/corelib_2/iterable_to_set_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/iterable_tostring_test.dart b/tests/corelib_2/iterable_tostring_test.dart
index bb22097..bb85a1e 100644
--- a/tests/corelib_2/iterable_tostring_test.dart
+++ b/tests/corelib_2/iterable_tostring_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.9
+
 // Test the IterableBase/IterableMixin toString method.
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/iterable_where_type_test.dart b/tests/corelib_2/iterable_where_type_test.dart
index 8715149..e9d7e23 100644
--- a/tests/corelib_2/iterable_where_type_test.dart
+++ b/tests/corelib_2/iterable_where_type_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.9
+
 import "dart:collection" show Queue;
 import "dart:typed_data" show Int32List;
 
diff --git a/tests/corelib_2/json_map_test.dart b/tests/corelib_2/json_map_test.dart
index d5d417f..d2e2723 100644
--- a/tests/corelib_2/json_map_test.dart
+++ b/tests/corelib_2/json_map_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.9
+
 library json_map_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/linked_hash_map_from_iterable_test.dart b/tests/corelib_2/linked_hash_map_from_iterable_test.dart
index ed348e7..ae46abc 100644
--- a/tests/corelib_2/linked_hash_map_from_iterable_test.dart
+++ b/tests/corelib_2/linked_hash_map_from_iterable_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/linked_hash_map_from_iterables_test.dart b/tests/corelib_2/linked_hash_map_from_iterables_test.dart
index a63b206..4c7cb84 100644
--- a/tests/corelib_2/linked_hash_map_from_iterables_test.dart
+++ b/tests/corelib_2/linked_hash_map_from_iterables_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/linked_hash_map_test.dart b/tests/corelib_2/linked_hash_map_test.dart
index 166bc28..5fb561f 100644
--- a/tests/corelib_2/linked_hash_map_test.dart
+++ b/tests/corelib_2/linked_hash_map_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.9
+
 // Dart test for linked hash-maps.
 library linkedHashMap.test;
 
diff --git a/tests/corelib_2/list_as_map_test.dart b/tests/corelib_2/list_as_map_test.dart
index fcbd12e..0d24638 100644
--- a/tests/corelib_2/list_as_map_test.dart
+++ b/tests/corelib_2/list_as_map_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.9
+
 import "package:expect/expect.dart";
 
 void testListMapCorrespondence(List list, Map map) {
diff --git a/tests/corelib_2/list_concurrent_modify_self_test.dart b/tests/corelib_2/list_concurrent_modify_self_test.dart
index cb481b7..25e20e9 100644
--- a/tests/corelib_2/list_concurrent_modify_self_test.dart
+++ b/tests/corelib_2/list_concurrent_modify_self_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.9
+
 import "dart:collection";
 import "dart:typed_data";
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/list_concurrent_modify_test.dart b/tests/corelib_2/list_concurrent_modify_test.dart
index b3fcb17..1642f73 100644
--- a/tests/corelib_2/list_concurrent_modify_test.dart
+++ b/tests/corelib_2/list_concurrent_modify_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.9
+
 import "dart:collection";
 import "dart:typed_data";
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/list_contains_argument_order_test.dart b/tests/corelib_2/list_contains_argument_order_test.dart
index 6f3d09e..5ee3d76 100644
--- a/tests/corelib_2/list_contains_argument_order_test.dart
+++ b/tests/corelib_2/list_contains_argument_order_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/list_copy_range_test.dart b/tests/corelib_2/list_copy_range_test.dart
index 009f445..9c1f8d1 100644
--- a/tests/corelib_2/list_copy_range_test.dart
+++ b/tests/corelib_2/list_copy_range_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.9
+
 import "dart:typed_data";
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/list_fill_range_test.dart b/tests/corelib_2/list_fill_range_test.dart
index 2f8fa03..36dc8e3 100644
--- a/tests/corelib_2/list_fill_range_test.dart
+++ b/tests/corelib_2/list_fill_range_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/list_filled_type_argument_test.dart b/tests/corelib_2/list_filled_type_argument_test.dart
index 1c3aff4..2a60fa3 100644
--- a/tests/corelib_2/list_filled_type_argument_test.dart
+++ b/tests/corelib_2/list_filled_type_argument_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_first_test.dart b/tests/corelib_2/list_first_test.dart
index 70bdc03..193a0cf 100644
--- a/tests/corelib_2/list_first_test.dart
+++ b/tests/corelib_2/list_first_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.9
+
 import "package:expect/expect.dart";
 
 void test(List list) {
diff --git a/tests/corelib_2/list_fixed_test.dart b/tests/corelib_2/list_fixed_test.dart
index 06193c5..7774f36 100644
--- a/tests/corelib_2/list_fixed_test.dart
+++ b/tests/corelib_2/list_fixed_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_for_each_test.dart b/tests/corelib_2/list_for_each_test.dart
index b59a2d7..23dcd71 100644
--- a/tests/corelib_2/list_for_each_test.dart
+++ b/tests/corelib_2/list_for_each_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/list_get_range_test.dart b/tests/corelib_2/list_get_range_test.dart
index 5d996e3..291fd9f 100644
--- a/tests/corelib_2/list_get_range_test.dart
+++ b/tests/corelib_2/list_get_range_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.9
+
 import "package:expect/expect.dart";
 
 testGetRange(list, start, end, bool isModifiable) {
diff --git a/tests/corelib_2/list_growable_test.dart b/tests/corelib_2/list_growable_test.dart
index 476dd47..1738561 100644
--- a/tests/corelib_2/list_growable_test.dart
+++ b/tests/corelib_2/list_growable_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_index_of_test.dart b/tests/corelib_2/list_index_of_test.dart
index ebb2731..d0f1a66 100644
--- a/tests/corelib_2/list_index_of_test.dart
+++ b/tests/corelib_2/list_index_of_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_insert_all_test.dart b/tests/corelib_2/list_insert_all_test.dart
index d089dc8..854ab20 100644
--- a/tests/corelib_2/list_insert_all_test.dart
+++ b/tests/corelib_2/list_insert_all_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/list_insert_test.dart b/tests/corelib_2/list_insert_test.dart
index cd29c4e..3b6690d 100644
--- a/tests/corelib_2/list_insert_test.dart
+++ b/tests/corelib_2/list_insert_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.9
+
 import 'package:expect/expect.dart';
 import 'dart:collection';
 
diff --git a/tests/corelib_2/list_iterators_test.dart b/tests/corelib_2/list_iterators_test.dart
index 092082e..c31f3ac 100644
--- a/tests/corelib_2/list_iterators_test.dart
+++ b/tests/corelib_2/list_iterators_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.9
+
 import "package:expect/expect.dart";
 
 class ListIteratorsTest {
diff --git a/tests/corelib_2/list_last_test.dart b/tests/corelib_2/list_last_test.dart
index 3f93ac6..3c86628 100644
--- a/tests/corelib_2/list_last_test.dart
+++ b/tests/corelib_2/list_last_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.9
+
 import "package:expect/expect.dart";
 
 void test(List list) {
diff --git a/tests/corelib_2/list_literal_is_growable_test.dart b/tests/corelib_2/list_literal_is_growable_test.dart
index 061a72d..4030756 100644
--- a/tests/corelib_2/list_literal_is_growable_test.dart
+++ b/tests/corelib_2/list_literal_is_growable_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_literal_test.dart b/tests/corelib_2/list_literal_test.dart
index abc38c1..fe7439b 100644
--- a/tests/corelib_2/list_literal_test.dart
+++ b/tests/corelib_2/list_literal_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a list literal is expandable and modifiable.
diff --git a/tests/corelib_2/list_map_test.dart b/tests/corelib_2/list_map_test.dart
index c62ec5d..a59fa53 100644
--- a/tests/corelib_2/list_map_test.dart
+++ b/tests/corelib_2/list_map_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_remove_range_test.dart b/tests/corelib_2/list_remove_range_test.dart
index 6cfd9e5..fa5c271 100644
--- a/tests/corelib_2/list_remove_range_test.dart
+++ b/tests/corelib_2/list_remove_range_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_removeat_test.dart b/tests/corelib_2/list_removeat_test.dart
index 6fedda8..c39113f 100644
--- a/tests/corelib_2/list_removeat_test.dart
+++ b/tests/corelib_2/list_removeat_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/list_replace_range_test.dart b/tests/corelib_2/list_replace_range_test.dart
index 964ed44..2c4e398 100644
--- a/tests/corelib_2/list_replace_range_test.dart
+++ b/tests/corelib_2/list_replace_range_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/list_reversed_test.dart b/tests/corelib_2/list_reversed_test.dart
index 1be8d99..cbd21c3 100644
--- a/tests/corelib_2/list_reversed_test.dart
+++ b/tests/corelib_2/list_reversed_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_set_all_test.dart b/tests/corelib_2/list_set_all_test.dart
index 85f2081..0b4b475 100644
--- a/tests/corelib_2/list_set_all_test.dart
+++ b/tests/corelib_2/list_set_all_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/list_set_range_test.dart b/tests/corelib_2/list_set_range_test.dart
index 3c783ec..a8bf7e8 100644
--- a/tests/corelib_2/list_set_range_test.dart
+++ b/tests/corelib_2/list_set_range_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_sort_test.dart b/tests/corelib_2/list_sort_test.dart
index d251e23..629c24c 100644
--- a/tests/corelib_2/list_sort_test.dart
+++ b/tests/corelib_2/list_sort_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.9
+
 library list_sort_test;
 
 import 'sort_helper.dart';
diff --git a/tests/corelib_2/list_sublist_test.dart b/tests/corelib_2/list_sublist_test.dart
index 610501f..8fbd5d1 100644
--- a/tests/corelib_2/list_sublist_test.dart
+++ b/tests/corelib_2/list_sublist_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_test.dart b/tests/corelib_2/list_test.dart
index 8192773..2bc7657 100644
--- a/tests/corelib_2/list_test.dart
+++ b/tests/corelib_2/list_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.9
+
 import "dart:collection";
 import "dart:typed_data";
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/list_to_string2_test.dart b/tests/corelib_2/list_to_string2_test.dart
index d46e9d5..65292ac 100644
--- a/tests/corelib_2/list_to_string2_test.dart
+++ b/tests/corelib_2/list_to_string2_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/list_to_string_test.dart b/tests/corelib_2/list_to_string_test.dart
index fed5277..9abbbb8 100644
--- a/tests/corelib_2/list_to_string_test.dart
+++ b/tests/corelib_2/list_to_string_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/list_unmodifiable_cast_test.dart b/tests/corelib_2/list_unmodifiable_cast_test.dart
index 7b5a3bc..8defd25 100644
--- a/tests/corelib_2/list_unmodifiable_cast_test.dart
+++ b/tests/corelib_2/list_unmodifiable_cast_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.9
+
 library list_unmodifiable_cast_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/list_unmodifiable_test.dart b/tests/corelib_2/list_unmodifiable_test.dart
index a57dd349..98609b9 100644
--- a/tests/corelib_2/list_unmodifiable_test.dart
+++ b/tests/corelib_2/list_unmodifiable_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 import "dart:typed_data";
diff --git a/tests/corelib_2/list_write_elements_test.dart b/tests/corelib_2/list_write_elements_test.dart
index 3f382ce..f850375c 100644
--- a/tests/corelib_2/list_write_elements_test.dart
+++ b/tests/corelib_2/list_write_elements_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.9
+
 import "dart:typed_data";
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/local_date_time_test.dart b/tests/corelib_2/local_date_time_test.dart
index bfa717b..95b8ec1 100644
--- a/tests/corelib_2/local_date_time_test.dart
+++ b/tests/corelib_2/local_date_time_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that local DateTime constructor works correctly around
diff --git a/tests/corelib_2/main_test.dart b/tests/corelib_2/main_test.dart
index 024e91f..ee75e4e 100644
--- a/tests/corelib_2/main_test.dart
+++ b/tests/corelib_2/main_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.9
+
 library main_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/map_contains_key_test.dart b/tests/corelib_2/map_contains_key_test.dart
index d597a99..182840e 100644
--- a/tests/corelib_2/map_contains_key_test.dart
+++ b/tests/corelib_2/map_contains_key_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/map_contains_value_test.dart b/tests/corelib_2/map_contains_value_test.dart
index 7837417..dc9ad1d 100644
--- a/tests/corelib_2/map_contains_value_test.dart
+++ b/tests/corelib_2/map_contains_value_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/map_entry_test.dart b/tests/corelib_2/map_entry_test.dart
index 98628d2..fccd622 100644
--- a/tests/corelib_2/map_entry_test.dart
+++ b/tests/corelib_2/map_entry_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 import 'dart:convert' show json;
diff --git a/tests/corelib_2/map_from_entries_test.dart b/tests/corelib_2/map_from_entries_test.dart
index ef114a7..9ec32e3 100644
--- a/tests/corelib_2/map_from_entries_test.dart
+++ b/tests/corelib_2/map_from_entries_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.9
+
 import 'dart:collection';
 
 import 'package:expect/expect.dart';
diff --git a/tests/corelib_2/map_from_iterable_test.dart b/tests/corelib_2/map_from_iterable_test.dart
index b4e7571..06825aa 100644
--- a/tests/corelib_2/map_from_iterable_test.dart
+++ b/tests/corelib_2/map_from_iterable_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/map_from_iterables_test.dart b/tests/corelib_2/map_from_iterables_test.dart
index 73958c5..99ab8cc 100644
--- a/tests/corelib_2/map_from_iterables_test.dart
+++ b/tests/corelib_2/map_from_iterables_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/map_from_test.dart b/tests/corelib_2/map_from_test.dart
index 0cff956..ca42257 100644
--- a/tests/corelib_2/map_from_test.dart
+++ b/tests/corelib_2/map_from_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.9
+
 library map.from.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/map_index_test.dart b/tests/corelib_2/map_index_test.dart
index 05387a4..1bfe7da 100644
--- a/tests/corelib_2/map_index_test.dart
+++ b/tests/corelib_2/map_index_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/map_keys2_test.dart b/tests/corelib_2/map_keys2_test.dart
index ddc7431..b813d7d 100644
--- a/tests/corelib_2/map_keys2_test.dart
+++ b/tests/corelib_2/map_keys2_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/map_keys_test.dart b/tests/corelib_2/map_keys_test.dart
index d3eaeda..8b029b6 100644
--- a/tests/corelib_2/map_keys_test.dart
+++ b/tests/corelib_2/map_keys_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/map_of_test.dart b/tests/corelib_2/map_of_test.dart
index 7d92ecc..a3ee874 100644
--- a/tests/corelib_2/map_of_test.dart
+++ b/tests/corelib_2/map_of_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.9
+
 library map.from.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/map_remove_test.dart b/tests/corelib_2/map_remove_test.dart
index cb25234..bfec31b 100644
--- a/tests/corelib_2/map_remove_test.dart
+++ b/tests/corelib_2/map_remove_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/map_set_undefined_test.dart b/tests/corelib_2/map_set_undefined_test.dart
index 08f42bc..e56b621 100644
--- a/tests/corelib_2/map_set_undefined_test.dart
+++ b/tests/corelib_2/map_set_undefined_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.9
+
 import 'dart:collection';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/map_test.dart b/tests/corelib_2/map_test.dart
index 88d6e92..65ae18f 100644
--- a/tests/corelib_2/map_test.dart
+++ b/tests/corelib_2/map_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.9
+
 library map_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/map_to_string_test.dart b/tests/corelib_2/map_to_string_test.dart
index 8a50bf6..d692759 100644
--- a/tests/corelib_2/map_to_string_test.dart
+++ b/tests/corelib_2/map_to_string_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/map_unmodifiable_cast_test.dart b/tests/corelib_2/map_unmodifiable_cast_test.dart
index 8e4270f..b45a3fd 100644
--- a/tests/corelib_2/map_unmodifiable_cast_test.dart
+++ b/tests/corelib_2/map_unmodifiable_cast_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.9
+
 library map_unmodifiable_cast_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/map_update_test.dart b/tests/corelib_2/map_update_test.dart
index c00caca..fa2eebc 100644
--- a/tests/corelib_2/map_update_test.dart
+++ b/tests/corelib_2/map_update_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 import 'dart:convert' show json;
diff --git a/tests/corelib_2/map_values2_test.dart b/tests/corelib_2/map_values2_test.dart
index 5fc754e..c48dd85 100644
--- a/tests/corelib_2/map_values2_test.dart
+++ b/tests/corelib_2/map_values2_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/map_values3_test.dart b/tests/corelib_2/map_values3_test.dart
index 44c356c..ef42c21 100644
--- a/tests/corelib_2/map_values3_test.dart
+++ b/tests/corelib_2/map_values3_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/map_values4_test.dart b/tests/corelib_2/map_values4_test.dart
index 4f99056..ffa51f0 100644
--- a/tests/corelib_2/map_values4_test.dart
+++ b/tests/corelib_2/map_values4_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.9
+
 import "package:expect/expect.dart";
 
 // Dart2js had a bug where the type information was not set correctly if the
diff --git a/tests/corelib_2/map_values_test.dart b/tests/corelib_2/map_values_test.dart
index e5c3670..2813971 100644
--- a/tests/corelib_2/map_values_test.dart
+++ b/tests/corelib_2/map_values_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/nan_infinity_test.dart b/tests/corelib_2/nan_infinity_test.dart
index b90e114..a3e836b 100644
--- a/tests/corelib_2/nan_infinity_test.dart
+++ b/tests/corelib_2/nan_infinity_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing NaN and Infinity.
diff --git a/tests/corelib_2/nsm_invocation_generic_test.dart b/tests/corelib_2/nsm_invocation_generic_test.dart
index 5d899d0..6123274 100644
--- a/tests/corelib_2/nsm_invocation_generic_test.dart
+++ b/tests/corelib_2/nsm_invocation_generic_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.9
+
 import "package:expect/expect.dart";
 
 // Test the invocations passed to noSuchMethod for generic invocations.
diff --git a/tests/corelib_2/nsm_invocation_test.dart b/tests/corelib_2/nsm_invocation_test.dart
index 8dc183c..0d8c98b 100644
--- a/tests/corelib_2/nsm_invocation_test.dart
+++ b/tests/corelib_2/nsm_invocation_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.9
+
 import "package:expect/expect.dart";
 
 // Tests the constructors of the Invocation class.
diff --git a/tests/corelib_2/null_nosuchmethod_test.dart b/tests/corelib_2/null_nosuchmethod_test.dart
index 4edf9cf..70a1f8c 100644
--- a/tests/corelib_2/null_nosuchmethod_test.dart
+++ b/tests/corelib_2/null_nosuchmethod_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.9
+
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
diff --git a/tests/corelib_2/null_test.dart b/tests/corelib_2/null_test.dart
index 994ca40..0f06646 100644
--- a/tests/corelib_2/null_test.dart
+++ b/tests/corelib_2/null_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.9
+
 import "package:expect/expect.dart";
 
 // Test that Null inherits properties from Object.
diff --git a/tests/corelib_2/num_clamp_test.dart b/tests/corelib_2/num_clamp_test.dart
index a9b650f..319fa9d 100644
--- a/tests/corelib_2/num_clamp_test.dart
+++ b/tests/corelib_2/num_clamp_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test num.clamp.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 testIntClamp() {
diff --git a/tests/corelib_2/num_parse_test.dart b/tests/corelib_2/num_parse_test.dart
index b1049e5..aae0428 100644
--- a/tests/corelib_2/num_parse_test.dart
+++ b/tests/corelib_2/num_parse_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.9
+
 import "package:expect/expect.dart";
 
 const whiteSpace = const [
diff --git a/tests/corelib_2/num_sign_test.dart b/tests/corelib_2/num_sign_test.dart
index db5f497..e2979e4 100644
--- a/tests/corelib_2/num_sign_test.dart
+++ b/tests/corelib_2/num_sign_test.dart
@@ -5,6 +5,8 @@
 // VMOptions=--no-use-field-guards
 // VMOptions=
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Pedestrian implementation of sign, following its specification directly.
diff --git a/tests/corelib_2/num_try_parse_test.dart b/tests/corelib_2/num_try_parse_test.dart
index edf2a5b..1abb757 100644
--- a/tests/corelib_2/num_try_parse_test.dart
+++ b/tests/corelib_2/num_try_parse_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.9
+
 import "package:expect/expect.dart";
 
 const whiteSpace = const [
diff --git a/tests/corelib_2/queue_first_test.dart b/tests/corelib_2/queue_first_test.dart
index d0baf99..63ec6ca 100644
--- a/tests/corelib_2/queue_first_test.dart
+++ b/tests/corelib_2/queue_first_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.9
+
 library queue.first.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/queue_iterator_test.dart b/tests/corelib_2/queue_iterator_test.dart
index af0458b..994de0a 100644
--- a/tests/corelib_2/queue_iterator_test.dart
+++ b/tests/corelib_2/queue_iterator_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.9
+
 library queue.iterator.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/queue_last_test.dart b/tests/corelib_2/queue_last_test.dart
index 3ea2eff..3d070da 100644
--- a/tests/corelib_2/queue_last_test.dart
+++ b/tests/corelib_2/queue_last_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.9
+
 library queue.last.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/queue_single_test.dart b/tests/corelib_2/queue_single_test.dart
index 1ef6b59..c1ebef1 100644
--- a/tests/corelib_2/queue_single_test.dart
+++ b/tests/corelib_2/queue_single_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.9
+
 library queue.single.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/queue_test.dart b/tests/corelib_2/queue_test.dart
index b074519..08ea375 100644
--- a/tests/corelib_2/queue_test.dart
+++ b/tests/corelib_2/queue_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.9
+
 library queue.test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/range_error_test.dart b/tests/corelib_2/range_error_test.dart
index 05107e8..c985bae 100644
--- a/tests/corelib_2/range_error_test.dart
+++ b/tests/corelib_2/range_error_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test for testing out of range exceptions on arrays, and the content
diff --git a/tests/corelib_2/reg_exp1_test.dart b/tests/corelib_2/reg_exp1_test.dart
index 88e3b0a..b4105bf 100644
--- a/tests/corelib_2/reg_exp1_test.dart
+++ b/tests/corelib_2/reg_exp1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class RegExp1Test {
diff --git a/tests/corelib_2/reg_exp4_test.dart b/tests/corelib_2/reg_exp4_test.dart
index 781359b..eee1e9c 100644
--- a/tests/corelib_2/reg_exp4_test.dart
+++ b/tests/corelib_2/reg_exp4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 // [NNBD non-migrated] Note: This test is specific to legacy mode and
 // deliberately does not have a counter-part in corelib/.
 
diff --git a/tests/corelib_2/reg_exp5_test.dart b/tests/corelib_2/reg_exp5_test.dart
index f67cd6d..b6739d7 100644
--- a/tests/corelib_2/reg_exp5_test.dart
+++ b/tests/corelib_2/reg_exp5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/reg_exp_all_matches_test.dart b/tests/corelib_2/reg_exp_all_matches_test.dart
index 3cb966d..bbef4f2 100644
--- a/tests/corelib_2/reg_exp_all_matches_test.dart
+++ b/tests/corelib_2/reg_exp_all_matches_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.allMatches.
diff --git a/tests/corelib_2/reg_exp_cache_test.dart b/tests/corelib_2/reg_exp_cache_test.dart
index a02118c..6676565 100644
--- a/tests/corelib_2/reg_exp_cache_test.dart
+++ b/tests/corelib_2/reg_exp_cache_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.9
+
 // Runs several similar regexps in a loop to see if an internal cache works (at
 // least in easy conditions).
 
diff --git a/tests/corelib_2/reg_exp_first_match_test.dart b/tests/corelib_2/reg_exp_first_match_test.dart
index 40e38fa..48d6a31 100644
--- a/tests/corelib_2/reg_exp_first_match_test.dart
+++ b/tests/corelib_2/reg_exp_first_match_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.firstMatch.
diff --git a/tests/corelib_2/reg_exp_group_test.dart b/tests/corelib_2/reg_exp_group_test.dart
index 1bf4af3..fe03c9f 100644
--- a/tests/corelib_2/reg_exp_group_test.dart
+++ b/tests/corelib_2/reg_exp_group_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.group.
diff --git a/tests/corelib_2/reg_exp_groups_test.dart b/tests/corelib_2/reg_exp_groups_test.dart
index 70386d0..a6d4fbf 100644
--- a/tests/corelib_2/reg_exp_groups_test.dart
+++ b/tests/corelib_2/reg_exp_groups_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.groups.
diff --git a/tests/corelib_2/reg_exp_has_match_test.dart b/tests/corelib_2/reg_exp_has_match_test.dart
index 6ff2744..e11abfa 100644
--- a/tests/corelib_2/reg_exp_has_match_test.dart
+++ b/tests/corelib_2/reg_exp_has_match_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.hasMatch.
diff --git a/tests/corelib_2/reg_exp_pattern_test.dart b/tests/corelib_2/reg_exp_pattern_test.dart
index 7b4d666..5fa672a 100644
--- a/tests/corelib_2/reg_exp_pattern_test.dart
+++ b/tests/corelib_2/reg_exp_pattern_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Regression test for http://dartbug.com/17998
diff --git a/tests/corelib_2/reg_exp_start_end_test.dart b/tests/corelib_2/reg_exp_start_end_test.dart
index 3ec343e..f9c1b37 100644
--- a/tests/corelib_2/reg_exp_start_end_test.dart
+++ b/tests/corelib_2/reg_exp_start_end_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/reg_exp_string_match_test.dart b/tests/corelib_2/reg_exp_string_match_test.dart
index 05978dd..b56173e 100644
--- a/tests/corelib_2/reg_exp_string_match_test.dart
+++ b/tests/corelib_2/reg_exp_string_match_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for RegExp.stringMatch.
diff --git a/tests/corelib_2/regexp/UC16_test.dart b/tests/corelib_2/regexp/UC16_test.dart
index c89464f..413da28 100644
--- a/tests/corelib_2/regexp/UC16_test.dart
+++ b/tests/corelib_2/regexp/UC16_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/alternative-length-miscalculation_test.dart b/tests/corelib_2/regexp/alternative-length-miscalculation_test.dart
index a4461ac..9b6b9c8 100644
--- a/tests/corelib_2/regexp/alternative-length-miscalculation_test.dart
+++ b/tests/corelib_2/regexp/alternative-length-miscalculation_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/alternatives_test.dart b/tests/corelib_2/regexp/alternatives_test.dart
index 2211dfb..c98bfbd 100644
--- a/tests/corelib_2/regexp/alternatives_test.dart
+++ b/tests/corelib_2/regexp/alternatives_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/ascii-regexp-subject_test.dart b/tests/corelib_2/regexp/ascii-regexp-subject_test.dart
index 67ff607..80cb099 100644
--- a/tests/corelib_2/regexp/ascii-regexp-subject_test.dart
+++ b/tests/corelib_2/regexp/ascii-regexp-subject_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 /**
 * @fileoverview Check that an initial ^ will result in a faster match fail.
 */
diff --git a/tests/corelib_2/regexp/assertion_test.dart b/tests/corelib_2/regexp/assertion_test.dart
index 43ee1ca..10212dd 100644
--- a/tests/corelib_2/regexp/assertion_test.dart
+++ b/tests/corelib_2/regexp/assertion_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/backreferences_test.dart b/tests/corelib_2/regexp/backreferences_test.dart
index 6471020..9aa7f23 100644
--- a/tests/corelib_2/regexp/backreferences_test.dart
+++ b/tests/corelib_2/regexp/backreferences_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/bol-with-multiline_test.dart b/tests/corelib_2/regexp/bol-with-multiline_test.dart
index e43a618..20d287e 100644
--- a/tests/corelib_2/regexp/bol-with-multiline_test.dart
+++ b/tests/corelib_2/regexp/bol-with-multiline_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/bol_test.dart b/tests/corelib_2/regexp/bol_test.dart
index f3c363e..8cfc530 100644
--- a/tests/corelib_2/regexp/bol_test.dart
+++ b/tests/corelib_2/regexp/bol_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/capture-3_test.dart b/tests/corelib_2/regexp/capture-3_test.dart
index 06cfbdc..ee26d42 100644
--- a/tests/corelib_2/regexp/capture-3_test.dart
+++ b/tests/corelib_2/regexp/capture-3_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/capture_test.dart b/tests/corelib_2/regexp/capture_test.dart
index aa1ff8d..f0020ae 100644
--- a/tests/corelib_2/regexp/capture_test.dart
+++ b/tests/corelib_2/regexp/capture_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/captures_test.dart b/tests/corelib_2/regexp/captures_test.dart
index c7aa44b..9e4c896 100644
--- a/tests/corelib_2/regexp/captures_test.dart
+++ b/tests/corelib_2/regexp/captures_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/char-insensitive_test.dart b/tests/corelib_2/regexp/char-insensitive_test.dart
index 7a81ff8..38fe63e 100644
--- a/tests/corelib_2/regexp/char-insensitive_test.dart
+++ b/tests/corelib_2/regexp/char-insensitive_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/character-match-out-of-order_test.dart b/tests/corelib_2/regexp/character-match-out-of-order_test.dart
index 863c36b..65269f8 100644
--- a/tests/corelib_2/regexp/character-match-out-of-order_test.dart
+++ b/tests/corelib_2/regexp/character-match-out-of-order_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/compile-crash_test.dart b/tests/corelib_2/regexp/compile-crash_test.dart
index 3bb3f3f..b677a24 100644
--- a/tests/corelib_2/regexp/compile-crash_test.dart
+++ b/tests/corelib_2/regexp/compile-crash_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/compile_test.dart b/tests/corelib_2/regexp/compile_test.dart
index e9932bb..bd55c97 100644
--- a/tests/corelib_2/regexp/compile_test.dart
+++ b/tests/corelib_2/regexp/compile_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/constructor_test.dart b/tests/corelib_2/regexp/constructor_test.dart
index 046cf89..f562ae3 100644
--- a/tests/corelib_2/regexp/constructor_test.dart
+++ b/tests/corelib_2/regexp/constructor_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/default_arguments_test.dart b/tests/corelib_2/regexp/default_arguments_test.dart
index 0baf316..71d959e 100644
--- a/tests/corelib_2/regexp/default_arguments_test.dart
+++ b/tests/corelib_2/regexp/default_arguments_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.9
+
 // Test that `null` is interpreted as `false` when passed as argument to
 // `caseSensitive` and `multiLine`.
 
diff --git a/tests/corelib_2/regexp/dot-all_test.dart b/tests/corelib_2/regexp/dot-all_test.dart
index 5610e7f..09d0151 100644
--- a/tests/corelib_2/regexp/dot-all_test.dart
+++ b/tests/corelib_2/regexp/dot-all_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/dotstar_test.dart b/tests/corelib_2/regexp/dotstar_test.dart
index 33e8107..5162472 100644
--- a/tests/corelib_2/regexp/dotstar_test.dart
+++ b/tests/corelib_2/regexp/dotstar_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/early-acid3-86_test.dart b/tests/corelib_2/regexp/early-acid3-86_test.dart
index 5b81f06..34ea0f0 100644
--- a/tests/corelib_2/regexp/early-acid3-86_test.dart
+++ b/tests/corelib_2/regexp/early-acid3-86_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/ecma-regex-examples_test.dart b/tests/corelib_2/regexp/ecma-regex-examples_test.dart
index 6ad84b6..35a45a0 100644
--- a/tests/corelib_2/regexp/ecma-regex-examples_test.dart
+++ b/tests/corelib_2/regexp/ecma-regex-examples_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/extended-characters-match_test.dart b/tests/corelib_2/regexp/extended-characters-match_test.dart
index c11f95e..c39f533 100644
--- a/tests/corelib_2/regexp/extended-characters-match_test.dart
+++ b/tests/corelib_2/regexp/extended-characters-match_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/extended-characters-more_test.dart b/tests/corelib_2/regexp/extended-characters-more_test.dart
index f51a016..16bcaad 100644
--- a/tests/corelib_2/regexp/extended-characters-more_test.dart
+++ b/tests/corelib_2/regexp/extended-characters-more_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/find-first-asserted_test.dart b/tests/corelib_2/regexp/find-first-asserted_test.dart
index e985bf0..ee332c9 100644
--- a/tests/corelib_2/regexp/find-first-asserted_test.dart
+++ b/tests/corelib_2/regexp/find-first-asserted_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/global_test.dart b/tests/corelib_2/regexp/global_test.dart
index a19b7f7..f6ea194 100644
--- a/tests/corelib_2/regexp/global_test.dart
+++ b/tests/corelib_2/regexp/global_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/indexof_test.dart b/tests/corelib_2/regexp/indexof_test.dart
index 7b0489f..4928c27 100644
--- a/tests/corelib_2/regexp/indexof_test.dart
+++ b/tests/corelib_2/regexp/indexof_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/invalid-range-in-class_test.dart b/tests/corelib_2/regexp/invalid-range-in-class_test.dart
index 4669858..af193f2 100644
--- a/tests/corelib_2/regexp/invalid-range-in-class_test.dart
+++ b/tests/corelib_2/regexp/invalid-range-in-class_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/issue_19193_test.dart b/tests/corelib_2/regexp/issue_19193_test.dart
index 52746cf..6b95aca 100644
--- a/tests/corelib_2/regexp/issue_19193_test.dart
+++ b/tests/corelib_2/regexp/issue_19193_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.9
+
 import 'package:expect/expect.dart';
 
 // Regression test for http://dartbug.com/19193
diff --git a/tests/corelib_2/regexp/jemalloc_leak_backtracking_stack_test.dart b/tests/corelib_2/regexp/jemalloc_leak_backtracking_stack_test.dart
index 18c4621..79788c6 100644
--- a/tests/corelib_2/regexp/jemalloc_leak_backtracking_stack_test.dart
+++ b/tests/corelib_2/regexp/jemalloc_leak_backtracking_stack_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.9
+
 // Regression test for https://github.com/flutter/flutter/issues/29007
 
 String escape(String string) {
diff --git a/tests/corelib_2/regexp/lastindex_test.dart b/tests/corelib_2/regexp/lastindex_test.dart
index fd57429..ddf41cb 100644
--- a/tests/corelib_2/regexp/lastindex_test.dart
+++ b/tests/corelib_2/regexp/lastindex_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/look-ahead_test.dart b/tests/corelib_2/regexp/look-ahead_test.dart
index 56bead7..f52e3cd4 100644
--- a/tests/corelib_2/regexp/look-ahead_test.dart
+++ b/tests/corelib_2/regexp/look-ahead_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/lookahead_test.dart b/tests/corelib_2/regexp/lookahead_test.dart
index 2248d85..afb4f99 100644
--- a/tests/corelib_2/regexp/lookahead_test.dart
+++ b/tests/corelib_2/regexp/lookahead_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/lookbehind_test.dart b/tests/corelib_2/regexp/lookbehind_test.dart
index 3fd11af..cdeee89 100644
--- a/tests/corelib_2/regexp/lookbehind_test.dart
+++ b/tests/corelib_2/regexp/lookbehind_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/loop-capture_test.dart b/tests/corelib_2/regexp/loop-capture_test.dart
index ee39410..c540ae0 100644
--- a/tests/corelib_2/regexp/loop-capture_test.dart
+++ b/tests/corelib_2/regexp/loop-capture_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/malformed-escapes_test.dart b/tests/corelib_2/regexp/malformed-escapes_test.dart
index dbf9126..f048fdf 100644
--- a/tests/corelib_2/regexp/malformed-escapes_test.dart
+++ b/tests/corelib_2/regexp/malformed-escapes_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/many-brackets_test.dart b/tests/corelib_2/regexp/many-brackets_test.dart
index 5c8777f..fd9662b 100644
--- a/tests/corelib_2/regexp/many-brackets_test.dart
+++ b/tests/corelib_2/regexp/many-brackets_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/multiline_test.dart b/tests/corelib_2/regexp/multiline_test.dart
index fd4b340..3d4482f 100644
--- a/tests/corelib_2/regexp/multiline_test.dart
+++ b/tests/corelib_2/regexp/multiline_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 /**
  * @fileoverview Check that various regexp constructs work as intended.
  * Particularly those regexps that use ^ and $.
diff --git a/tests/corelib_2/regexp/named-captures_test.dart b/tests/corelib_2/regexp/named-captures_test.dart
index ee2d843..aeb8a59 100644
--- a/tests/corelib_2/regexp/named-captures_test.dart
+++ b/tests/corelib_2/regexp/named-captures_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/negative-special-characters_test.dart b/tests/corelib_2/regexp/negative-special-characters_test.dart
index 2c673b1..2ce02a1 100644
--- a/tests/corelib_2/regexp/negative-special-characters_test.dart
+++ b/tests/corelib_2/regexp/negative-special-characters_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/no-extensions_test.dart b/tests/corelib_2/regexp/no-extensions_test.dart
index 131d250..8e717c9 100644
--- a/tests/corelib_2/regexp/no-extensions_test.dart
+++ b/tests/corelib_2/regexp/no-extensions_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/non-bmp_test.dart b/tests/corelib_2/regexp/non-bmp_test.dart
index 9849bba..1bdf743 100644
--- a/tests/corelib_2/regexp/non-bmp_test.dart
+++ b/tests/corelib_2/regexp/non-bmp_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/non-capturing-backtracking_test.dart b/tests/corelib_2/regexp/non-capturing-backtracking_test.dart
index 68c2dc2..c6448a3 100644
--- a/tests/corelib_2/regexp/non-capturing-backtracking_test.dart
+++ b/tests/corelib_2/regexp/non-capturing-backtracking_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/non-capturing-groups_test.dart b/tests/corelib_2/regexp/non-capturing-groups_test.dart
index 33a8383..d131843 100644
--- a/tests/corelib_2/regexp/non-capturing-groups_test.dart
+++ b/tests/corelib_2/regexp/non-capturing-groups_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/non-character_test.dart b/tests/corelib_2/regexp/non-character_test.dart
index 5afcd94..1a0c69c 100644
--- a/tests/corelib_2/regexp/non-character_test.dart
+++ b/tests/corelib_2/regexp/non-character_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/non-greedy-parentheses_test.dart b/tests/corelib_2/regexp/non-greedy-parentheses_test.dart
index 4c85a3a..69a3ef3 100644
--- a/tests/corelib_2/regexp/non-greedy-parentheses_test.dart
+++ b/tests/corelib_2/regexp/non-greedy-parentheses_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/norepeat_test.dart b/tests/corelib_2/regexp/norepeat_test.dart
index f0f8cc3..c2a1d3d 100644
--- a/tests/corelib_2/regexp/norepeat_test.dart
+++ b/tests/corelib_2/regexp/norepeat_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/overflow_test.dart b/tests/corelib_2/regexp/overflow_test.dart
index 42523d0..af3e2dc 100644
--- a/tests/corelib_2/regexp/overflow_test.dart
+++ b/tests/corelib_2/regexp/overflow_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/parentheses_test.dart b/tests/corelib_2/regexp/parentheses_test.dart
index 340416e..87bbe13 100644
--- a/tests/corelib_2/regexp/parentheses_test.dart
+++ b/tests/corelib_2/regexp/parentheses_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/pcre-test-4_test.dart b/tests/corelib_2/regexp/pcre-test-4_test.dart
index 80745d1..a73e42a 100644
--- a/tests/corelib_2/regexp/pcre-test-4_test.dart
+++ b/tests/corelib_2/regexp/pcre-test-4_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/pcre_test.dart b/tests/corelib_2/regexp/pcre_test.dart
index dbcce20..d987f87 100644
--- a/tests/corelib_2/regexp/pcre_test.dart
+++ b/tests/corelib_2/regexp/pcre_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2014, the Dart project authors. All rights reserved.
 // Autogenerated from the PCRE test suite Mon Feb  2 15:14:04 CET 2009
 
+// @dart = 2.9
+
 // Note that some regexps in the PCRE test suite use features not present
 // in JavaScript.  These don't work in JS, but they fail to work in a
 // predictable way, and the expected results reflect this.
diff --git a/tests/corelib_2/regexp/quantified-assertions_test.dart b/tests/corelib_2/regexp/quantified-assertions_test.dart
index 43269fd..6e03116 100644
--- a/tests/corelib_2/regexp/quantified-assertions_test.dart
+++ b/tests/corelib_2/regexp/quantified-assertions_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/range-bound-ffff_test.dart b/tests/corelib_2/regexp/range-bound-ffff_test.dart
index c9d8c62..c513661 100644
--- a/tests/corelib_2/regexp/range-bound-ffff_test.dart
+++ b/tests/corelib_2/regexp/range-bound-ffff_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/range-out-of-order_test.dart b/tests/corelib_2/regexp/range-out-of-order_test.dart
index 3535bdb..06505c9 100644
--- a/tests/corelib_2/regexp/range-out-of-order_test.dart
+++ b/tests/corelib_2/regexp/range-out-of-order_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/ranges-and-escaped-hyphens_test.dart b/tests/corelib_2/regexp/ranges-and-escaped-hyphens_test.dart
index 7c03503..b0643c2 100644
--- a/tests/corelib_2/regexp/ranges-and-escaped-hyphens_test.dart
+++ b/tests/corelib_2/regexp/ranges-and-escaped-hyphens_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/regexp_escape_test.dart b/tests/corelib_2/regexp/regexp_escape_test.dart
index e082206..433c6a0 100644
--- a/tests/corelib_2/regexp/regexp_escape_test.dart
+++ b/tests/corelib_2/regexp/regexp_escape_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.9
+
 import "package:expect/expect.dart";
 
 var escapeChars = r"([)}{]?*+.$^|\";
diff --git a/tests/corelib_2/regexp/regexp_kde_test.dart b/tests/corelib_2/regexp/regexp_kde_test.dart
index 71d5b9c..8ed8f61 100644
--- a/tests/corelib_2/regexp/regexp_kde_test.dart
+++ b/tests/corelib_2/regexp/regexp_kde_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/regexp_regression_39406_test.dart b/tests/corelib_2/regexp/regexp_regression_39406_test.dart
index 64b4634..6c4bd0d 100644
--- a/tests/corelib_2/regexp/regexp_regression_39406_test.dart
+++ b/tests/corelib_2/regexp/regexp_regression_39406_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.9
+
 import "package:expect/expect.dart";
 
 // See http://dartbug.com/39406
@@ -15,4 +17,4 @@
   var groupNames = match.groupNames.toList();
   Expect.listEquals([], groupNames);
   Expect.throwsArgumentError(() => match.namedGroup("x"));
-}
\ No newline at end of file
+}
diff --git a/tests/corelib_2/regexp/regexp_test.dart b/tests/corelib_2/regexp/regexp_test.dart
index 5a9a29c..b564235 100644
--- a/tests/corelib_2/regexp/regexp_test.dart
+++ b/tests/corelib_2/regexp/regexp_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void testEscape(str, regexp) {
diff --git a/tests/corelib_2/regexp/regress-6-9-regexp_test.dart b/tests/corelib_2/regexp/regress-6-9-regexp_test.dart
index 3fbef87..f35c878 100644
--- a/tests/corelib_2/regexp/regress-6-9-regexp_test.dart
+++ b/tests/corelib_2/regexp/regress-6-9-regexp_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/regress-regexp-codeflush_test.dart b/tests/corelib_2/regexp/regress-regexp-codeflush_test.dart
index 5acf38f..6e1ac5f 100644
--- a/tests/corelib_2/regexp/regress-regexp-codeflush_test.dart
+++ b/tests/corelib_2/regexp/regress-regexp-codeflush_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/regress-regexp-construct-result_test.dart b/tests/corelib_2/regexp/regress-regexp-construct-result_test.dart
index ac9c032..764b1bf 100644
--- a/tests/corelib_2/regexp/regress-regexp-construct-result_test.dart
+++ b/tests/corelib_2/regexp/regress-regexp-construct-result_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/repeat-match-waldemar_test.dart b/tests/corelib_2/regexp/repeat-match-waldemar_test.dart
index 3adc775..10ff028 100644
--- a/tests/corelib_2/regexp/repeat-match-waldemar_test.dart
+++ b/tests/corelib_2/regexp/repeat-match-waldemar_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/results-cache_test.dart b/tests/corelib_2/regexp/results-cache_test.dart
index 0ef0f40..4e75e4a 100644
--- a/tests/corelib_2/regexp/results-cache_test.dart
+++ b/tests/corelib_2/regexp/results-cache_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/stack-overflow2_test.dart b/tests/corelib_2/regexp/stack-overflow2_test.dart
index 9b61709..e5c071f 100644
--- a/tests/corelib_2/regexp/stack-overflow2_test.dart
+++ b/tests/corelib_2/regexp/stack-overflow2_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.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/stack-overflow_test.dart b/tests/corelib_2/regexp/stack-overflow_test.dart
index e00466f..b699237 100644
--- a/tests/corelib_2/regexp/stack-overflow_test.dart
+++ b/tests/corelib_2/regexp/stack-overflow_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/standalones_test.dart b/tests/corelib_2/regexp/standalones_test.dart
index ffd5c14..580328d 100644
--- a/tests/corelib_2/regexp/standalones_test.dart
+++ b/tests/corelib_2/regexp/standalones_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/toString_test.dart b/tests/corelib_2/regexp/toString_test.dart
index 7664881..d08bbfa 100644
--- a/tests/corelib_2/regexp/toString_test.dart
+++ b/tests/corelib_2/regexp/toString_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/unicode-character-ranges_test.dart b/tests/corelib_2/regexp/unicode-character-ranges_test.dart
index 7154d0f..e3867e5 100644
--- a/tests/corelib_2/regexp/unicode-character-ranges_test.dart
+++ b/tests/corelib_2/regexp/unicode-character-ranges_test.dart
@@ -21,6 +21,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-escapes-in-regexps_test.dart b/tests/corelib_2/regexp/unicode-escapes-in-regexps_test.dart
index 7cb0894..5fe7d19 100644
--- a/tests/corelib_2/regexp/unicode-escapes-in-regexps_test.dart
+++ b/tests/corelib_2/regexp/unicode-escapes-in-regexps_test.dart
@@ -28,6 +28,8 @@
 //
 // ES6 extends the \uxxxx escape and also allows \u{xxxxx}.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-handling_test.dart b/tests/corelib_2/regexp/unicode-handling_test.dart
index 01685ec..d1a1f15 100644
--- a/tests/corelib_2/regexp/unicode-handling_test.dart
+++ b/tests/corelib_2/regexp/unicode-handling_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/unicode-property-binary_test.dart b/tests/corelib_2/regexp/unicode-property-binary_test.dart
index b8981a7..8580fd3 100644
--- a/tests/corelib_2/regexp/unicode-property-binary_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-binary_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-char-class_test.dart b/tests/corelib_2/regexp/unicode-property-char-class_test.dart
index db87fad..fe6316e 100644
--- a/tests/corelib_2/regexp/unicode-property-char-class_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-char-class_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-enumerated_test.dart b/tests/corelib_2/regexp/unicode-property-enumerated_test.dart
index cfb3e02..82b3233 100644
--- a/tests/corelib_2/regexp/unicode-property-enumerated_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-enumerated_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-exact-match_test.dart b/tests/corelib_2/regexp/unicode-property-exact-match_test.dart
index bbf99d0..e4b1639 100644
--- a/tests/corelib_2/regexp/unicode-property-exact-match_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-exact-match_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-general-category_test.dart b/tests/corelib_2/regexp/unicode-property-general-category_test.dart
index cb94cac..34d3ff0 100644
--- a/tests/corelib_2/regexp/unicode-property-general-category_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-general-category_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-invalid_test.dart b/tests/corelib_2/regexp/unicode-property-invalid_test.dart
index 8dddbc1..48e1783 100644
--- a/tests/corelib_2/regexp/unicode-property-invalid_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-invalid_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-scripts_test.dart b/tests/corelib_2/regexp/unicode-property-scripts_test.dart
index 5adec29..aa027aa 100644
--- a/tests/corelib_2/regexp/unicode-property-scripts_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-scripts_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-property-special_test.dart b/tests/corelib_2/regexp/unicode-property-special_test.dart
index 1e0d2c1..49b66e6 100644
--- a/tests/corelib_2/regexp/unicode-property-special_test.dart
+++ b/tests/corelib_2/regexp/unicode-property-special_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-backrefs_test.dart b/tests/corelib_2/regexp/unicode-regexp-backrefs_test.dart
index 2fcb7c1..b05c8bc 100644
--- a/tests/corelib_2/regexp/unicode-regexp-backrefs_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-backrefs_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-ignore-case_test.dart b/tests/corelib_2/regexp/unicode-regexp-ignore-case_test.dart
index c87047c..5c73352 100644
--- a/tests/corelib_2/regexp/unicode-regexp-ignore-case_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-ignore-case_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-match-index_test.dart b/tests/corelib_2/regexp/unicode-regexp-match-index_test.dart
index 3e69658..21e5b83 100644
--- a/tests/corelib_2/regexp/unicode-regexp-match-index_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-match-index_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-restricted-syntax_test.dart b/tests/corelib_2/regexp/unicode-regexp-restricted-syntax_test.dart
index d894c7b..5530da2 100644
--- a/tests/corelib_2/regexp/unicode-regexp-restricted-syntax_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-restricted-syntax_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-unanchored-advance_test.dart b/tests/corelib_2/regexp/unicode-regexp-unanchored-advance_test.dart
index e57d810..9168372 100644
--- a/tests/corelib_2/regexp/unicode-regexp-unanchored-advance_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-unanchored-advance_test.dart
@@ -28,6 +28,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicode-regexp-zero-length_test.dart b/tests/corelib_2/regexp/unicode-regexp-zero-length_test.dart
index e1dd330..080c6d3 100644
--- a/tests/corelib_2/regexp/unicode-regexp-zero-length_test.dart
+++ b/tests/corelib_2/regexp/unicode-regexp-zero-length_test.dart
@@ -26,6 +26,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 import 'v8_regexp_utils.dart';
diff --git a/tests/corelib_2/regexp/unicodeCaseInsensitive_test.dart b/tests/corelib_2/regexp/unicodeCaseInsensitive_test.dart
index a4c985b..4e19c11 100644
--- a/tests/corelib_2/regexp/unicodeCaseInsensitive_test.dart
+++ b/tests/corelib_2/regexp/unicodeCaseInsensitive_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regexp/v8_regexp_utils.dart b/tests/corelib_2/regexp/v8_regexp_utils.dart
index 111ab90..0a5e186 100644
--- a/tests/corelib_2/regexp/v8_regexp_utils.dart
+++ b/tests/corelib_2/regexp/v8_regexp_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.9
+
 // Utility functions to easily port V8 tests.
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/regexp/zero-length-alternatives_test.dart b/tests/corelib_2/regexp/zero-length-alternatives_test.dart
index 108b513..fb80f2c 100644
--- a/tests/corelib_2/regexp/zero-length-alternatives_test.dart
+++ b/tests/corelib_2/regexp/zero-length-alternatives_test.dart
@@ -22,6 +22,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+// @dart = 2.9
+
 import 'v8_regexp_utils.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/corelib_2/regress_11099_test.dart b/tests/corelib_2/regress_11099_test.dart
index 2e6b8c1..8a0bb39 100644
--- a/tests/corelib_2/regress_11099_test.dart
+++ b/tests/corelib_2/regress_11099_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.9
+
 void main() {
   var l = [new MyTest(1), new MyTest(5), new MyTest(3)];
   l.sort();
diff --git a/tests/corelib_2/regress_33166_test.dart b/tests/corelib_2/regress_33166_test.dart
index b97bfd6..65e7cba 100644
--- a/tests/corelib_2/regress_33166_test.dart
+++ b/tests/corelib_2/regress_33166_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 
diff --git a/tests/corelib_2/regress_42011_test.dart b/tests/corelib_2/regress_42011_test.dart
index 45a9e81..96c9f2f 100644
--- a/tests/corelib_2/regress_42011_test.dart
+++ b/tests/corelib_2/regress_42011_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/42011
 main() {
   var a = [];
diff --git a/tests/corelib_2/regress_r21715_test.dart b/tests/corelib_2/regress_r21715_test.dart
index 829d9bf..f3b0eb1 100644
--- a/tests/corelib_2/regress_r21715_test.dart
+++ b/tests/corelib_2/regress_r21715_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.9
+
 // VMOptions=--optimization_counter_threshold=5 --no-background_compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/safe_to_string_test.dart b/tests/corelib_2/safe_to_string_test.dart
index 0356e81..9878fee 100644
--- a/tests/corelib_2/safe_to_string_test.dart
+++ b/tests/corelib_2/safe_to_string_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/set_containsAll_test.dart b/tests/corelib_2/set_containsAll_test.dart
index ccab046..6bd9f72 100644
--- a/tests/corelib_2/set_containsAll_test.dart
+++ b/tests/corelib_2/set_containsAll_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_contains_test.dart b/tests/corelib_2/set_contains_test.dart
index c955374..c292d91 100644
--- a/tests/corelib_2/set_contains_test.dart
+++ b/tests/corelib_2/set_contains_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_intersection_test.dart b/tests/corelib_2/set_intersection_test.dart
index 2cd8a65..abf1f14 100644
--- a/tests/corelib_2/set_intersection_test.dart
+++ b/tests/corelib_2/set_intersection_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_iterator_test.dart b/tests/corelib_2/set_iterator_test.dart
index 26d0dee..d904f46 100644
--- a/tests/corelib_2/set_iterator_test.dart
+++ b/tests/corelib_2/set_iterator_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.9
+
 import "package:expect/expect.dart";
 
 class FixedHashCode {
diff --git a/tests/corelib_2/set_removeAll_test.dart b/tests/corelib_2/set_removeAll_test.dart
index c48cb06..f397c21 100644
--- a/tests/corelib_2/set_removeAll_test.dart
+++ b/tests/corelib_2/set_removeAll_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_remove_test.dart b/tests/corelib_2/set_remove_test.dart
index 20f48e5..4e917d7 100644
--- a/tests/corelib_2/set_remove_test.dart
+++ b/tests/corelib_2/set_remove_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_retainAll_test.dart b/tests/corelib_2/set_retainAll_test.dart
index 7381095..c4e1f5b 100644
--- a/tests/corelib_2/set_retainAll_test.dart
+++ b/tests/corelib_2/set_retainAll_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/corelib_2/set_test.dart b/tests/corelib_2/set_test.dart
index 68cf684..20313e3 100644
--- a/tests/corelib_2/set_test.dart
+++ b/tests/corelib_2/set_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.9
+
 library set_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/corelib_2/set_to_string_test.dart b/tests/corelib_2/set_to_string_test.dart
index f9833bd..32872dd 100644
--- a/tests/corelib_2/set_to_string_test.dart
+++ b/tests/corelib_2/set_to_string_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/set_unmodifiable_view_test.dart b/tests/corelib_2/set_unmodifiable_view_test.dart
index 4ee582d..4a1dbed 100644
--- a/tests/corelib_2/set_unmodifiable_view_test.dart
+++ b/tests/corelib_2/set_unmodifiable_view_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.9
+
 import "package:expect/expect.dart";
 import "dart:collection";
 
diff --git a/tests/corelib_2/shuffle_test.dart b/tests/corelib_2/shuffle_test.dart
index 2836c42..c36ad5c 100644
--- a/tests/corelib_2/shuffle_test.dart
+++ b/tests/corelib_2/shuffle_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.9
+
 // Dart test for List.shuffle.
 library shuffle_test;
 
diff --git a/tests/corelib_2/sort_helper.dart b/tests/corelib_2/sort_helper.dart
index 6b8307b..3827b76 100644
--- a/tests/corelib_2/sort_helper.dart
+++ b/tests/corelib_2/sort_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.9
+
 library sort_helper;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/sort_test.dart b/tests/corelib_2/sort_test.dart
index 541b258..ddbb810 100644
--- a/tests/corelib_2/sort_test.dart
+++ b/tests/corelib_2/sort_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.9
+
 // Dart test for sort routines.
 library sort_test;
 
diff --git a/tests/corelib_2/splay_tree_from_iterable_test.dart b/tests/corelib_2/splay_tree_from_iterable_test.dart
index 7118f4a..1207a54 100644
--- a/tests/corelib_2/splay_tree_from_iterable_test.dart
+++ b/tests/corelib_2/splay_tree_from_iterable_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/splay_tree_from_iterables_test.dart b/tests/corelib_2/splay_tree_from_iterables_test.dart
index 6e22ddf..4e8b63e 100644
--- a/tests/corelib_2/splay_tree_from_iterables_test.dart
+++ b/tests/corelib_2/splay_tree_from_iterables_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.9
+
 import "package:expect/expect.dart";
 import 'dart:collection';
 
diff --git a/tests/corelib_2/splay_tree_test.dart b/tests/corelib_2/splay_tree_test.dart
index 807d700..2f71074 100644
--- a/tests/corelib_2/splay_tree_test.dart
+++ b/tests/corelib_2/splay_tree_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.9
+
 // Dart test for Splaytrees.
 library splay_tree_test;
 
diff --git a/tests/corelib_2/stacktrace_current_test.dart b/tests/corelib_2/stacktrace_current_test.dart
index 6712e64..bbf697b 100644
--- a/tests/corelib_2/stacktrace_current_test.dart
+++ b/tests/corelib_2/stacktrace_current_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.9
+
 import "dart:convert" show LineSplitter;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/stacktrace_fromstring_test.dart b/tests/corelib_2/stacktrace_fromstring_test.dart
index b42aba3..c5f4653 100644
--- a/tests/corelib_2/stacktrace_fromstring_test.dart
+++ b/tests/corelib_2/stacktrace_fromstring_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 import "dart:async";
diff --git a/tests/corelib_2/stopwatch2_test.dart b/tests/corelib_2/stopwatch2_test.dart
index a95db46..e66604b 100644
--- a/tests/corelib_2/stopwatch2_test.dart
+++ b/tests/corelib_2/stopwatch2_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.9
+
 // Dart test program for elapsed getters in stopwatch support.
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/stopwatch_test.dart b/tests/corelib_2/stopwatch_test.dart
index e6b8a97..dfdeb0c 100644
--- a/tests/corelib_2/stopwatch_test.dart
+++ b/tests/corelib_2/stopwatch_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.9
+
 // Dart test program for testing stopwatch support.
 
 library stopwatch_test;
diff --git a/tests/corelib_2/string_base_vm_static_test.dart b/tests/corelib_2/string_base_vm_static_test.dart
index 5fbb1c9..41979f8 100644
--- a/tests/corelib_2/string_base_vm_static_test.dart
+++ b/tests/corelib_2/string_base_vm_static_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing class 'StringBase' (currently VM specific).
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/string_base_vm_test.dart b/tests/corelib_2/string_base_vm_test.dart
index 10ed9ac..6d781f7 100644
--- a/tests/corelib_2/string_base_vm_test.dart
+++ b/tests/corelib_2/string_base_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing class 'StringBase' (currently VM specific).
 
+// @dart = 2.9
+
 library string_base_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/string_buffer_test.dart b/tests/corelib_2/string_buffer_test.dart
index 669bde6..d5b6781 100644
--- a/tests/corelib_2/string_buffer_test.dart
+++ b/tests/corelib_2/string_buffer_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.9
+
 import "package:expect/expect.dart";
 
 // TODO(srdjan): Move StringBuffer to visible names.
diff --git a/tests/corelib_2/string_case_test.dart b/tests/corelib_2/string_case_test.dart
index b199de7..eab6480 100644
--- a/tests/corelib_2/string_case_test.dart
+++ b/tests/corelib_2/string_case_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_codeunits_test.dart b/tests/corelib_2/string_codeunits_test.dart
index 566c321..074ca90 100644
--- a/tests/corelib_2/string_codeunits_test.dart
+++ b/tests/corelib_2/string_codeunits_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_from_environment2_test.dart b/tests/corelib_2/string_from_environment2_test.dart
index b6d81b8..6a7b591 100644
--- a/tests/corelib_2/string_from_environment2_test.dart
+++ b/tests/corelib_2/string_from_environment2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=a -Da=bb -Db=bb -Dc=ccc -Da=ccc -Db=ccc
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_from_environment3_test.dart b/tests/corelib_2/string_from_environment3_test.dart
index 962f5f1..2d10f32 100644
--- a/tests/corelib_2/string_from_environment3_test.dart
+++ b/tests/corelib_2/string_from_environment3_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.9
+
 main() {
   const String.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 01: compile-time error
   const String.fromEnvironment('NOT_FOUND', defaultValue: true); // //# 02: compile-time error
diff --git a/tests/corelib_2/string_from_environment_test.dart b/tests/corelib_2/string_from_environment_test.dart
index 974e89e..b55f9b0 100644
--- a/tests/corelib_2/string_from_environment_test.dart
+++ b/tests/corelib_2/string_from_environment_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Da=a -Db=bb -Dc=ccc -Dd= --define=e=eeee
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_from_list_test.dart b/tests/corelib_2/string_from_list_test.dart
index 0263d02..4f5451d 100644
--- a/tests/corelib_2/string_from_list_test.dart
+++ b/tests/corelib_2/string_from_list_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/string_fromcharcode_test.dart b/tests/corelib_2/string_fromcharcode_test.dart
index f74dfb1..9217624 100644
--- a/tests/corelib_2/string_fromcharcode_test.dart
+++ b/tests/corelib_2/string_fromcharcode_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_fromcharcodes_test.dart b/tests/corelib_2/string_fromcharcodes_test.dart
index 724db83..2f7e884 100644
--- a/tests/corelib_2/string_fromcharcodes_test.dart
+++ b/tests/corelib_2/string_fromcharcodes_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.9
+
 import "package:expect/expect.dart";
 import "dart:typed_data";
 
diff --git a/tests/corelib_2/string_operations_with_null_test.dart b/tests/corelib_2/string_operations_with_null_test.dart
index 8c07025..66ab575 100644
--- a/tests/corelib_2/string_operations_with_null_test.dart
+++ b/tests/corelib_2/string_operations_with_null_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.9
+
 import "package:expect/expect.dart";
 
 @pragma('dart2js:noInline')
diff --git a/tests/corelib_2/string_pattern_test.dart b/tests/corelib_2/string_pattern_test.dart
index 9a4555e..35d34ee 100644
--- a/tests/corelib_2/string_pattern_test.dart
+++ b/tests/corelib_2/string_pattern_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing String.allMatches.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 String str = "this is a string with hello here and hello there";
diff --git a/tests/corelib_2/string_replace_all_2_test.dart b/tests/corelib_2/string_replace_all_2_test.dart
index 39d196a..77dc243 100644
--- a/tests/corelib_2/string_replace_all_2_test.dart
+++ b/tests/corelib_2/string_replace_all_2_test.dart
@@ -4,6 +4,8 @@
 //
 // dart2jsOptions=-Ddart2js.testing.String.replaceAll.force.regexp=true
 
+// @dart = 2.9
+
 import "string_replace_all_test.dart" as base;
 
 main() {
diff --git a/tests/corelib_2/string_replace_all_test.dart b/tests/corelib_2/string_replace_all_test.dart
index 548ad62..e4e340b 100644
--- a/tests/corelib_2/string_replace_all_test.dart
+++ b/tests/corelib_2/string_replace_all_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.9
+
 import "package:expect/expect.dart";
 
 testReplaceAll() {
diff --git a/tests/corelib_2/string_replace_dollar_test.dart b/tests/corelib_2/string_replace_dollar_test.dart
index c0077a0..7ab4691 100644
--- a/tests/corelib_2/string_replace_dollar_test.dart
+++ b/tests/corelib_2/string_replace_dollar_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_replace_static_test.dart b/tests/corelib_2/string_replace_static_test.dart
index 5becfdd..6acceae 100644
--- a/tests/corelib_2/string_replace_static_test.dart
+++ b/tests/corelib_2/string_replace_static_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/string_replace_test.dart b/tests/corelib_2/string_replace_test.dart
index ce0c278..49161de 100644
--- a/tests/corelib_2/string_replace_test.dart
+++ b/tests/corelib_2/string_replace_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_runes_test.dart b/tests/corelib_2/string_runes_test.dart
index 9e988b8..d897284 100644
--- a/tests/corelib_2/string_runes_test.dart
+++ b/tests/corelib_2/string_runes_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_source_test.dart b/tests/corelib_2/string_source_test.dart
index 8974826..2f752de 100644
--- a/tests/corelib_2/string_source_test.dart
+++ b/tests/corelib_2/string_source_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.9
+
 // Test that different representations of the same string are all equal.
 
 import "dart:convert";
diff --git a/tests/corelib_2/string_split_test.dart b/tests/corelib_2/string_split_test.dart
index a05bced..e1884fe 100644
--- a/tests/corelib_2/string_split_test.dart
+++ b/tests/corelib_2/string_split_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_static_test.dart b/tests/corelib_2/string_static_test.dart
index 7c2cd7b..5eb6b64 100644
--- a/tests/corelib_2/string_static_test.dart
+++ b/tests/corelib_2/string_static_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/string_substring_test.dart b/tests/corelib_2/string_substring_test.dart
index e3547ea..c9a452a 100644
--- a/tests/corelib_2/string_substring_test.dart
+++ b/tests/corelib_2/string_substring_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/string_test.dart b/tests/corelib_2/string_test.dart
index f66f16b..7054a81 100644
--- a/tests/corelib_2/string_test.dart
+++ b/tests/corelib_2/string_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/string_to_lower_case_test.dart b/tests/corelib_2/string_to_lower_case_test.dart
index e761c1c..7abe023 100644
--- a/tests/corelib_2/string_to_lower_case_test.dart
+++ b/tests/corelib_2/string_to_lower_case_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.9
+
 import "package:expect/expect.dart";
 
 void testOneByteSting() {
diff --git a/tests/corelib_2/string_trim2_test.dart b/tests/corelib_2/string_trim2_test.dart
index eb7956a..a047376 100644
--- a/tests/corelib_2/string_trim2_test.dart
+++ b/tests/corelib_2/string_trim2_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.9
+
 import "package:expect/expect.dart";
 
 const WHITESPACE = const [
diff --git a/tests/corelib_2/string_trim_test.dart b/tests/corelib_2/string_trim_test.dart
index 6049af9..905abcd 100644
--- a/tests/corelib_2/string_trim_test.dart
+++ b/tests/corelib_2/string_trim_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.9
+
 import "package:expect/expect.dart";
 
 class StringTrimTest {
diff --git a/tests/corelib_2/string_trimlr_test.dart b/tests/corelib_2/string_trimlr_test.dart
index 95f6af6..40fb76b 100644
--- a/tests/corelib_2/string_trimlr_test.dart
+++ b/tests/corelib_2/string_trimlr_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.9
+
 import "package:expect/expect.dart";
 
 // Characters with Whitespace property (Unicode 6.3).
diff --git a/tests/corelib_2/strings_test.dart b/tests/corelib_2/strings_test.dart
index 9603b17..ca215d3 100644
--- a/tests/corelib_2/strings_test.dart
+++ b/tests/corelib_2/strings_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing class 'Strings'.
diff --git a/tests/corelib_2/symbol_map_helper.dart b/tests/corelib_2/symbol_map_helper.dart
index da9e7e5..7e9ba35 100644
--- a/tests/corelib_2/symbol_map_helper.dart
+++ b/tests/corelib_2/symbol_map_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.9
+
 library dart.test.symbol_map_helper;
 
 // TODO(ahe): Update map literals to avoid this method.
diff --git a/tests/corelib_2/symbol_operator_test.dart b/tests/corelib_2/symbol_operator_test.dart
index ac79499..18dce3b 100644
--- a/tests/corelib_2/symbol_operator_test.dart
+++ b/tests/corelib_2/symbol_operator_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.9
+
 // Test of Symbol class for operators..
 
 dynamic $ = new Symbolize();
diff --git a/tests/corelib_2/symbol_reserved_word_test.dart b/tests/corelib_2/symbol_reserved_word_test.dart
index d6eec3b..1305da7 100644
--- a/tests/corelib_2/symbol_reserved_word_test.dart
+++ b/tests/corelib_2/symbol_reserved_word_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.9
+
 import "package:expect/expect.dart";
 
 void checkBadSymbol(String s) {
diff --git a/tests/corelib_2/symbol_test.dart b/tests/corelib_2/symbol_test.dart
index ec47d45..1cda51e 100644
--- a/tests/corelib_2/symbol_test.dart
+++ b/tests/corelib_2/symbol_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.9
+
 // Basic test of Symbol class.
 
 main() {
diff --git a/tests/corelib_2/throw_half_surrogate_pair_test.dart b/tests/corelib_2/throw_half_surrogate_pair_test.dart
index f500cb1..69d40e7 100644
--- a/tests/corelib_2/throw_half_surrogate_pair_test.dart
+++ b/tests/corelib_2/throw_half_surrogate_pair_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.9
+
 main() {
   var trebleClef = "\u{1D11E}";
   if (trebleClef.length != 2) throw "String should be a surrogate pair";
diff --git a/tests/corelib_2/toInt_test.dart b/tests/corelib_2/toInt_test.dart
index 0261d7d..b10154d 100644
--- a/tests/corelib_2/toInt_test.dart
+++ b/tests/corelib_2/toInt_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/type_hashcode_test.dart b/tests/corelib_2/type_hashcode_test.dart
index 49c9ab8..859c26f 100644
--- a/tests/corelib_2/type_hashcode_test.dart
+++ b/tests/corelib_2/type_hashcode_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/corelib_2/type_tostring_test.dart b/tests/corelib_2/type_tostring_test.dart
index 8f2fa68..ca420bc 100644
--- a/tests/corelib_2/type_tostring_test.dart
+++ b/tests/corelib_2/type_tostring_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.9
+
 // Testing the behavior of `Type.toString`.
 //
 // The behavior is *unspecified*, but users may depend on it.
diff --git a/tests/corelib_2/typed_data_with_limited_ints_test.dart b/tests/corelib_2/typed_data_with_limited_ints_test.dart
index 58c56d5..aaa1df1 100644
--- a/tests/corelib_2/typed_data_with_limited_ints_test.dart
+++ b/tests/corelib_2/typed_data_with_limited_ints_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Test for dart:typed_data (in particular, ByteData.get/setUint64 and
 // UInt64List) with limited 64-bit integers.
 
diff --git a/tests/corelib_2/unicode2_test.dart b/tests/corelib_2/unicode2_test.dart
index c939a1d..f641a55 100755
--- a/tests/corelib_2/unicode2_test.dart
+++ b/tests/corelib_2/unicode2_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.9
+
 import 'package:expect/expect.dart';
 
 const String testPhrase = "The quick brown fox jumps over the lazy dog.";
diff --git a/tests/corelib_2/unicode_test.dart b/tests/corelib_2/unicode_test.dart
index 8b02913..aaa9cf6 100644
--- a/tests/corelib_2/unicode_test.dart
+++ b/tests/corelib_2/unicode_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.9
+
 import "package:expect/expect.dart";
 
 class UnicodeTest {
diff --git a/tests/corelib_2/unsigned_shift_test.dart b/tests/corelib_2/unsigned_shift_test.dart
deleted file mode 100644
index ab3220f..0000000
--- a/tests/corelib_2/unsigned_shift_test.dart
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// SharedOptions=--enable-experiment=triple-shift
-
-import "package:expect/expect.dart";
-
-// The >>> operator is (again) supported by Dart, and used on `int`.
-
-// This test assumes that the JS implementation of `>>>` uses the JS `>>>`
-// operator directly (that is, convert the value to Uint32, shift right,)
-
-main() {
-  testIntegerShifts();
-  testNonIntegerShifts();
-  testConstantShifts();
-}
-
-void testIntegerShifts() {
-  for (int i = -1; i <= 65; i++) {
-    testShift(0, i);
-    testShift(1, i);
-    testShift(2, i);
-    testShift(3, i);
-    testShift(-1, i);
-    testShift(-5, i);
-    //         .   .   .
-    testShift(0x7fffffff, i);
-    testShift(0x55555555, i);
-    testShift(0xaaaaaaaa, i);
-    testShift(0x80000000, i);
-    //         .   .   .   .
-    testShift(0x7fffffffffff, i);
-    testShift(0xffffffffffff, i);
-    //         .   .   .   .   .
-    testShift(0x7ffffffffffff000, i);
-    testShift(0xfffffffffffff000, i);
-    // Construct the values below to get 'all ones' values on the VM without a
-    // compile-time error for roundned literals on the web. The arithmetic
-    // produces rounded values on the web, so they are effectively testing zero.
-    testShift(0x7ffffffffffff000 + 0xfff, i);
-    testShift(0xfffffffffffff000 + 0xfff, i);
-  }
-
-  // JavaScript numbers may consider Infinity as an integer.
-  // If so, it is zero when converted to a fixed precision.
-  if (double.infinity is int) {
-    int number = (double.infinity as int);
-    Expect.equals(0, number >>> 1);
-    Expect.equals(0, 1 >>> number); // infinity > 64.
-  }
-}
-
-void testNonIntegerShifts() {
-  double n = 0.0;
-  n >>> 1; //# 01: compile-time error
-  for (dynamic number in [0.0, 1.0, 2.4, -2.4, double.infinity, double.nan]) {
-    if (number is! int) {
-      Expect.throws(() => number >>> 1); //# 07: ok
-      Expect.throws(() => 1 >>> number); //# 08: ok
-    }
-  }
-}
-
-void testConstantShifts() {
-  const c = C();
-  // >>> is a constant operation on integers.
-  const c1 = 2 >>> 1;
-  const c2 = (1 >>> 0) >>> 0;
-  const c3 = 1 >>> 65;
-
-  // >>> is a non-constant operation on other types.
-  const c4 = false ? 1 : c >>> c; //# 02: compile-time error
-  const c5 = true || c >>> c; //# 03: compile-time error
-  const c6 = true || "string" >>> 1;  //# 04: compile-time error
-  const c7 = c >>> c; //# 05: compile-time error
-
-  // Or if shifting throws
-  const c8 = 1 >>> -1; //# 06: compile-time error
-
-  Expect.isNotNull(c1 + c2 + c3);  // Avoid "unused variable" warnings.
-}
-
-const bool isJSBitOps = (-1 | 0) > 0;
-const String jsFlag = isJSBitOps ? " (JS)" : "";
-
-void testShift(int value, int shift) {
-  var title = "0x${value.toRadixString(16)} >>> $shift$jsFlag";
-  if (shift < 0) {
-    // No platform allows shifting a negative.
-    Expect.throwsArgumentError(() => value >>> shift, "$title: shift < 0");
-    return;
-  }
-  var expected;
-  if (isJSBitOps) {
-    // TODO: Check that this is the desired behavior for JS >>>.
-    expected = value.toUnsigned(32) >> shift;
-  } else if (value < 0) {
-    if (shift >= 64) {
-      expected = 0;
-    } else if (shift > 0) {
-      expected = (value >> shift).toUnsigned(64 - shift);
-    } else {
-      expected = value;
-    }
-  } else {
-    expected = value >> shift;
-  }
-  Expect.equals(expected, value >>> shift, title);
-}
-
-class C {
-  const C();
-  C operator >>>(C other) => other;
-}
diff --git a/tests/corelib_2/uri_base_test.dart b/tests/corelib_2/uri_base_test.dart
index a54a287..3717571 100644
--- a/tests/corelib_2/uri_base_test.dart
+++ b/tests/corelib_2/uri_base_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/corelib_2/uri_file_test.dart b/tests/corelib_2/uri_file_test.dart
index b858e8e..198220c 100644
--- a/tests/corelib_2/uri_file_test.dart
+++ b/tests/corelib_2/uri_file_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.9
+
 import "package:expect/expect.dart";
 
 testFileUri() {
diff --git a/tests/corelib_2/uri_http_test.dart b/tests/corelib_2/uri_http_test.dart
index 4fd639d..9d02ebf 100644
--- a/tests/corelib_2/uri_http_test.dart
+++ b/tests/corelib_2/uri_http_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.9
+
 import "package:expect/expect.dart";
 
 void testHttpUri() {
diff --git a/tests/corelib_2/uri_ipv4_test.dart b/tests/corelib_2/uri_ipv4_test.dart
index 0ae1700..d2780b5 100644
--- a/tests/corelib_2/uri_ipv4_test.dart
+++ b/tests/corelib_2/uri_ipv4_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.9
+
 import 'package:expect/expect.dart';
 
 void testParseIPv4Address() {
diff --git a/tests/corelib_2/uri_ipv6_test.dart b/tests/corelib_2/uri_ipv6_test.dart
index e5dbb9df..a40cf1d 100644
--- a/tests/corelib_2/uri_ipv6_test.dart
+++ b/tests/corelib_2/uri_ipv6_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.9
+
 import 'package:expect/expect.dart';
 
 void testValidIpv6Uri() {
diff --git a/tests/corelib_2/uri_normalize_path_test.dart b/tests/corelib_2/uri_normalize_path_test.dart
index 07b7c26..9c4ce4e 100644
--- a/tests/corelib_2/uri_normalize_path_test.dart
+++ b/tests/corelib_2/uri_normalize_path_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.9
+
 library uriNormalizePathTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/uri_normalize_test.dart b/tests/corelib_2/uri_normalize_test.dart
index af97653..5a97840 100644
--- a/tests/corelib_2/uri_normalize_test.dart
+++ b/tests/corelib_2/uri_normalize_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.9
+
 import "package:expect/expect.dart";
 
 testNormalizePath() {
diff --git a/tests/corelib_2/uri_parameters_all_test.dart b/tests/corelib_2/uri_parameters_all_test.dart
index f3f6dfc..b540a70 100644
--- a/tests/corelib_2/uri_parameters_all_test.dart
+++ b/tests/corelib_2/uri_parameters_all_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/corelib_2/uri_parse_test.dart b/tests/corelib_2/uri_parse_test.dart
index 4c93b2b..6fdced3 100644
--- a/tests/corelib_2/uri_parse_test.dart
+++ b/tests/corelib_2/uri_parse_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.9
+
 import "package:expect/expect.dart";
 
 void testUriCombi() {
diff --git a/tests/corelib_2/uri_path_test.dart b/tests/corelib_2/uri_path_test.dart
index 4b6a348..984c44e 100644
--- a/tests/corelib_2/uri_path_test.dart
+++ b/tests/corelib_2/uri_path_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.9
+
 import "dart:collection";
 
 import "package:expect/expect.dart";
diff --git a/tests/corelib_2/uri_query_test.dart b/tests/corelib_2/uri_query_test.dart
index 9e80fc7..6684cc4 100644
--- a/tests/corelib_2/uri_query_test.dart
+++ b/tests/corelib_2/uri_query_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.9
+
 import "package:expect/expect.dart";
 
 void testInvalidArguments() {}
diff --git a/tests/corelib_2/uri_scheme_test.dart b/tests/corelib_2/uri_scheme_test.dart
index b83a15c..1e5b03c 100644
--- a/tests/corelib_2/uri_scheme_test.dart
+++ b/tests/corelib_2/uri_scheme_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.9
+
 import "package:expect/expect.dart";
 
 void testInvalidArguments() {
diff --git a/tests/corelib_2/uri_test.dart b/tests/corelib_2/uri_test.dart
index 24011a6..3ac87ea 100644
--- a/tests/corelib_2/uri_test.dart
+++ b/tests/corelib_2/uri_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.9
+
 library uriTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/dartdevc_2/cast_error/lib_a.dart b/tests/dartdevc_2/cast_error/lib_a.dart
index 5c6dedf..0939c6a 100644
--- a/tests/dartdevc_2/cast_error/lib_a.dart
+++ b/tests/dartdevc_2/cast_error/lib_a.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.9
+
 class Animal {}
diff --git a/tests/dartdevc_2/cast_error/lib_b.dart b/tests/dartdevc_2/cast_error/lib_b.dart
index 5c6dedf..0939c6a 100644
--- a/tests/dartdevc_2/cast_error/lib_b.dart
+++ b/tests/dartdevc_2/cast_error/lib_b.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.9
+
 class Animal {}
diff --git a/tests/dartdevc_2/hot_restart_lazy_test.dart b/tests/dartdevc_2/hot_restart_lazy_test.dart
index 8e95fa7..6d1d0cc 100644
--- a/tests/dartdevc_2/hot_restart_lazy_test.dart
+++ b/tests/dartdevc_2/hot_restart_lazy_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.9
+
 // Tests that lazily-loaded fields are properly reset after hot restarts.
 
 import 'package:expect/expect.dart';
diff --git a/tests/dartdevc_2/runtime_utils.dart b/tests/dartdevc_2/runtime_utils.dart
index 5b14053..0849095 100644
--- a/tests/dartdevc_2/runtime_utils.dart
+++ b/tests/dartdevc_2/runtime_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.9
+
 import 'dart:_runtime' show gFnType, typeRep, isSubtypeOf;
 
 import 'package:expect/expect.dart';
diff --git a/tests/ffi_2/aliasing_test.dart b/tests/ffi_2/aliasing_test.dart
index 5cace63..c3825d8 100644
--- a/tests/ffi_2/aliasing_test.dart
+++ b/tests/ffi_2/aliasing_test.dart
@@ -8,6 +8,8 @@
 // SharedObjects=ffi_test_functions
 // VMOptions=--deterministic --optimization-counter-threshold=50
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/all_positive.dart b/tests/ffi_2/all_positive.dart
index 699add9..a6810b6 100644
--- a/tests/ffi_2/all_positive.dart
+++ b/tests/ffi_2/all_positive.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Generated by prepare_flutter_bundle.dart and not ignoring vmspecific.
 // Used in fuchsia_test_component.
 //
diff --git a/tests/ffi_2/allocator_test.dart b/tests/ffi_2/allocator_test.dart
index 396f5c9..8bbc1b0 100644
--- a/tests/ffi_2/allocator_test.dart
+++ b/tests/ffi_2/allocator_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.9
+
 // Tests that we can implement the Allocator interface.
 
 import 'dart:ffi';
diff --git a/tests/ffi_2/callback_tests_utils.dart b/tests/ffi_2/callback_tests_utils.dart
index e34a52b..40a2995 100644
--- a/tests/ffi_2/callback_tests_utils.dart
+++ b/tests/ffi_2/callback_tests_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.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/calloc_test.dart b/tests/ffi_2/calloc_test.dart
index 56f1b97..20af4fb 100644
--- a/tests/ffi_2/calloc_test.dart
+++ b/tests/ffi_2/calloc_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.9
+
 import 'dart:ffi';
 
 import 'package:expect/expect.dart';
diff --git a/tests/ffi_2/coordinate.dart b/tests/ffi_2/coordinate.dart
index 5e00a76..6cec851 100644
--- a/tests/ffi_2/coordinate.dart
+++ b/tests/ffi_2/coordinate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library FfiTest;
 
 import 'dart:ffi';
diff --git a/tests/ffi_2/data_not_asan_test.dart b/tests/ffi_2/data_not_asan_test.dart
index b791d71..8ac3eba 100644
--- a/tests/ffi_2/data_not_asan_test.dart
+++ b/tests/ffi_2/data_not_asan_test.dart
@@ -7,6 +7,8 @@
 // These callocs trigger an asan alarm, so these tests are in a separate file
 // which is excluded in asan mode.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/data_test.dart b/tests/ffi_2/data_test.dart
index 448b465..14be2c0 100644
--- a/tests/ffi_2/data_test.dart
+++ b/tests/ffi_2/data_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/dylib_isolates_test.dart b/tests/ffi_2/dylib_isolates_test.dart
index f790e12..1d5fd74 100644
--- a/tests/ffi_2/dylib_isolates_test.dart
+++ b/tests/ffi_2/dylib_isolates_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 import 'dart:io';
 import 'dart:isolate';
diff --git a/tests/ffi_2/dylib_utils.dart b/tests/ffi_2/dylib_utils.dart
index c6f9127..d4f86fc 100644
--- a/tests/ffi_2/dylib_utils.dart
+++ b/tests/ffi_2/dylib_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.9
+
 import 'dart:ffi' as ffi;
 import 'dart:io' show Platform;
 
diff --git a/tests/ffi_2/expando_test.dart b/tests/ffi_2/expando_test.dart
index ac14324..b9acf02 100644
--- a/tests/ffi_2/expando_test.dart
+++ b/tests/ffi_2/expando_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/extension_methods_test.dart b/tests/ffi_2/extension_methods_test.dart
index 64a6237..9d96f41 100644
--- a/tests/ffi_2/extension_methods_test.dart
+++ b/tests/ffi_2/extension_methods_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.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/external_typed_data_test.dart b/tests/ffi_2/external_typed_data_test.dart
index 3c4c71a..40d3e74 100644
--- a/tests/ffi_2/external_typed_data_test.dart
+++ b/tests/ffi_2/external_typed_data_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.9
+
 import 'dart:ffi';
 import 'dart:math';
 import 'dart:typed_data';
diff --git a/tests/ffi_2/ffi_test_helpers.dart b/tests/ffi_2/ffi_test_helpers.dart
index 0c598ec..aa2ed86 100644
--- a/tests/ffi_2/ffi_test_helpers.dart
+++ b/tests/ffi_2/ffi_test_helpers.dart
@@ -4,6 +4,8 @@
 //
 // Helpers for tests which trigger GC in delicate places.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/function_callbacks_many_test.dart b/tests/ffi_2/function_callbacks_many_test.dart
index c8fb519..5f1a273 100644
--- a/tests/ffi_2/function_callbacks_many_test.dart
+++ b/tests/ffi_2/function_callbacks_many_test.dart
@@ -14,6 +14,8 @@
 // VMOptions=--use-slow-path --enable-testing-pragmas --write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'callback_tests_utils.dart';
diff --git a/tests/ffi_2/function_callbacks_structs_by_value_generated_test.dart b/tests/ffi_2/function_callbacks_structs_by_value_generated_test.dart
index c65a2d2..8ee7845 100644
--- a/tests/ffi_2/function_callbacks_structs_by_value_generated_test.dart
+++ b/tests/ffi_2/function_callbacks_structs_by_value_generated_test.dart
@@ -10,6 +10,8 @@
 // VMOptions=--use-slow-path
 // VMOptions=--use-slow-path --stacktrace-every=100
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/function_callbacks_structs_by_value_test.dart b/tests/ffi_2/function_callbacks_structs_by_value_test.dart
index d7021b3..930da1e 100644
--- a/tests/ffi_2/function_callbacks_structs_by_value_test.dart
+++ b/tests/ffi_2/function_callbacks_structs_by_value_test.dart
@@ -6,6 +6,8 @@
 //
 // VMOptions=--deterministic --optimization-counter-threshold=5 --use-slow-path --stacktrace-every=100
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/function_callbacks_test.dart b/tests/ffi_2/function_callbacks_test.dart
index e9a853c..9e0ac35 100644
--- a/tests/ffi_2/function_callbacks_test.dart
+++ b/tests/ffi_2/function_callbacks_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.9
+
 // Dart test program for testing dart:ffi function pointers with callbacks.
 //
 // VMOptions=--enable-testing-pragmas
diff --git a/tests/ffi_2/function_callbacks_very_many_test copy.dart b/tests/ffi_2/function_callbacks_very_many_test copy.dart
index 383b482..d177728 100644
--- a/tests/ffi_2/function_callbacks_very_many_test copy.dart
+++ b/tests/ffi_2/function_callbacks_very_many_test copy.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test program for testing dart:ffi function pointers with callbacks.
 //
 // VMOptions=--deterministic --optimization-counter-threshold=10
diff --git a/tests/ffi_2/function_callbacks_very_many_test.dart b/tests/ffi_2/function_callbacks_very_many_test.dart
index 383b482..d177728 100644
--- a/tests/ffi_2/function_callbacks_very_many_test.dart
+++ b/tests/ffi_2/function_callbacks_very_many_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.9
+
 // Dart test program for testing dart:ffi function pointers with callbacks.
 //
 // VMOptions=--deterministic --optimization-counter-threshold=10
diff --git a/tests/ffi_2/function_structs_by_value_generated_test.dart b/tests/ffi_2/function_structs_by_value_generated_test.dart
index 156fc07..9bf0376 100644
--- a/tests/ffi_2/function_structs_by_value_generated_test.dart
+++ b/tests/ffi_2/function_structs_by_value_generated_test.dart
@@ -10,6 +10,8 @@
 // VMOptions=--use-slow-path
 // VMOptions=--use-slow-path --stacktrace-every=100
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/function_structs_test.dart b/tests/ffi_2/function_structs_test.dart
index d813247..c259435 100644
--- a/tests/ffi_2/function_structs_test.dart
+++ b/tests/ffi_2/function_structs_test.dart
@@ -7,6 +7,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/function_test.dart b/tests/ffi_2/function_test.dart
index d5fd3c0..f955bbd 100644
--- a/tests/ffi_2/function_test.dart
+++ b/tests/ffi_2/function_test.dart
@@ -13,6 +13,8 @@
 // VMOptions=--write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/function_very_many_test.dart b/tests/ffi_2/function_very_many_test.dart
index 8056617..5ac3142 100644
--- a/tests/ffi_2/function_very_many_test.dart
+++ b/tests/ffi_2/function_very_many_test.dart
@@ -13,6 +13,8 @@
 // VMOptions=--write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/generator/c_types.dart b/tests/ffi_2/generator/c_types.dart
index 7236aed..edd670c 100644
--- a/tests/ffi_2/generator/c_types.dart
+++ b/tests/ffi_2/generator/c_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.9
+
 import 'dart:math' as math;
 
 import 'utils.dart';
diff --git a/tests/ffi_2/generator/structs_by_value_tests_configuration.dart b/tests/ffi_2/generator/structs_by_value_tests_configuration.dart
index 07b5fd1..f8fbb1b 100644
--- a/tests/ffi_2/generator/structs_by_value_tests_configuration.dart
+++ b/tests/ffi_2/generator/structs_by_value_tests_configuration.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'c_types.dart';
 
 final functions = [
diff --git a/tests/ffi_2/generator/structs_by_value_tests_generator.dart b/tests/ffi_2/generator/structs_by_value_tests_generator.dart
index 0ab7739..bbd3158 100644
--- a/tests/ffi_2/generator/structs_by_value_tests_generator.dart
+++ b/tests/ffi_2/generator/structs_by_value_tests_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.9
+
 import 'dart:io';
 
 import 'c_types.dart';
diff --git a/tests/ffi_2/generator/utils.dart b/tests/ffi_2/generator/utils.dart
index 735e769..a1130cc 100644
--- a/tests/ffi_2/generator/utils.dart
+++ b/tests/ffi_2/generator/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.9
+
 extension TestGeneratorStringExtension on String {
   String upperCaseFirst() => "${this[0].toUpperCase()}${this.substring(1)}";
 
diff --git a/tests/ffi_2/hardfp_test.dart b/tests/ffi_2/hardfp_test.dart
index 600e26b..0fd7a8e 100644
--- a/tests/ffi_2/hardfp_test.dart
+++ b/tests/ffi_2/hardfp_test.dart
@@ -13,6 +13,8 @@
 // VMOptions=--write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/inline_array_multi_dimensional_test.dart b/tests/ffi_2/inline_array_multi_dimensional_test.dart
index 15d2059..08a5e44 100644
--- a/tests/ffi_2/inline_array_multi_dimensional_test.dart
+++ b/tests/ffi_2/inline_array_multi_dimensional_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/inline_array_test.dart b/tests/ffi_2/inline_array_test.dart
index 868d117..70872c3 100644
--- a/tests/ffi_2/inline_array_test.dart
+++ b/tests/ffi_2/inline_array_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/native_effect_test.dart b/tests/ffi_2/native_effect_test.dart
index 1b88d14..9a7f222 100644
--- a/tests/ffi_2/native_effect_test.dart
+++ b/tests/ffi_2/native_effect_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 // Tests that the dart:internal _nativeEffect flow graph builder works.
 
 import 'dart:ffi';
diff --git a/tests/ffi_2/negative_function_test.dart b/tests/ffi_2/negative_function_test.dart
index 7eac37c..338706d 100644
--- a/tests/ffi_2/negative_function_test.dart
+++ b/tests/ffi_2/negative_function_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi' as ffi;
 import 'dylib_utils.dart';
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/null_regress_39068_test.dart b/tests/ffi_2/null_regress_39068_test.dart
index 6709a53..de8e7cd 100644
--- a/tests/ffi_2/null_regress_39068_test.dart
+++ b/tests/ffi_2/null_regress_39068_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import "dart:ffi";
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/null_test.dart b/tests/ffi_2/null_test.dart
index ec7b837..d852cd8 100644
--- a/tests/ffi_2/null_test.dart
+++ b/tests/ffi_2/null_test.dart
@@ -15,6 +15,8 @@
 // VMOptions=--write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/prepare_flutter_bundle.dart b/tests/ffi_2/prepare_flutter_bundle.dart
index 8ff9447..a72b8193 100644
--- a/tests/ffi_2/prepare_flutter_bundle.dart
+++ b/tests/ffi_2/prepare_flutter_bundle.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/ffi_2/regress_37254_test.dart b/tests/ffi_2/regress_37254_test.dart
index cf2378b..79afd96 100644
--- a/tests/ffi_2/regress_37254_test.dart
+++ b/tests/ffi_2/regress_37254_test.dart
@@ -60,6 +60,8 @@
 //
 // These are the normal Dart assignment rules.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_39044_test.dart b/tests/ffi_2/regress_39044_test.dart
index 785500d..3834593 100644
--- a/tests/ffi_2/regress_39044_test.dart
+++ b/tests/ffi_2/regress_39044_test.dart
@@ -7,6 +7,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import "dart:ffi";
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_39063_test.dart b/tests/ffi_2/regress_39063_test.dart
index 52dca18..ceadda3 100644
--- a/tests/ffi_2/regress_39063_test.dart
+++ b/tests/ffi_2/regress_39063_test.dart
@@ -7,6 +7,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import "dart:ffi";
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_39885_test.dart b/tests/ffi_2/regress_39885_test.dart
index 77de64f..1491167 100644
--- a/tests/ffi_2/regress_39885_test.dart
+++ b/tests/ffi_2/regress_39885_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.9
+
 import 'dart:ffi';
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/regress_40537_test.dart b/tests/ffi_2/regress_40537_test.dart
index d003b21..a9983db 100644
--- a/tests/ffi_2/regress_40537_test.dart
+++ b/tests/ffi_2/regress_40537_test.dart
@@ -7,6 +7,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_43016_test.dart b/tests/ffi_2/regress_43016_test.dart
index 997e451..dda4f3a 100644
--- a/tests/ffi_2/regress_43016_test.dart
+++ b/tests/ffi_2/regress_43016_test.dart
@@ -6,6 +6,8 @@
 //
 // VMOptions=--optimization-counter-threshold=5
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/regress_43693_test.dart b/tests/ffi_2/regress_43693_test.dart
index 01b7cfd..47e71f5 100644
--- a/tests/ffi_2/regress_43693_test.dart
+++ b/tests/ffi_2/regress_43693_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'package:ffi/ffi.dart';
diff --git a/tests/ffi_2/regress_44985_test.dart b/tests/ffi_2/regress_44985_test.dart
index b63931f..50fbbef 100644
--- a/tests/ffi_2/regress_44985_test.dart
+++ b/tests/ffi_2/regress_44985_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.9
+
 import "dart:ffi";
 
 class S2 extends Struct {
diff --git a/tests/ffi_2/regress_44986_test.dart b/tests/ffi_2/regress_44986_test.dart
index 7395880..ab3bac8 100644
--- a/tests/ffi_2/regress_44986_test.dart
+++ b/tests/ffi_2/regress_44986_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.9
+
 import "dart:ffi";
 
 class S2 extends Struct {
diff --git a/tests/ffi_2/regress_45189_test.dart b/tests/ffi_2/regress_45189_test.dart
index 1aff90b..72ac798 100644
--- a/tests/ffi_2/regress_45189_test.dart
+++ b/tests/ffi_2/regress_45189_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.9
+
 import "dart:ffi";
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/regress_45198_test.dart b/tests/ffi_2/regress_45198_test.dart
index 48c1204..49fdc26 100644
--- a/tests/ffi_2/regress_45198_test.dart
+++ b/tests/ffi_2/regress_45198_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.9
+
 import "dart:ffi";
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_45507_test.dart b/tests/ffi_2/regress_45507_test.dart
index 926c719..d126d4e 100644
--- a/tests/ffi_2/regress_45507_test.dart
+++ b/tests/ffi_2/regress_45507_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.9
+
 import "dart:ffi";
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/regress_flutter79441_test.dart b/tests/ffi_2/regress_flutter79441_test.dart
index a9b17de..2bce29c 100644
--- a/tests/ffi_2/regress_flutter79441_test.dart
+++ b/tests/ffi_2/regress_flutter79441_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.9
+
 // Regression test for https://github.com/flutter/flutter/issues/79441.
 
 import 'dart:ffi';
diff --git a/tests/ffi_2/regress_jump_to_frame_test.dart b/tests/ffi_2/regress_jump_to_frame_test.dart
index 65e8682..7fae296a 100644
--- a/tests/ffi_2/regress_jump_to_frame_test.dart
+++ b/tests/ffi_2/regress_jump_to_frame_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.9
+
 // Check that JumpToFrame does not use LR clobbered by slow path of
 // TransitionNativeToGenerated.
 // VMOptions=--use-slow-path --enable-testing-pragmas
diff --git a/tests/ffi_2/sizeof_test.dart b/tests/ffi_2/sizeof_test.dart
index 35cb36c..ec65d59 100644
--- a/tests/ffi_2/sizeof_test.dart
+++ b/tests/ffi_2/sizeof_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/snapshot_test.dart b/tests/ffi_2/snapshot_test.dart
index 5bb0b10..129a8d0 100644
--- a/tests/ffi_2/snapshot_test.dart
+++ b/tests/ffi_2/snapshot_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/ffi_2/stacktrace_regress_37910_test.dart b/tests/ffi_2/stacktrace_regress_37910_test.dart
index 0a76648..3ef8376 100644
--- a/tests/ffi_2/stacktrace_regress_37910_test.dart
+++ b/tests/ffi_2/stacktrace_regress_37910_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--stacktrace_every=100
 
+// @dart = 2.9
+
 import 'dart:ffi' as ffi;
 
 typedef fooFfi1Type = ffi.Int32 Function();
diff --git a/tests/ffi_2/structs_nested_test.dart b/tests/ffi_2/structs_nested_test.dart
index 5bcb1b4..40e8090 100644
--- a/tests/ffi_2/structs_nested_test.dart
+++ b/tests/ffi_2/structs_nested_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/structs_packed_test.dart b/tests/ffi_2/structs_packed_test.dart
index cec7703..b50e10c 100644
--- a/tests/ffi_2/structs_packed_test.dart
+++ b/tests/ffi_2/structs_packed_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/structs_test.dart b/tests/ffi_2/structs_test.dart
index cf37d16..813acaa 100644
--- a/tests/ffi_2/structs_test.dart
+++ b/tests/ffi_2/structs_test.dart
@@ -6,6 +6,8 @@
 //
 // VMOptions=--deterministic --optimization-counter-threshold=50
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/unaligned_test.dart b/tests/ffi_2/unaligned_test.dart
index 3220003..27405eb 100644
--- a/tests/ffi_2/unaligned_test.dart
+++ b/tests/ffi_2/unaligned_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.9
+
 // This tests exercises misaligned reads/writes on memory.
 //
 // The only architecture on which this is known to fail is arm32 on Android.
diff --git a/tests/ffi_2/variance_function_test.dart b/tests/ffi_2/variance_function_test.dart
index 210543a..f9981e7 100644
--- a/tests/ffi_2/variance_function_test.dart
+++ b/tests/ffi_2/variance_function_test.dart
@@ -10,6 +10,8 @@
 // This file tests subtyping relationships (at compile time and at runtime) of
 // parameters and return types of ffi trampolines and ffi callback trampolines.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/very_large_struct.dart b/tests/ffi_2/very_large_struct.dart
index ca29143..16ce9ad 100644
--- a/tests/ffi_2/very_large_struct.dart
+++ b/tests/ffi_2/very_large_struct.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 /// Large sample struct for dart:ffi library.
diff --git a/tests/ffi_2/vmspecific_dynamic_library_test.dart b/tests/ffi_2/vmspecific_dynamic_library_test.dart
index c15f850..e7d04d3 100644
--- a/tests/ffi_2/vmspecific_dynamic_library_test.dart
+++ b/tests/ffi_2/vmspecific_dynamic_library_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_dynamic_library ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:io';
 import 'dart:ffi';
 
diff --git a/tests/ffi_2/vmspecific_enable_ffi_test.dart b/tests/ffi_2/vmspecific_enable_ffi_test.dart
index 69ae0aa..0381db3 100644
--- a/tests/ffi_2/vmspecific_enable_ffi_test.dart
+++ b/tests/ffi_2/vmspecific_enable_ffi_test.dart
@@ -6,6 +6,8 @@
 //
 // VMOptions=--enable-ffi=false
 
+// @dart = 2.9
+
 import 'dart:ffi'; //# 01: compile-time error
 
 import 'package:ffi/ffi.dart'; //# 01: compile-time error
diff --git a/tests/ffi_2/vmspecific_function_callbacks_exit_test.dart b/tests/ffi_2/vmspecific_function_callbacks_exit_test.dart
index e7f33a2..ec8c8b5 100644
--- a/tests/ffi_2/vmspecific_function_callbacks_exit_test.dart
+++ b/tests/ffi_2/vmspecific_function_callbacks_exit_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=
 // VMOptions=--use-slow-path
 // SharedObjects=ffi_test_functions
+
+// @dart = 2.9
 import 'dart:io';
 import 'dart:ffi';
 import 'dart:isolate';
diff --git a/tests/ffi_2/vmspecific_function_callbacks_negative_test.dart b/tests/ffi_2/vmspecific_function_callbacks_negative_test.dart
index 067cec4..f832e0f 100644
--- a/tests/ffi_2/vmspecific_function_callbacks_negative_test.dart
+++ b/tests/ffi_2/vmspecific_function_callbacks_negative_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing dart:ffi function pointers with callbacks.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/vmspecific_function_callbacks_test.dart b/tests/ffi_2/vmspecific_function_callbacks_test.dart
index 510193c..6f88079 100644
--- a/tests/ffi_2/vmspecific_function_callbacks_test.dart
+++ b/tests/ffi_2/vmspecific_function_callbacks_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.9
+
 // VMOptions=--enable-testing-pragmas --enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--enable-testing-pragmas --no-enable-isolate-groups
 //
diff --git a/tests/ffi_2/vmspecific_function_gc_test.dart b/tests/ffi_2/vmspecific_function_gc_test.dart
index e104bcc..c15e9d5 100644
--- a/tests/ffi_2/vmspecific_function_gc_test.dart
+++ b/tests/ffi_2/vmspecific_function_gc_test.dart
@@ -17,6 +17,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi' as ffi;
 import "package:expect/expect.dart";
 import 'ffi_test_helpers.dart';
diff --git a/tests/ffi_2/vmspecific_function_test.dart b/tests/ffi_2/vmspecific_function_test.dart
index 00ea922..ca55317 100644
--- a/tests/ffi_2/vmspecific_function_test.dart
+++ b/tests/ffi_2/vmspecific_function_test.dart
@@ -13,6 +13,8 @@
 // VMOptions=--write-protect-code --no-dual-map-code --stacktrace-every=100
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/vmspecific_handle_dynamically_linked_test.dart b/tests/ffi_2/vmspecific_handle_dynamically_linked_test.dart
index 2b6e834..318be21 100644
--- a/tests/ffi_2/vmspecific_handle_dynamically_linked_test.dart
+++ b/tests/ffi_2/vmspecific_handle_dynamically_linked_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'package:expect/expect.dart';
diff --git a/tests/ffi_2/vmspecific_handle_test.dart b/tests/ffi_2/vmspecific_handle_test.dart
index b7416e7..814d547 100644
--- a/tests/ffi_2/vmspecific_handle_test.dart
+++ b/tests/ffi_2/vmspecific_handle_test.dart
@@ -5,6 +5,8 @@
 // SharedObjects=ffi_test_functions
 // VMOptions=--enable-testing-pragmas
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'package:expect/expect.dart';
diff --git a/tests/ffi_2/vmspecific_highmem_32bit_test.dart b/tests/ffi_2/vmspecific_highmem_32bit_test.dart
index eeee5fa..c97f7d0 100644
--- a/tests/ffi_2/vmspecific_highmem_32bit_test.dart
+++ b/tests/ffi_2/vmspecific_highmem_32bit_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.9
+
 import 'dart:ffi';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/ffi_2/vmspecific_null_test.dart b/tests/ffi_2/vmspecific_null_test.dart
index 2c95fa4..f974f95 100644
--- a/tests/ffi_2/vmspecific_null_test.dart
+++ b/tests/ffi_2/vmspecific_null_test.dart
@@ -8,6 +8,8 @@
 //
 // SharedObjects=ffi_test_dynamic_library ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'package:expect/expect.dart';
diff --git a/tests/ffi_2/vmspecific_object_gc_test.dart b/tests/ffi_2/vmspecific_object_gc_test.dart
index c1d9f9c..6f5bfe7 100644
--- a/tests/ffi_2/vmspecific_object_gc_test.dart
+++ b/tests/ffi_2/vmspecific_object_gc_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/vmspecific_regress_37100_test.dart b/tests/ffi_2/vmspecific_regress_37100_test.dart
index ef4c614..7f4808c 100644
--- a/tests/ffi_2/vmspecific_regress_37100_test.dart
+++ b/tests/ffi_2/vmspecific_regress_37100_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:expect/expect.dart";
diff --git a/tests/ffi_2/vmspecific_regress_37511_callbacks_test.dart b/tests/ffi_2/vmspecific_regress_37511_callbacks_test.dart
index 0153560..1615b56 100644
--- a/tests/ffi_2/vmspecific_regress_37511_callbacks_test.dart
+++ b/tests/ffi_2/vmspecific_regress_37511_callbacks_test.dart
@@ -11,6 +11,8 @@
 // TODO(37295): Merge this file with regress_37511_test.dart when callback
 // support lands.
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'ffi_test_helpers.dart';
diff --git a/tests/ffi_2/vmspecific_regress_37511_test.dart b/tests/ffi_2/vmspecific_regress_37511_test.dart
index 6d857e5..9b60cb5 100644
--- a/tests/ffi_2/vmspecific_regress_37511_test.dart
+++ b/tests/ffi_2/vmspecific_regress_37511_test.dart
@@ -8,6 +8,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/vmspecific_regress_37780_test.dart b/tests/ffi_2/vmspecific_regress_37780_test.dart
index a6b9f7e..6284cc5 100644
--- a/tests/ffi_2/vmspecific_regress_37780_test.dart
+++ b/tests/ffi_2/vmspecific_regress_37780_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/ffi_2/vmspecific_regress_38993_test.dart b/tests/ffi_2/vmspecific_regress_38993_test.dart
index e7c4315..e9266cc 100644
--- a/tests/ffi_2/vmspecific_regress_38993_test.dart
+++ b/tests/ffi_2/vmspecific_regress_38993_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests a compile time error that should not crash the analyzer or CFE.
 
+// @dart = 2.9
+
 import "dart:ffi";
 
 class C extends Struct {
diff --git a/tests/ffi_2/vmspecific_send_port_id_test.dart b/tests/ffi_2/vmspecific_send_port_id_test.dart
index abe7ccc..9051878 100644
--- a/tests/ffi_2/vmspecific_send_port_id_test.dart
+++ b/tests/ffi_2/vmspecific_send_port_id_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.9
+
 import 'dart:async';
 import 'dart:ffi';
 import 'dart:isolate';
diff --git a/tests/ffi_2/vmspecific_static_checks_test.dart b/tests/ffi_2/vmspecific_static_checks_test.dart
index 3ae9b04..48e85b8 100644
--- a/tests/ffi_2/vmspecific_static_checks_test.dart
+++ b/tests/ffi_2/vmspecific_static_checks_test.dart
@@ -6,6 +6,8 @@
 //
 // SharedObjects=ffi_test_dynamic_library ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import "package:ffi/ffi.dart";
diff --git a/tests/ffi_2/vmspecific_variance_function_checks_test.dart b/tests/ffi_2/vmspecific_variance_function_checks_test.dart
index c17488c..1462acb 100644
--- a/tests/ffi_2/vmspecific_variance_function_checks_test.dart
+++ b/tests/ffi_2/vmspecific_variance_function_checks_test.dart
@@ -4,6 +4,8 @@
 //
 // SharedObjects=ffi_test_functions
 
+// @dart = 2.9
+
 import 'dart:ffi';
 
 import 'dylib_utils.dart';
diff --git a/tests/language/const_functions/const_functions_instance_methods_test.dart b/tests/language/const_functions/const_functions_instance_methods_test.dart
new file mode 100644
index 0000000..038abba
--- /dev/null
+++ b/tests/language/const_functions/const_functions_instance_methods_test.dart
@@ -0,0 +1,140 @@
+// 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.
+
+// Tests invocations of instance functions with const functions.
+
+// SharedOptions=--enable-experiment=const-functions
+
+import "package:expect/expect.dart";
+
+class A {
+  const A();
+}
+
+class B {
+  const B();
+
+  @override
+  String toString() => "B";
+}
+
+class C {
+  final int y;
+
+  const C(this.y);
+
+  int fn() {
+    if (y == 1) return 100;
+    return 200;
+  }
+}
+
+class D extends C {
+  const D(int y) : super(y);
+
+  @override
+  int fn() => 300;
+}
+
+class E extends C {
+  const E(int y) : super(y);
+}
+
+class F<T, U, V> {
+  const F();
+  U fn(U x) => x;
+}
+
+class G<T> extends F<T, String, num> {
+  const G();
+}
+
+const var1 = fn();
+//           ^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+String fn() => const A().toString();
+
+const toString1 = const A().toString();
+//                ^^^^^^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var2 = fn2();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+String fn2() => const B().toString();
+
+const toString2 = const B().toString();
+//                ^^^^^^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var3 = fn3();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+const var4 = fn4();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+int fn3() => const C(0).fn();
+int fn4() => const C(1).fn();
+
+const fnVal1 = const C(0).fn();
+//             ^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+const fnVal2 = const C(1).fn();
+//             ^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var5 = fn5();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+int fn5() => const D(1).fn();
+
+const fnVal3 = const D(1).fn();
+//             ^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var6 = fn6();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+int fn6() => const E(1).fn();
+
+const fnVal4 = const E(0).fn();
+//             ^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var7 = fn7();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+String fn7() => const F<int, String, num>().fn("string");
+
+const fnVal5 = const F<int, String, num>().fn("string");
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+const var8 = fn8();
+//           ^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+String fn8() => const G<int>().fn("string");
+
+const fnVal6 = const G<int>().fn("string");
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
+
+void main() {
+  Expect.equals(var1, const A().toString());
+  Expect.equals(toString1, const A().toString());
+  Expect.equals(var2, const B().toString());
+  Expect.equals(toString2, const B().toString());
+  Expect.equals(var3, 200);
+  Expect.equals(var4, 100);
+  Expect.equals(fnVal1, 200);
+  Expect.equals(fnVal2, 100);
+  Expect.equals(var5, 300);
+  Expect.equals(fnVal3, 300);
+  Expect.equals(var6, 100);
+  Expect.equals(fnVal4, 200);
+  Expect.equals(var7, "string");
+  Expect.equals(fnVal5, "string");
+  Expect.equals(var8, "string");
+  Expect.equals(fnVal6, "string");
+}
diff --git a/tests/language_2/abstract/beats_arguments_test.dart b/tests/language_2/abstract/beats_arguments_test.dart
index d6687b4..1d1a80d 100644
--- a/tests/language_2/abstract/beats_arguments_test.dart
+++ b/tests/language_2/abstract/beats_arguments_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.9
+
 import "package:expect/expect.dart";
 
 // TODO(rnystrom): This test should be renamed since now it's just about
diff --git a/tests/language_2/abstract/equal_test.dart b/tests/language_2/abstract/equal_test.dart
index bcfb3e8..37c4982 100644
--- a/tests/language_2/abstract/equal_test.dart
+++ b/tests/language_2/abstract/equal_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.9
+
 class A {
   bool operator ==(other);
   const A();
diff --git a/tests/language_2/abstract/exact_selector_runtime_test.dart b/tests/language_2/abstract/exact_selector_runtime_test.dart
index ce38037..2d18f98 100644
--- a/tests/language_2/abstract/exact_selector_runtime_test.dart
+++ b/tests/language_2/abstract/exact_selector_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/abstract/exact_selector_test.dart b/tests/language_2/abstract/exact_selector_test.dart
index 222da8a..23a69e0 100644
--- a/tests/language_2/abstract/exact_selector_test.dart
+++ b/tests/language_2/abstract/exact_selector_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.9
+
 // Regression test for dart2js that used to duplicate some `Object`
 // methods to handle `noSuchMethod`.
 
diff --git a/tests/language_2/abstract/factory_constructor_runtime_test.dart b/tests/language_2/abstract/factory_constructor_runtime_test.dart
index 8743c6d..fc7b351 100644
--- a/tests/language_2/abstract/factory_constructor_runtime_test.dart
+++ b/tests/language_2/abstract/factory_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/abstract/factory_constructor_test.dart b/tests/language_2/abstract/factory_constructor_test.dart
index 810a3fa..fbfe12e 100644
--- a/tests/language_2/abstract/factory_constructor_test.dart
+++ b/tests/language_2/abstract/factory_constructor_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Exercises issue 2282, factory constructors in abstract classes should
 // not emit a static type warning
 
diff --git a/tests/language_2/abstract/getter2_test.dart b/tests/language_2/abstract/getter2_test.dart
index 19c97db..e1154d9 100644
--- a/tests/language_2/abstract/getter2_test.dart
+++ b/tests/language_2/abstract/getter2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/abstract/getter_test.dart b/tests/language_2/abstract/getter_test.dart
index 74d51da..6c3b06a 100644
--- a/tests/language_2/abstract/getter_test.dart
+++ b/tests/language_2/abstract/getter_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.9
+
 import "package:expect/expect.dart";
 
 // Test to ensure that an abstract getter is not mistaken for a field.
diff --git a/tests/language_2/abstract/method_test.dart b/tests/language_2/abstract/method_test.dart
index 05370d2..fb856c8 100644
--- a/tests/language_2/abstract/method_test.dart
+++ b/tests/language_2/abstract/method_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.9
+
 import "package:expect/expect.dart";
 
 // Checks that abstract instance methods are correctly resolved.
diff --git a/tests/language_2/abstract/object_method_test.dart b/tests/language_2/abstract/object_method_test.dart
index 2d4af77c..87a9e85 100644
--- a/tests/language_2/abstract/object_method_test.dart
+++ b/tests/language_2/abstract/object_method_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/abstract/override_adds_optional_args_concrete_subclass_test.dart b/tests/language_2/abstract/override_adds_optional_args_concrete_subclass_test.dart
index 12a023f..7d6596e 100644
--- a/tests/language_2/abstract/override_adds_optional_args_concrete_subclass_test.dart
+++ b/tests/language_2/abstract/override_adds_optional_args_concrete_subclass_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/abstract/override_adds_optional_args_concrete_test.dart b/tests/language_2/abstract/override_adds_optional_args_concrete_test.dart
index b8232e8..ad6feaf 100644
--- a/tests/language_2/abstract/override_adds_optional_args_concrete_test.dart
+++ b/tests/language_2/abstract/override_adds_optional_args_concrete_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/abstract/override_adds_optional_args_supercall_test.dart b/tests/language_2/abstract/override_adds_optional_args_supercall_test.dart
index 2a2bf3e..c29c347 100644
--- a/tests/language_2/abstract/override_adds_optional_args_supercall_test.dart
+++ b/tests/language_2/abstract/override_adds_optional_args_supercall_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/abstract/override_adds_optional_args_test.dart b/tests/language_2/abstract/override_adds_optional_args_test.dart
index d139307..b740d58 100644
--- a/tests/language_2/abstract/override_adds_optional_args_test.dart
+++ b/tests/language_2/abstract/override_adds_optional_args_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.9
+
 // This test exercises a corner case of override checking that is safe from a
 // soundness perspective, but which we haven't decided whether or not to allow
 // from a usability perspective.
diff --git a/tests/language_2/abstract/syntax_runtime_test.dart b/tests/language_2/abstract/syntax_runtime_test.dart
index 8646921..58d4612 100644
--- a/tests/language_2/abstract/syntax_runtime_test.dart
+++ b/tests/language_2/abstract/syntax_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/abstract/syntax_test.dart b/tests/language_2/abstract/syntax_test.dart
index a51480b..028ba03 100644
--- a/tests/language_2/abstract/syntax_test.dart
+++ b/tests/language_2/abstract/syntax_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/accessor_conflict/export2_helper.dart b/tests/language_2/accessor_conflict/export2_helper.dart
index 7827821..aeaabb7 100644
--- a/tests/language_2/accessor_conflict/export2_helper.dart
+++ b/tests/language_2/accessor_conflict/export2_helper.dart
@@ -2,5 +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.9
+
 export "setter.dart";
 export "getter.dart";
diff --git a/tests/language_2/accessor_conflict/export2_test.dart b/tests/language_2/accessor_conflict/export2_test.dart
index 58a1a77..fa0974c 100644
--- a/tests/language_2/accessor_conflict/export2_test.dart
+++ b/tests/language_2/accessor_conflict/export2_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files via a common export.  In this test the setter is imported
 // first.
diff --git a/tests/language_2/accessor_conflict/export_helper.dart b/tests/language_2/accessor_conflict/export_helper.dart
index ef02437..0cdfeb7 100644
--- a/tests/language_2/accessor_conflict/export_helper.dart
+++ b/tests/language_2/accessor_conflict/export_helper.dart
@@ -2,5 +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.9
+
 export "getter.dart";
 export "setter.dart";
diff --git a/tests/language_2/accessor_conflict/export_test.dart b/tests/language_2/accessor_conflict/export_test.dart
index babde00..07e3273 100644
--- a/tests/language_2/accessor_conflict/export_test.dart
+++ b/tests/language_2/accessor_conflict/export_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files via a common export.  In this test the getter is imported
 // first.
diff --git a/tests/language_2/accessor_conflict/getter.dart b/tests/language_2/accessor_conflict/getter.dart
index 5b8d72f..ee5e14e 100644
--- a/tests/language_2/accessor_conflict/getter.dart
+++ b/tests/language_2/accessor_conflict/getter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var getValue;
 
 get x => getValue;
diff --git a/tests/language_2/accessor_conflict/import2_test.dart b/tests/language_2/accessor_conflict/import2_test.dart
index 874b321..52f2fb0 100644
--- a/tests/language_2/accessor_conflict/import2_test.dart
+++ b/tests/language_2/accessor_conflict/import2_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files.  In this test the setter is imported first.
 
diff --git a/tests/language_2/accessor_conflict/import_prefixed2_test.dart b/tests/language_2/accessor_conflict/import_prefixed2_test.dart
index 283decf..267ebf4 100644
--- a/tests/language_2/accessor_conflict/import_prefixed2_test.dart
+++ b/tests/language_2/accessor_conflict/import_prefixed2_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files.  In this test the setter is imported first.
 
diff --git a/tests/language_2/accessor_conflict/import_prefixed_test.dart b/tests/language_2/accessor_conflict/import_prefixed_test.dart
index fdb3ca8..8fa2bcc 100644
--- a/tests/language_2/accessor_conflict/import_prefixed_test.dart
+++ b/tests/language_2/accessor_conflict/import_prefixed_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files.  In this test the getter is imported first.
 
diff --git a/tests/language_2/accessor_conflict/import_test.dart b/tests/language_2/accessor_conflict/import_test.dart
index 49be4e5..aad3437 100644
--- a/tests/language_2/accessor_conflict/import_test.dart
+++ b/tests/language_2/accessor_conflict/import_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.9
+
 // Verify that a getter and its corresponding setter can be imported from two
 // different files.  In this test the getter is imported first.
 
diff --git a/tests/language_2/accessor_conflict/setter.dart b/tests/language_2/accessor_conflict/setter.dart
index c3d383b..559f7d1 100644
--- a/tests/language_2/accessor_conflict/setter.dart
+++ b/tests/language_2/accessor_conflict/setter.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var setValue;
 
 set x(value) {
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_1_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_1_test.dart
index 506b358..909f90c 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_1_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_2_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_2_test.dart
index 4a355f2..d77618c 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_2_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_3_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_3_test.dart
index a99329a..31b75a0 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_3_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_4_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_4_test.dart
index b33fb97..8a6b650 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_4_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_5_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_5_test.dart
index df2ebb3..257e0d5 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_5_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_6_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_6_test.dart
index f3cbfb8..3c25c0b 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_6_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_7_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_7_test.dart
index 2b7ba59..31aa28c 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_7_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_runtime_test.dart b/tests/language_2/argument/assignability_function_typed_runtime_test.dart
index 1b8c09e..45375c7 100644
--- a/tests/language_2/argument/assignability_function_typed_runtime_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/argument/assignability_function_typed_test.dart b/tests/language_2/argument/assignability_function_typed_test.dart
index de2ebff..5611494 100644
--- a/tests/language_2/argument/assignability_function_typed_test.dart
+++ b/tests/language_2/argument/assignability_function_typed_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.9
+
 import "package:expect/expect.dart";
 
 void f(num callback(num x)) {}
diff --git a/tests/language_2/argument/named_argument_test.dart b/tests/language_2/argument/named_argument_test.dart
index d0f0d0e..a9b09ec 100644
--- a/tests/language_2/argument/named_argument_test.dart
+++ b/tests/language_2/argument/named_argument_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/argument/named_in_const_creation_test.dart b/tests/language_2/argument/named_in_const_creation_test.dart
index 93fe6e5..9db0b4e 100644
--- a/tests/language_2/argument/named_in_const_creation_test.dart
+++ b/tests/language_2/argument/named_in_const_creation_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/argument/not_enough_positional_arguments_test.dart b/tests/language_2/argument/not_enough_positional_arguments_test.dart
index 9ebd09f..2a0403a 100644
--- a/tests/language_2/argument/not_enough_positional_arguments_test.dart
+++ b/tests/language_2/argument/not_enough_positional_arguments_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.9
+
 foo(a, [b]) {}
 
 bar(a, {b}) {}
diff --git a/tests/language_2/argument/not_enough_positional_runtime_test.dart b/tests/language_2/argument/not_enough_positional_runtime_test.dart
index 4ad8424..64450ae 100644
--- a/tests/language_2/argument/not_enough_positional_runtime_test.dart
+++ b/tests/language_2/argument/not_enough_positional_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/assert/assert_test.dart b/tests/language_2/assert/assert_test.dart
index 0e12116..7937336 100644
--- a/tests/language_2/assert/assert_test.dart
+++ b/tests/language_2/assert/assert_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--enable-asserts
 // dart2jsOptions=--enable-asserts
 
+// @dart = 2.9
+
 // Dart test program testing assert statements.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/assert/assignable_type_test.dart b/tests/language_2/assert/assignable_type_test.dart
index 06b1c8d..a69b8ee 100644
--- a/tests/language_2/assert/assignable_type_test.dart
+++ b/tests/language_2/assert/assignable_type_test.dart
@@ -4,6 +4,8 @@
 // Dart test program to test arithmetic operations.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // This test crashes if we recompute type of AssertAssignableInstr based on its
 // output types. By doing that we would eliminate not only the unnecessary
 // AssertAssignableInstr but also the trailing class check.
diff --git a/tests/language_2/assert/initializer_const_error2_runtime_test.dart b/tests/language_2/assert/initializer_const_error2_runtime_test.dart
index 2ce838b..30d7019 100644
--- a/tests/language_2/assert/initializer_const_error2_runtime_test.dart
+++ b/tests/language_2/assert/initializer_const_error2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/assert/initializer_const_error2_test.dart b/tests/language_2/assert/initializer_const_error2_test.dart
index f5fa386..26cfb85 100644
--- a/tests/language_2/assert/initializer_const_error2_test.dart
+++ b/tests/language_2/assert/initializer_const_error2_test.dart
@@ -6,6 +6,8 @@
 //
 // Test of asserts in initializer lists.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/assert/initializer_const_error_runtime_test.dart b/tests/language_2/assert/initializer_const_error_runtime_test.dart
index 682d563..2296e0d 100644
--- a/tests/language_2/assert/initializer_const_error_runtime_test.dart
+++ b/tests/language_2/assert/initializer_const_error_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/assert/initializer_const_error_test.dart b/tests/language_2/assert/initializer_const_error_test.dart
index d7ec1fb..d3a3db5 100644
--- a/tests/language_2/assert/initializer_const_error_test.dart
+++ b/tests/language_2/assert/initializer_const_error_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.9
+
 class C {
   static bool check(x, y) => x < y;
   final int x;
diff --git a/tests/language_2/assert/initializer_const_function_runtime_test.dart b/tests/language_2/assert/initializer_const_function_runtime_test.dart
index ff43fc1..78a2d00 100644
--- a/tests/language_2/assert/initializer_const_function_runtime_test.dart
+++ b/tests/language_2/assert/initializer_const_function_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/assert/initializer_const_function_test.dart b/tests/language_2/assert/initializer_const_function_test.dart
index b581c1d..3c071d8 100644
--- a/tests/language_2/assert/initializer_const_function_test.dart
+++ b/tests/language_2/assert/initializer_const_function_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.9
+
 class C {
   static bool staticTrue() => true;
   final int x;
diff --git a/tests/language_2/assert/initializer_test.dart b/tests/language_2/assert/initializer_test.dart
index b2fe755..141b36d 100644
--- a/tests/language_2/assert/initializer_test.dart
+++ b/tests/language_2/assert/initializer_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.9
+
 // Dart test program testing assert statements.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/assert/message_test.dart b/tests/language_2/assert/message_test.dart
index e35f793..df01119 100644
--- a/tests/language_2/assert/message_test.dart
+++ b/tests/language_2/assert/message_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.9
+
 import "dart:async";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/assert/trailing_comma_runtime_test.dart b/tests/language_2/assert/trailing_comma_runtime_test.dart
index 066c5f7..00556ca 100644
--- a/tests/language_2/assert/trailing_comma_runtime_test.dart
+++ b/tests/language_2/assert/trailing_comma_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/assert/trailing_comma_test.dart b/tests/language_2/assert/trailing_comma_test.dart
index 7b90068..5a27888f 100644
--- a/tests/language_2/assert/trailing_comma_test.dart
+++ b/tests/language_2/assert/trailing_comma_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.9
+
 main() {
   assert(true);
   assert(true,);
diff --git a/tests/language_2/assert/with_message_test.dart b/tests/language_2/assert/with_message_test.dart
index 147ee2f..78c4863 100644
--- a/tests/language_2/assert/with_message_test.dart
+++ b/tests/language_2/assert/with_message_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/assert/with_type_test_or_cast_test.dart b/tests/language_2/assert/with_type_test_or_cast_test.dart
index 85a18ec..f413834 100644
--- a/tests/language_2/assert/with_type_test_or_cast_test.dart
+++ b/tests/language_2/assert/with_type_test_or_cast_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.9
+
 // Issue 3741: generic type tests and casts fail in assertion statements
 // when run in production mode.
 //
diff --git a/tests/language_2/assign/instance_method_test.dart b/tests/language_2/assign/instance_method_test.dart
index 0b4fa35..f7aea3f 100644
--- a/tests/language_2/assign/instance_method_test.dart
+++ b/tests/language_2/assign/instance_method_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/assign/op_test.dart b/tests/language_2/assign/op_test.dart
index 9ee3eae..0f265ff 100644
--- a/tests/language_2/assign/op_test.dart
+++ b/tests/language_2/assign/op_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing assign operators.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class AssignOpTest {
diff --git a/tests/language_2/assign/static_type_runtime_test.dart b/tests/language_2/assign/static_type_runtime_test.dart
index 2b0c4a4..d916029 100644
--- a/tests/language_2/assign/static_type_runtime_test.dart
+++ b/tests/language_2/assign/static_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/assign/static_type_test.dart b/tests/language_2/assign/static_type_test.dart
index 2362a6f..e5d475c 100644
--- a/tests/language_2/assign/static_type_test.dart
+++ b/tests/language_2/assign/static_type_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.9
+
 // This test insures that statically initialized variables, fields, and
 // parameters report compile-time errors.
 
diff --git a/tests/language_2/assign/to_type_runtime_test.dart b/tests/language_2/assign/to_type_runtime_test.dart
index ecb363e..ffafd1b 100644
--- a/tests/language_2/assign/to_type_runtime_test.dart
+++ b/tests/language_2/assign/to_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/assign/to_type_test.dart b/tests/language_2/assign/to_type_test.dart
index 277012a..2548b16 100644
--- a/tests/language_2/assign/to_type_test.dart
+++ b/tests/language_2/assign/to_type_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.9
+
 // Verify that an attempt to assign to a class, enum, typedef, or type
 // parameter produces a compile error.
 
diff --git a/tests/language_2/assign/top_method_test.dart b/tests/language_2/assign/top_method_test.dart
index 1b889b9..b240344 100644
--- a/tests/language_2/assign/top_method_test.dart
+++ b/tests/language_2/assign/top_method_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.9
+
 import "package:expect/expect.dart";
 
 method() {
diff --git a/tests/language_2/async/and_or_test.dart b/tests/language_2/async/and_or_test.dart
index b412c17..086e8e6 100644
--- a/tests/language_2/async/and_or_test.dart
+++ b/tests/language_2/async/and_or_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2015, 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.9
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async/async_test.dart b/tests/language_2/async/async_test.dart
index 4093ffd..db5c44a 100644
--- a/tests/language_2/async/async_test.dart
+++ b/tests/language_2/async/async_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.9
+
 import 'package:async_helper/async_helper.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/async/await_catch_regression_test.dart b/tests/language_2/async/await_catch_regression_test.dart
index b83b0b1..4fea205 100644
--- a/tests/language_2/async/await_catch_regression_test.dart
+++ b/tests/language_2/async/await_catch_regression_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/async/await_foreign_test.dart b/tests/language_2/async/await_foreign_test.dart
index 2674f95..92abe15 100644
--- a/tests/language_2/async/await_foreign_test.dart
+++ b/tests/language_2/async/await_foreign_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/language_2/async/await_syntax_test.dart b/tests/language_2/async/await_syntax_test.dart
index dcc193c..687935b 100644
--- a/tests/language_2/async/await_syntax_test.dart
+++ b/tests/language_2/async/await_syntax_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.9
+
 // Test async/await syntax.
 
 import 'dart:async' show Stream;
diff --git a/tests/language_2/async/await_test.dart b/tests/language_2/async/await_test.dart
index 8c7bf2f..6b6443d 100644
--- a/tests/language_2/async/await_test.dart
+++ b/tests/language_2/async/await_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.9
+
 library async_await_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/async/backwards_compatibility_1_test.dart b/tests/language_2/async/backwards_compatibility_1_test.dart
index b11fad5..b29fa7e 100644
--- a/tests/language_2/async/backwards_compatibility_1_test.dart
+++ b/tests/language_2/async/backwards_compatibility_1_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.9
+
 import 'dart:async';
 import 'helper_lib.dart' as async;
 
diff --git a/tests/language_2/async/backwards_compatibility_2_test.dart b/tests/language_2/async/backwards_compatibility_2_test.dart
index 7fe1a9e..c295d6d 100644
--- a/tests/language_2/async/backwards_compatibility_2_test.dart
+++ b/tests/language_2/async/backwards_compatibility_2_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.9
+
 int get async {
   return 1;
 }
diff --git a/tests/language_2/async/break_in_finally_test.dart b/tests/language_2/async/break_in_finally_test.dart
index c7af117..72232f5 100644
--- a/tests/language_2/async/break_in_finally_test.dart
+++ b/tests/language_2/async/break_in_finally_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/async/call_test.dart b/tests/language_2/async/call_test.dart
index bc107b6..9234b11 100644
--- a/tests/language_2/async/call_test.dart
+++ b/tests/language_2/async/call_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async/cascade_test.dart b/tests/language_2/async/cascade_test.dart
index 412c95a..6f8d9df 100644
--- a/tests/language_2/async/cascade_test.dart
+++ b/tests/language_2/async/cascade_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.9
+
 import 'dart:async';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/async/congruence_local_runtime_test.dart b/tests/language_2/async/congruence_local_runtime_test.dart
index 55ade03..dfecf90 100644
--- a/tests/language_2/async/congruence_local_runtime_test.dart
+++ b/tests/language_2/async/congruence_local_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/async/congruence_local_test.dart b/tests/language_2/async/congruence_local_test.dart
index de5fbaa..7a9d30c 100644
--- a/tests/language_2/async/congruence_local_test.dart
+++ b/tests/language_2/async/congruence_local_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.9
+
 // This test verifies that for a local async function, the following three
 // types are all appropriately matched:
 // - The static return type
diff --git a/tests/language_2/async/congruence_method_runtime_test.dart b/tests/language_2/async/congruence_method_runtime_test.dart
index 485941a..48ff41a 100644
--- a/tests/language_2/async/congruence_method_runtime_test.dart
+++ b/tests/language_2/async/congruence_method_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/async/congruence_method_test.dart b/tests/language_2/async/congruence_method_test.dart
index e951103..689b1ce 100644
--- a/tests/language_2/async/congruence_method_test.dart
+++ b/tests/language_2/async/congruence_method_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.9
+
 // This test verifies that for an async method, the following three
 // types are all appropriately matched:
 // - The static return type
diff --git a/tests/language_2/async/congruence_top_level_test.dart b/tests/language_2/async/congruence_top_level_test.dart
index 20b7b54..85a44a6 100644
--- a/tests/language_2/async/congruence_top_level_test.dart
+++ b/tests/language_2/async/congruence_top_level_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.9
+
 // This test verifies that for a top level async function, the following three
 // types are all appropriately matched:
 // - The static return type
diff --git a/tests/language_2/async/congruence_unnamed_runtime_test.dart b/tests/language_2/async/congruence_unnamed_runtime_test.dart
index ae0d9d2..5ba4c18 100644
--- a/tests/language_2/async/congruence_unnamed_runtime_test.dart
+++ b/tests/language_2/async/congruence_unnamed_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/async/congruence_unnamed_test.dart b/tests/language_2/async/congruence_unnamed_test.dart
index ecc2964..4c069d9 100644
--- a/tests/language_2/async/congruence_unnamed_test.dart
+++ b/tests/language_2/async/congruence_unnamed_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.9
+
 // This test verifies that for an unnamed async closure, the following three
 // types are all appropriately matched:
 // - The static return type
diff --git a/tests/language_2/async/continue_label_test.dart b/tests/language_2/async/continue_label_test.dart
index c33fa53..9df59e1 100644
--- a/tests/language_2/async/continue_label_test.dart
+++ b/tests/language_2/async/continue_label_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/async/control_structures_test.dart b/tests/language_2/async/control_structures_test.dart
index 592ff5a..787197c 100644
--- a/tests/language_2/async/control_structures_test.dart
+++ b/tests/language_2/async/control_structures_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.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/async/covariant_type_test.dart b/tests/language_2/async/covariant_type_test.dart
index c619673..cb050f7 100644
--- a/tests/language_2/async/covariant_type_test.dart
+++ b/tests/language_2/async/covariant_type_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.9
+
 // Test that TypeErrors happen for async methods without using returned Future.
 
 import 'dart:async';
diff --git a/tests/language_2/async/dcall_type_test.dart b/tests/language_2/async/dcall_type_test.dart
index b3ffbe6..96d7a2e 100644
--- a/tests/language_2/async/dcall_type_test.dart
+++ b/tests/language_2/async/dcall_type_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.9
+
 // Test that TypeErrors happen for async methods without using returned Future.
 
 import 'dart:async';
diff --git a/tests/language_2/async/error_timing_test.dart b/tests/language_2/async/error_timing_test.dart
index 4b840c7..dd4251c 100644
--- a/tests/language_2/async/error_timing_test.dart
+++ b/tests/language_2/async/error_timing_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/language_2/async/finally_rethrow_test.dart b/tests/language_2/async/finally_rethrow_test.dart
index 50b1cb3..5cdb7df 100644
--- a/tests/language_2/async/finally_rethrow_test.dart
+++ b/tests/language_2/async/finally_rethrow_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/async/helper_lib.dart b/tests/language_2/async/helper_lib.dart
index e91efac..51e6a21 100644
--- a/tests/language_2/async/helper_lib.dart
+++ b/tests/language_2/async/helper_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library async;
 
 class async {}
diff --git a/tests/language_2/async/identifier_test.dart b/tests/language_2/async/identifier_test.dart
index ad935d2..c53ca4f 100644
--- a/tests/language_2/async/identifier_test.dart
+++ b/tests/language_2/async/identifier_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.9
+
 // VMOptions=
 // VMOptions=--dwarf_stack_traces --no-retain_function_objects --no-retain_code_objects
 
diff --git a/tests/language_2/async/lib.dart b/tests/language_2/async/lib.dart
index a6be037..ce829a9 100644
--- a/tests/language_2/async/lib.dart
+++ b/tests/language_2/async/lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Helper library for async_identifier_test.dart
 
 int async;
diff --git a/tests/language_2/async/or_generator_return_type_stacktrace_runtime_test.dart b/tests/language_2/async/or_generator_return_type_stacktrace_runtime_test.dart
index e41973a..8adb77e 100644
--- a/tests/language_2/async/or_generator_return_type_stacktrace_runtime_test.dart
+++ b/tests/language_2/async/or_generator_return_type_stacktrace_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/async/or_generator_return_type_stacktrace_test.dart b/tests/language_2/async/or_generator_return_type_stacktrace_test.dart
index a6de936..414686c 100644
--- a/tests/language_2/async/or_generator_return_type_stacktrace_test.dart
+++ b/tests/language_2/async/or_generator_return_type_stacktrace_test.dart
@@ -2,20 +2,22 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 int badReturnTypeAsync() async {}
-// [error line 7, column 1, length 3]
+// [error line 9, column 1, length 3]
 // [analyzer] COMPILE_TIME_ERROR.ILLEGAL_ASYNC_RETURN_TYPE
 //  ^
 // [cfe] Functions marked 'async' must have a return type assignable to 'Future'.
 int badReturnTypeAsyncStar() async* {}
-// [error line 12, column 1, length 3]
+// [error line 14, column 1, length 3]
 // [analyzer] COMPILE_TIME_ERROR.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE
 //  ^
 // [cfe] Functions marked 'async*' must have a return type assignable to 'Stream'.
 int badReturnTypeSyncStar() sync* {}
-// [error line 17, column 1, length 3]
+// [error line 19, column 1, length 3]
 // [analyzer] COMPILE_TIME_ERROR.ILLEGAL_SYNC_GENERATOR_RETURN_TYPE
 //  ^
 // [cfe] Functions marked 'sync*' must have a return type assignable to 'Iterable'.
diff --git a/tests/language_2/async/regression_23058_test.dart b/tests/language_2/async/regression_23058_test.dart
index 088dac6..7947806 100644
--- a/tests/language_2/async/regression_23058_test.dart
+++ b/tests/language_2/async/regression_23058_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.9
+
 // Regression test for issue 23058.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/async/rethrow_test.dart b/tests/language_2/async/rethrow_test.dart
index 9ed117c..be87dfd 100644
--- a/tests/language_2/async/rethrow_test.dart
+++ b/tests/language_2/async/rethrow_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/async/return_throw_test.dart b/tests/language_2/async/return_throw_test.dart
index 43c9271..d24c4c5 100644
--- a/tests/language_2/async/return_throw_test.dart
+++ b/tests/language_2/async/return_throw_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.9
+
 import "package:expect/expect.dart";
 
 Future<String> f() async {
diff --git a/tests/language_2/async/return_types_runtime_test.dart b/tests/language_2/async/return_types_runtime_test.dart
index b8c1de6..34f4142 100644
--- a/tests/language_2/async/return_types_runtime_test.dart
+++ b/tests/language_2/async/return_types_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/async/return_types_test.dart b/tests/language_2/async/return_types_test.dart
index 66853a7..d976b5bc 100644
--- a/tests/language_2/async/return_types_test.dart
+++ b/tests/language_2/async/return_types_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
@@ -23,7 +25,7 @@
 }
 
 Future<int, String>
-// [error line 25, column 1, length 19]
+// [error line 27, column 1, length 19]
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 1 type arguments.
 foo4() async {
@@ -31,10 +33,10 @@
 }
 
 int
-// [error line 33, column 1, length 3]
+// [error line 35, column 1, length 3]
 // [analyzer] COMPILE_TIME_ERROR.ILLEGAL_ASYNC_RETURN_TYPE
 foo5() async {
-// [error line 36, column 1]
+// [error line 38, column 1]
 // [cfe] Functions marked 'async' must have a return type assignable to 'Future'.
   return 3;
 }
@@ -57,9 +59,9 @@
   return 8;
 //^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.RETURN_IN_GENERATOR
-// [cfe] 'sync*' and 'async*' can't return a value.
 //^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.RETURN_IN_GENERATOR
+// [cfe] 'sync*' and 'async*' can't return a value.
 }
 
 Stream<int> foo9() async* {
@@ -68,9 +70,9 @@
   return 8;
 //^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.RETURN_IN_GENERATOR
-// [cfe] 'sync*' and 'async*' can't return a value.
 //^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.RETURN_IN_GENERATOR
+// [cfe] 'sync*' and 'async*' can't return a value.
 }
 
 test() async {
diff --git a/tests/language_2/async/switch_test.dart b/tests/language_2/async/switch_test.dart
index dc9bf75..7d8754a 100644
--- a/tests/language_2/async/switch_test.dart
+++ b/tests/language_2/async/switch_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async/this_bound_test.dart b/tests/language_2/async/this_bound_test.dart
index 50d31a4..f5d724e6 100644
--- a/tests/language_2/async/this_bound_test.dart
+++ b/tests/language_2/async/this_bound_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/async/throw_in_catch_test.dart b/tests/language_2/async/throw_in_catch_test.dart
index f32b893..f248982 100644
--- a/tests/language_2/async/throw_in_catch_test.dart
+++ b/tests/language_2/async/throw_in_catch_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_nested/async_nested01_test.dart b/tests/language_2/async_nested/async_nested01_test.dart
index a4d0891..0eea794 100644
--- a/tests/language_2/async_nested/async_nested01_test.dart
+++ b/tests/language_2/async_nested/async_nested01_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested02_test.dart b/tests/language_2/async_nested/async_nested02_test.dart
index 5d42d9e..e5efb09 100644
--- a/tests/language_2/async_nested/async_nested02_test.dart
+++ b/tests/language_2/async_nested/async_nested02_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested03_test.dart b/tests/language_2/async_nested/async_nested03_test.dart
index 5b485ac..863fb09 100644
--- a/tests/language_2/async_nested/async_nested03_test.dart
+++ b/tests/language_2/async_nested/async_nested03_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested04_test.dart b/tests/language_2/async_nested/async_nested04_test.dart
index 1731ccd..3f2890a 100644
--- a/tests/language_2/async_nested/async_nested04_test.dart
+++ b/tests/language_2/async_nested/async_nested04_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested05_test.dart b/tests/language_2/async_nested/async_nested05_test.dart
index 88a0aff..95387e3 100644
--- a/tests/language_2/async_nested/async_nested05_test.dart
+++ b/tests/language_2/async_nested/async_nested05_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested06_test.dart b/tests/language_2/async_nested/async_nested06_test.dart
index 787a292..551eb38 100644
--- a/tests/language_2/async_nested/async_nested06_test.dart
+++ b/tests/language_2/async_nested/async_nested06_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested07_test.dart b/tests/language_2/async_nested/async_nested07_test.dart
index 7a56f3d..3571995 100644
--- a/tests/language_2/async_nested/async_nested07_test.dart
+++ b/tests/language_2/async_nested/async_nested07_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested08_test.dart b/tests/language_2/async_nested/async_nested08_test.dart
index 43f5f25..be11233 100644
--- a/tests/language_2/async_nested/async_nested08_test.dart
+++ b/tests/language_2/async_nested/async_nested08_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested09_test.dart b/tests/language_2/async_nested/async_nested09_test.dart
index 48b383d..bd7057a 100644
--- a/tests/language_2/async_nested/async_nested09_test.dart
+++ b/tests/language_2/async_nested/async_nested09_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested10_test.dart b/tests/language_2/async_nested/async_nested10_test.dart
index 8af92fc..06e15c2 100644
--- a/tests/language_2/async_nested/async_nested10_test.dart
+++ b/tests/language_2/async_nested/async_nested10_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested11_test.dart b/tests/language_2/async_nested/async_nested11_test.dart
index 15e1bd6..c9641a7 100644
--- a/tests/language_2/async_nested/async_nested11_test.dart
+++ b/tests/language_2/async_nested/async_nested11_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested12_test.dart b/tests/language_2/async_nested/async_nested12_test.dart
index 514632d..db02de6 100644
--- a/tests/language_2/async_nested/async_nested12_test.dart
+++ b/tests/language_2/async_nested/async_nested12_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested13_test.dart b/tests/language_2/async_nested/async_nested13_test.dart
index cfb9a95..a607205 100644
--- a/tests/language_2/async_nested/async_nested13_test.dart
+++ b/tests/language_2/async_nested/async_nested13_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested14_test.dart b/tests/language_2/async_nested/async_nested14_test.dart
index 4f43ef9..a39870b 100644
--- a/tests/language_2/async_nested/async_nested14_test.dart
+++ b/tests/language_2/async_nested/async_nested14_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested15_test.dart b/tests/language_2/async_nested/async_nested15_test.dart
index 140d1ff..83e5292 100644
--- a/tests/language_2/async_nested/async_nested15_test.dart
+++ b/tests/language_2/async_nested/async_nested15_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested16_test.dart b/tests/language_2/async_nested/async_nested16_test.dart
index 1e4a945..aa742d4 100644
--- a/tests/language_2/async_nested/async_nested16_test.dart
+++ b/tests/language_2/async_nested/async_nested16_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested17_test.dart b/tests/language_2/async_nested/async_nested17_test.dart
index 8f7584d..62aa700 100644
--- a/tests/language_2/async_nested/async_nested17_test.dart
+++ b/tests/language_2/async_nested/async_nested17_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested18_test.dart b/tests/language_2/async_nested/async_nested18_test.dart
index 6c68db7..73cb3ae 100644
--- a/tests/language_2/async_nested/async_nested18_test.dart
+++ b/tests/language_2/async_nested/async_nested18_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested19_test.dart b/tests/language_2/async_nested/async_nested19_test.dart
index 21aadf7..46c48bf 100644
--- a/tests/language_2/async_nested/async_nested19_test.dart
+++ b/tests/language_2/async_nested/async_nested19_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested20_test.dart b/tests/language_2/async_nested/async_nested20_test.dart
index 217d46b..2d13af9 100644
--- a/tests/language_2/async_nested/async_nested20_test.dart
+++ b/tests/language_2/async_nested/async_nested20_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested21_test.dart b/tests/language_2/async_nested/async_nested21_test.dart
index b2eb8e2..a7fe3ae 100644
--- a/tests/language_2/async_nested/async_nested21_test.dart
+++ b/tests/language_2/async_nested/async_nested21_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested22_test.dart b/tests/language_2/async_nested/async_nested22_test.dart
index 5184ee9..f407cd6 100644
--- a/tests/language_2/async_nested/async_nested22_test.dart
+++ b/tests/language_2/async_nested/async_nested22_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested23_test.dart b/tests/language_2/async_nested/async_nested23_test.dart
index 53f011e..b7082d5 100644
--- a/tests/language_2/async_nested/async_nested23_test.dart
+++ b/tests/language_2/async_nested/async_nested23_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested24_test.dart b/tests/language_2/async_nested/async_nested24_test.dart
index 52a6878..66a18f0 100644
--- a/tests/language_2/async_nested/async_nested24_test.dart
+++ b/tests/language_2/async_nested/async_nested24_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested25_test.dart b/tests/language_2/async_nested/async_nested25_test.dart
index 6020ccf..9606cad 100644
--- a/tests/language_2/async_nested/async_nested25_test.dart
+++ b/tests/language_2/async_nested/async_nested25_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested26_test.dart b/tests/language_2/async_nested/async_nested26_test.dart
index 23a7165..a9e0e9c 100644
--- a/tests/language_2/async_nested/async_nested26_test.dart
+++ b/tests/language_2/async_nested/async_nested26_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested27_test.dart b/tests/language_2/async_nested/async_nested27_test.dart
index 629bfdc..2c832cd 100644
--- a/tests/language_2/async_nested/async_nested27_test.dart
+++ b/tests/language_2/async_nested/async_nested27_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested28_test.dart b/tests/language_2/async_nested/async_nested28_test.dart
index 8106fee..c9b4bf4 100644
--- a/tests/language_2/async_nested/async_nested28_test.dart
+++ b/tests/language_2/async_nested/async_nested28_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested29_test.dart b/tests/language_2/async_nested/async_nested29_test.dart
index 25671db..b312e4f 100644
--- a/tests/language_2/async_nested/async_nested29_test.dart
+++ b/tests/language_2/async_nested/async_nested29_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested30_test.dart b/tests/language_2/async_nested/async_nested30_test.dart
index 97a958a..c98b92a 100644
--- a/tests/language_2/async_nested/async_nested30_test.dart
+++ b/tests/language_2/async_nested/async_nested30_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested31_test.dart b/tests/language_2/async_nested/async_nested31_test.dart
index f07f42f..ccf6a0d 100644
--- a/tests/language_2/async_nested/async_nested31_test.dart
+++ b/tests/language_2/async_nested/async_nested31_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested32_test.dart b/tests/language_2/async_nested/async_nested32_test.dart
index 0adec4f..ca169a22 100644
--- a/tests/language_2/async_nested/async_nested32_test.dart
+++ b/tests/language_2/async_nested/async_nested32_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested33_test.dart b/tests/language_2/async_nested/async_nested33_test.dart
index c8d92cc..ce7f5b8 100644
--- a/tests/language_2/async_nested/async_nested33_test.dart
+++ b/tests/language_2/async_nested/async_nested33_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested34_test.dart b/tests/language_2/async_nested/async_nested34_test.dart
index 9a22523..b510e5b 100644
--- a/tests/language_2/async_nested/async_nested34_test.dart
+++ b/tests/language_2/async_nested/async_nested34_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested35_test.dart b/tests/language_2/async_nested/async_nested35_test.dart
index 8d8f91c..a94b750 100644
--- a/tests/language_2/async_nested/async_nested35_test.dart
+++ b/tests/language_2/async_nested/async_nested35_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested36_test.dart b/tests/language_2/async_nested/async_nested36_test.dart
index 7eb30ee..db491d6 100644
--- a/tests/language_2/async_nested/async_nested36_test.dart
+++ b/tests/language_2/async_nested/async_nested36_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested37_test.dart b/tests/language_2/async_nested/async_nested37_test.dart
index a98b5d8..d43ae70 100644
--- a/tests/language_2/async_nested/async_nested37_test.dart
+++ b/tests/language_2/async_nested/async_nested37_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested38_test.dart b/tests/language_2/async_nested/async_nested38_test.dart
index c7e4b2a..8272c1e 100644
--- a/tests/language_2/async_nested/async_nested38_test.dart
+++ b/tests/language_2/async_nested/async_nested38_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested39_test.dart b/tests/language_2/async_nested/async_nested39_test.dart
index 8ee3931..e029484 100644
--- a/tests/language_2/async_nested/async_nested39_test.dart
+++ b/tests/language_2/async_nested/async_nested39_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested40_test.dart b/tests/language_2/async_nested/async_nested40_test.dart
index a53913a..c631f92 100644
--- a/tests/language_2/async_nested/async_nested40_test.dart
+++ b/tests/language_2/async_nested/async_nested40_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_nested/async_nested41_test.dart b/tests/language_2/async_nested/async_nested41_test.dart
index dddc115..105e525 100644
--- a/tests/language_2/async_nested/async_nested41_test.dart
+++ b/tests/language_2/async_nested/async_nested41_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.9
+
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/tests/language_2/async_star/async_star2_regression_test.dart b/tests/language_2/async_star/async_star2_regression_test.dart
index 7c8acfc..07e8e44 100644
--- a/tests/language_2/async_star/async_star2_regression_test.dart
+++ b/tests/language_2/async_star/async_star2_regression_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.9
+
 library async_start_test;
 
 import "dart:async";
diff --git a/tests/language_2/async_star/async_star_await_for_test.dart b/tests/language_2/async_star/async_star_await_for_test.dart
index 0493a1f..980f8c7 100644
--- a/tests/language_2/async_star/async_star_await_for_test.dart
+++ b/tests/language_2/async_star/async_star_await_for_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.9
+
 // Test that `await for` and `async*` interact correctly.
 
 // An `await for` must pause its subscription immediately
diff --git a/tests/language_2/async_star/async_star_cancel_test.dart b/tests/language_2/async_star/async_star_cancel_test.dart
index c23c6ba..80f716c 100644
--- a/tests/language_2/async_star/async_star_cancel_test.dart
+++ b/tests/language_2/async_star/async_star_cancel_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.9
+
 // Test that stream cancellation is checked immediately after delivering the
 // event, and before continuing after the yield.
 
diff --git a/tests/language_2/async_star/async_star_invalid_test.dart b/tests/language_2/async_star/async_star_invalid_test.dart
index 0c5199f..c4d3123 100644
--- a/tests/language_2/async_star/async_star_invalid_test.dart
+++ b/tests/language_2/async_star/async_star_invalid_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.9
+
 // Test that various invalid uses of `yield` are disallowed.
 
 import "dart:async";
diff --git a/tests/language_2/async_star/async_star_test.dart b/tests/language_2/async_star/async_star_test.dart
index 819039e..28d9b7f 100644
--- a/tests/language_2/async_star/async_star_test.dart
+++ b/tests/language_2/async_star/async_star_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/await_for_test.dart b/tests/language_2/async_star/await_for_test.dart
index fb99084..cef97c1 100644
--- a/tests/language_2/async_star/await_for_test.dart
+++ b/tests/language_2/async_star/await_for_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/await_pauses_test.dart b/tests/language_2/async_star/await_pauses_test.dart
index d1887ab..cde8a0a 100644
--- a/tests/language_2/async_star/await_pauses_test.dart
+++ b/tests/language_2/async_star/await_pauses_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/basic_test.dart b/tests/language_2/async_star/basic_test.dart
index 73a956d..92f437d 100644
--- a/tests/language_2/async_star/basic_test.dart
+++ b/tests/language_2/async_star/basic_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/cancel_and_throw_in_finally_test.dart b/tests/language_2/async_star/cancel_and_throw_in_finally_test.dart
index cd7a68a..7773af7 100644
--- a/tests/language_2/async_star/cancel_and_throw_in_finally_test.dart
+++ b/tests/language_2/async_star/cancel_and_throw_in_finally_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/cancel_test.dart b/tests/language_2/async_star/cancel_test.dart
index 18c2787..1c01a34 100644
--- a/tests/language_2/async_star/cancel_test.dart
+++ b/tests/language_2/async_star/cancel_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/cancel_while_paused_at_yield_test.dart b/tests/language_2/async_star/cancel_while_paused_at_yield_test.dart
index af7e846..d2c8abb 100644
--- a/tests/language_2/async_star/cancel_while_paused_at_yield_test.dart
+++ b/tests/language_2/async_star/cancel_while_paused_at_yield_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/cancel_while_paused_test.dart b/tests/language_2/async_star/cancel_while_paused_test.dart
index 28fee19..ec9040a 100644
--- a/tests/language_2/async_star/cancel_while_paused_test.dart
+++ b/tests/language_2/async_star/cancel_while_paused_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.9
+
 // This is a regression test for issue 22853.
 
 import "dart:async";
diff --git a/tests/language_2/async_star/concat_test.dart b/tests/language_2/async_star/concat_test.dart
index 222e3cf..793f8b3 100644
--- a/tests/language_2/async_star/concat_test.dart
+++ b/tests/language_2/async_star/concat_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/async_star/covariant_type_test.dart b/tests/language_2/async_star/covariant_type_test.dart
index 836daf0..47e9789 100644
--- a/tests/language_2/async_star/covariant_type_test.dart
+++ b/tests/language_2/async_star/covariant_type_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.9
+
 // Test that TypeErrors for async* methods happen without using returned Stream.
 
 import 'dart:async';
diff --git a/tests/language_2/async_star/dcall_type_test.dart b/tests/language_2/async_star/dcall_type_test.dart
index 1330a6d..972c917 100644
--- a/tests/language_2/async_star/dcall_type_test.dart
+++ b/tests/language_2/async_star/dcall_type_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.9
+
 // Test that TypeErrors for async* methods happen without using returned Stream.
 
 import 'dart:async';
diff --git a/tests/language_2/async_star/error_test.dart b/tests/language_2/async_star/error_test.dart
index dc06e5a..5d279f4 100644
--- a/tests/language_2/async_star/error_test.dart
+++ b/tests/language_2/async_star/error_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.9
+
 import "dart:async";
 import "package:async_helper/async_minitest.dart";
 
diff --git a/tests/language_2/async_star/loops_test.dart b/tests/language_2/async_star/loops_test.dart
index 8d6df7c..1c65c70 100644
--- a/tests/language_2/async_star/loops_test.dart
+++ b/tests/language_2/async_star/loops_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.9
+
 import 'package:async_helper/async_minitest.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/async_star/no_cancel2_test.dart b/tests/language_2/async_star/no_cancel2_test.dart
index d98b158..067fccf 100644
--- a/tests/language_2/async_star/no_cancel2_test.dart
+++ b/tests/language_2/async_star/no_cancel2_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/no_cancel_test.dart b/tests/language_2/async_star/no_cancel_test.dart
index 453005f..179bdf0 100644
--- a/tests/language_2/async_star/no_cancel_test.dart
+++ b/tests/language_2/async_star/no_cancel_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/pause_test.dart b/tests/language_2/async_star/pause_test.dart
index 4950e89..fbfe050 100644
--- a/tests/language_2/async_star/pause_test.dart
+++ b/tests/language_2/async_star/pause_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.9
+
 library async_star_pause_test;
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/pause_test2.dart b/tests/language_2/async_star/pause_test2.dart
index a240d3d..11e0429 100644
--- a/tests/language_2/async_star/pause_test2.dart
+++ b/tests/language_2/async_star/pause_test2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/regression_2238_test.dart b/tests/language_2/async_star/regression_2238_test.dart
index 9cfffa6..515ede1 100644
--- a/tests/language_2/async_star/regression_2238_test.dart
+++ b/tests/language_2/async_star/regression_2238_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.9
+
 // This is a regression test for issue 2238
 import "dart:async";
 import "package:expect/expect.dart";
diff --git a/tests/language_2/async_star/regression_23116_test.dart b/tests/language_2/async_star/regression_23116_test.dart
index d1c6390..e69059c 100644
--- a/tests/language_2/async_star/regression_23116_test.dart
+++ b/tests/language_2/async_star/regression_23116_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.9
+
 // Regression test for https://code.google.com/p/dart/issues/detail?id=23116
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/async_star/regression_fisk_test.dart b/tests/language_2/async_star/regression_fisk_test.dart
index 6651c92..fe01969 100644
--- a/tests/language_2/async_star/regression_fisk_test.dart
+++ b/tests/language_2/async_star/regression_fisk_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.9
+
 // This test may crash dart2js.
 
 import "dart:async";
diff --git a/tests/language_2/async_star/stream_take_test.dart b/tests/language_2/async_star/stream_take_test.dart
index 8fd3a77..e8a01c7 100644
--- a/tests/language_2/async_star/stream_take_test.dart
+++ b/tests/language_2/async_star/stream_take_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/take_reyield_test.dart b/tests/language_2/async_star/take_reyield_test.dart
index 62e97c4..c389bec 100644
--- a/tests/language_2/async_star/take_reyield_test.dart
+++ b/tests/language_2/async_star/take_reyield_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/throw_in_catch_test.dart b/tests/language_2/async_star/throw_in_catch_test.dart
index 884b492..57b6b0e 100644
--- a/tests/language_2/async_star/throw_in_catch_test.dart
+++ b/tests/language_2/async_star/throw_in_catch_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/utils.dart b/tests/language_2/async_star/utils.dart
index dfd97de..be8e165 100644
--- a/tests/language_2/async_star/utils.dart
+++ b/tests/language_2/async_star/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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/language_2/async_star/void_async_star_test.dart b/tests/language_2/async_star/void_async_star_test.dart
index 8e3c77d..79bc14f 100644
--- a/tests/language_2/async_star/void_async_star_test.dart
+++ b/tests/language_2/async_star/void_async_star_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.9
+
 // It is an error for an `async*` function to have return type `void`.
 
 import 'dart:async';
diff --git a/tests/language_2/async_star/yield_expressions_test.dart b/tests/language_2/async_star/yield_expressions_test.dart
index fe3578e..9d6527d 100644
--- a/tests/language_2/async_star/yield_expressions_test.dart
+++ b/tests/language_2/async_star/yield_expressions_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.9
+
 import 'package:async_helper/async_minitest.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/async_star/yield_from_catch_test.dart b/tests/language_2/async_star/yield_from_catch_test.dart
index 0f08c1f..3af2d08 100644
--- a/tests/language_2/async_star/yield_from_catch_test.dart
+++ b/tests/language_2/async_star/yield_from_catch_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.9
+
 // Test for issue: https://github.com/dart-lang/sdk/issues/39994
 
 import "dart:async";
diff --git a/tests/language_2/async_star/yield_statement_context_test.dart b/tests/language_2/async_star/yield_statement_context_test.dart
index 7320f02..e512b3f 100644
--- a/tests/language_2/async_star/yield_statement_context_test.dart
+++ b/tests/language_2/async_star/yield_statement_context_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.9
+
 import 'package:async_helper/async_minitest.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/async_star/yield_test.dart b/tests/language_2/async_star/yield_test.dart
index 1ead715..081174f 100644
--- a/tests/language_2/async_star/yield_test.dart
+++ b/tests/language_2/async_star/yield_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/async_star/yieldstar_test.dart b/tests/language_2/async_star/yieldstar_test.dart
index 55130d7..23647a4 100644
--- a/tests/language_2/async_star/yieldstar_test.dart
+++ b/tests/language_2/async_star/yieldstar_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await/and_ifnull_test.dart b/tests/language_2/await/and_ifnull_test.dart
index d9a38f3..b1ec0cf 100644
--- a/tests/language_2/await/and_ifnull_test.dart
+++ b/tests/language_2/await/and_ifnull_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/await/await_test.dart b/tests/language_2/await/await_test.dart
index ff1fe91..22aa183 100644
--- a/tests/language_2/await/await_test.dart
+++ b/tests/language_2/await/await_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.9
+
 // VMOptions=---optimization-counter-threshold=10
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/backwards_compatibility_runtime_test.dart b/tests/language_2/await/backwards_compatibility_runtime_test.dart
index e257558..c755f58 100644
--- a/tests/language_2/await/backwards_compatibility_runtime_test.dart
+++ b/tests/language_2/await/backwards_compatibility_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/await/backwards_compatibility_test.dart b/tests/language_2/await/backwards_compatibility_test.dart
index ea6084c..f8960bc 100644
--- a/tests/language_2/await/backwards_compatibility_test.dart
+++ b/tests/language_2/await/backwards_compatibility_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.9
+
 import 'dart:async';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/exceptions_test.dart b/tests/language_2/await/exceptions_test.dart
index c141edc..6a9f2f5 100644
--- a/tests/language_2/await/exceptions_test.dart
+++ b/tests/language_2/await/exceptions_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.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/for_cancel_test.dart b/tests/language_2/await/for_cancel_test.dart
index c308b4f5..981c7b6 100644
--- a/tests/language_2/await/for_cancel_test.dart
+++ b/tests/language_2/await/for_cancel_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await/for_test.dart b/tests/language_2/await/for_test.dart
index a655d5f..214a61f 100644
--- a/tests/language_2/await/for_test.dart
+++ b/tests/language_2/await/for_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await/for_use_local_test.dart b/tests/language_2/await/for_use_local_test.dart
index a8df068..2b72662 100644
--- a/tests/language_2/await/for_use_local_test.dart
+++ b/tests/language_2/await/for_use_local_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await/future_test.dart b/tests/language_2/await/future_test.dart
index 55acba5..c927f6f 100644
--- a/tests/language_2/await/future_test.dart
+++ b/tests/language_2/await/future_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.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/in_cascade_test.dart b/tests/language_2/await/in_cascade_test.dart
index 7049e73..86bda2a 100644
--- a/tests/language_2/await/in_cascade_test.dart
+++ b/tests/language_2/await/in_cascade_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/await/nonfuture_test.dart b/tests/language_2/await/nonfuture_test.dart
index 1aa6855..6d5eb4a 100644
--- a/tests/language_2/await/nonfuture_test.dart
+++ b/tests/language_2/await/nonfuture_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.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/null_aware_test.dart b/tests/language_2/await/null_aware_test.dart
index 483d9dd..9c6b273 100644
--- a/tests/language_2/await/null_aware_test.dart
+++ b/tests/language_2/await/null_aware_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.9
+
 // Regression test for issue dartbug.com/24392
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/await/postfix_expr_test.dart b/tests/language_2/await/postfix_expr_test.dart
index e0037f4..787ebab 100644
--- a/tests/language_2/await/postfix_expr_test.dart
+++ b/tests/language_2/await/postfix_expr_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await/regression_test.dart b/tests/language_2/await/regression_test.dart
index 44031d8..1bd365d 100644
--- a/tests/language_2/await/regression_test.dart
+++ b/tests/language_2/await/regression_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/await/started_immediately_test.dart b/tests/language_2/await/started_immediately_test.dart
index c21591f..28361d2 100644
--- a/tests/language_2/await/started_immediately_test.dart
+++ b/tests/language_2/await/started_immediately_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.9
+
 // Test that an async function does start immediately.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/await_type_error_test.dart b/tests/language_2/await_type_error_test.dart
index b838fcc..d680d5d 100644
--- a/tests/language_2/await_type_error_test.dart
+++ b/tests/language_2/await_type_error_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/await_type_test.dart b/tests/language_2/await_type_test.dart
index 349beac..396b70e 100644
--- a/tests/language_2/await_type_test.dart
+++ b/tests/language_2/await_type_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/bool/bool_test.dart b/tests/language_2/bool/bool_test.dart
index 51d4d9f..642e2ef 100644
--- a/tests/language_2/bool/bool_test.dart
+++ b/tests/language_2/bool/bool_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.9
+
 import "package:expect/expect.dart";
 
 class BoolTest {
diff --git a/tests/language_2/bool/check_test.dart b/tests/language_2/bool/check_test.dart
index d15f6b2..26faa72 100644
--- a/tests/language_2/bool/check_test.dart
+++ b/tests/language_2/bool/check_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.9
+
 // [NNBD non-migrated]: This file is migrated to check_strong_test.dart and
 // check_weak_test.dart.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/bool/condition_check_test.dart b/tests/language_2/bool/condition_check_test.dart
index e93770d..4ed7925 100644
--- a/tests/language_2/bool/condition_check_test.dart
+++ b/tests/language_2/bool/condition_check_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.9
+
 // Check that passing `null` for a boolean typed parameter will still cause
 // a boolean conversion error when used in a condition.
 
diff --git a/tests/language_2/bool/has_environment_not_new_test.dart b/tests/language_2/bool/has_environment_not_new_test.dart
index 947c6be..fdae175 100644
--- a/tests/language_2/bool/has_environment_not_new_test.dart
+++ b/tests/language_2/bool/has_environment_not_new_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/bool/has_environment_test.dart b/tests/language_2/bool/has_environment_test.dart
index df593f1..df21062 100644
--- a/tests/language_2/bool/has_environment_test.dart
+++ b/tests/language_2/bool/has_environment_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.9
+
 // SharedOptions=-Da= -Db=b -Dc=Something
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/call/argument_inference_test.dart b/tests/language_2/call/argument_inference_test.dart
index 0af5537..bf5d6ec 100644
--- a/tests/language_2/call/argument_inference_test.dart
+++ b/tests/language_2/call/argument_inference_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/call/call_test.dart b/tests/language_2/call/call_test.dart
index 882eeb4..c912710 100644
--- a/tests/language_2/call/call_test.dart
+++ b/tests/language_2/call/call_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/call/closurization_test.dart b/tests/language_2/call/closurization_test.dart
index 102413b..3223643 100644
--- a/tests/language_2/call/closurization_test.dart
+++ b/tests/language_2/call/closurization_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
diff --git a/tests/language_2/call/constructor_on_unresolvable_class_runtime_test.dart b/tests/language_2/call/constructor_on_unresolvable_class_runtime_test.dart
index 0c30e8b..27064a6 100644
--- a/tests/language_2/call/constructor_on_unresolvable_class_runtime_test.dart
+++ b/tests/language_2/call/constructor_on_unresolvable_class_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/call/constructor_on_unresolvable_class_test.dart b/tests/language_2/call/constructor_on_unresolvable_class_test.dart
index 6db90ed..5686db7 100644
--- a/tests/language_2/call/constructor_on_unresolvable_class_test.dart
+++ b/tests/language_2/call/constructor_on_unresolvable_class_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.9
+
 // Check that calling a constructor of a class that cannot be resolved causes
 // compile error.
 
diff --git a/tests/language_2/call/function2_test.dart b/tests/language_2/call/function2_test.dart
index 6490ebd..cdb61c1 100644
--- a/tests/language_2/call/function2_test.dart
+++ b/tests/language_2/call/function2_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.9
+
 import "package:expect/expect.dart";
 
 typedef Object Func(Object x);
diff --git a/tests/language_2/call/function_apply_test.dart b/tests/language_2/call/function_apply_test.dart
index 935cfaf..1a1180f 100644
--- a/tests/language_2/call/function_apply_test.dart
+++ b/tests/language_2/call/function_apply_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/call/function_test.dart b/tests/language_2/call/function_test.dart
index 49d8b7c..3daecf4 100644
--- a/tests/language_2/call/function_test.dart
+++ b/tests/language_2/call/function_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.9
+
 import "package:expect/expect.dart";
 
 Object bar(Object x) {
diff --git a/tests/language_2/call/method_as_cast_test.dart b/tests/language_2/call/method_as_cast_test.dart
index 48ae3b7..f6e75e4 100644
--- a/tests/language_2/call/method_as_cast_test.dart
+++ b/tests/language_2/call/method_as_cast_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class B {}
diff --git a/tests/language_2/call/method_function_typed_value_test.dart b/tests/language_2/call/method_function_typed_value_test.dart
index 7aa9ed8..cbc975e 100644
--- a/tests/language_2/call/method_function_typed_value_test.dart
+++ b/tests/language_2/call/method_function_typed_value_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 int f(int i) => 2 * i;
diff --git a/tests/language_2/call/method_implicit_invoke_instance_test.dart b/tests/language_2/call/method_implicit_invoke_instance_test.dart
index fdcb12b..975a5bb 100644
--- a/tests/language_2/call/method_implicit_invoke_instance_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_instance_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C1 {
diff --git a/tests/language_2/call/method_implicit_invoke_local_runtime_1_test.dart b/tests/language_2/call/method_implicit_invoke_local_runtime_1_test.dart
index 5df9be0..98709ff 100644
--- a/tests/language_2/call/method_implicit_invoke_local_runtime_1_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_implicit_invoke_local_runtime_2_test.dart b/tests/language_2/call/method_implicit_invoke_local_runtime_2_test.dart
index b4b00f4..c52d23a 100644
--- a/tests/language_2/call/method_implicit_invoke_local_runtime_2_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_implicit_invoke_local_runtime_3_test.dart b/tests/language_2/call/method_implicit_invoke_local_runtime_3_test.dart
index 215d998..59237f9 100644
--- a/tests/language_2/call/method_implicit_invoke_local_runtime_3_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_implicit_invoke_local_runtime_4_test.dart b/tests/language_2/call/method_implicit_invoke_local_runtime_4_test.dart
index 01a364c..9132ea9 100644
--- a/tests/language_2/call/method_implicit_invoke_local_runtime_4_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_implicit_invoke_local_runtime_test.dart b/tests/language_2/call/method_implicit_invoke_local_runtime_test.dart
index f06206f..24b848c 100644
--- a/tests/language_2/call/method_implicit_invoke_local_runtime_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_implicit_invoke_local_test.dart b/tests/language_2/call/method_implicit_invoke_local_test.dart
index 0e15829..f304eb4 100644
--- a/tests/language_2/call/method_implicit_invoke_local_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_local_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C1 {
diff --git a/tests/language_2/call/method_implicit_invoke_static_test.dart b/tests/language_2/call/method_implicit_invoke_static_test.dart
index 17f868d..f162a0e 100644
--- a/tests/language_2/call/method_implicit_invoke_static_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_static_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C1 {
diff --git a/tests/language_2/call/method_implicit_invoke_top_level_test.dart b/tests/language_2/call/method_implicit_invoke_top_level_test.dart
index eaed546..c9fce66 100644
--- a/tests/language_2/call/method_implicit_invoke_top_level_test.dart
+++ b/tests/language_2/call/method_implicit_invoke_top_level_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C1 {
diff --git a/tests/language_2/call/method_implicit_tear_off_assignable_test.dart b/tests/language_2/call/method_implicit_tear_off_assignable_test.dart
index 23763d4..75ad655 100644
--- a/tests/language_2/call/method_implicit_tear_off_assignable_test.dart
+++ b/tests/language_2/call/method_implicit_tear_off_assignable_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.9
+
 import 'package:expect/expect.dart';
 
 abstract class I {
diff --git a/tests/language_2/call/method_implicit_tear_off_nullable_test.dart b/tests/language_2/call/method_implicit_tear_off_nullable_test.dart
index 2b1050d..ab0bd11 100644
--- a/tests/language_2/call/method_implicit_tear_off_nullable_test.dart
+++ b/tests/language_2/call/method_implicit_tear_off_nullable_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class B {}
diff --git a/tests/language_2/call/method_implicit_tear_off_test.dart b/tests/language_2/call/method_implicit_tear_off_test.dart
index d07eab1..218f0bb 100644
--- a/tests/language_2/call/method_implicit_tear_off_test.dart
+++ b/tests/language_2/call/method_implicit_tear_off_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/call/method_is_check_test.dart b/tests/language_2/call/method_is_check_test.dart
index 9c705a3..aed411c4 100644
--- a/tests/language_2/call/method_is_check_test.dart
+++ b/tests/language_2/call/method_is_check_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class B {}
diff --git a/tests/language_2/call/method_must_not_be_field_test.dart b/tests/language_2/call/method_must_not_be_field_test.dart
index 05cbce9..6d178cb 100644
--- a/tests/language_2/call/method_must_not_be_field_test.dart
+++ b/tests/language_2/call/method_must_not_be_field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/call/method_must_not_be_getter_test.dart b/tests/language_2/call/method_must_not_be_getter_test.dart
index ac070dd..f5bd0eb 100644
--- a/tests/language_2/call/method_must_not_be_getter_test.dart
+++ b/tests/language_2/call/method_must_not_be_getter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/call/method_override_runtime_test.dart b/tests/language_2/call/method_override_runtime_test.dart
index 26e0dd4..fc6b765 100644
--- a/tests/language_2/call/method_override_runtime_test.dart
+++ b/tests/language_2/call/method_override_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/call/method_override_test.dart b/tests/language_2/call/method_override_test.dart
index 8e402a4..f7b8c54 100644
--- a/tests/language_2/call/method_override_test.dart
+++ b/tests/language_2/call/method_override_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 class B {}
 
 class C {
diff --git a/tests/language_2/call/non_method_field_runtime_test.dart b/tests/language_2/call/non_method_field_runtime_test.dart
index d9d98a8..ff46069 100644
--- a/tests/language_2/call/non_method_field_runtime_test.dart
+++ b/tests/language_2/call/non_method_field_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/call/non_method_field_test.dart b/tests/language_2/call/non_method_field_test.dart
index 8656cbf..3e129c0 100644
--- a/tests/language_2/call/non_method_field_test.dart
+++ b/tests/language_2/call/non_method_field_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.9
+
 // Tests calling an object's field which is not a method.
 
 class Fisk {
diff --git a/tests/language_2/call/nonexistent_constructor_runtime_test.dart b/tests/language_2/call/nonexistent_constructor_runtime_test.dart
index 92e4b19..aaea002 100644
--- a/tests/language_2/call/nonexistent_constructor_runtime_test.dart
+++ b/tests/language_2/call/nonexistent_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/call/nonexistent_constructor_test.dart b/tests/language_2/call/nonexistent_constructor_test.dart
index 4c129d0..b27d76a 100644
--- a/tests/language_2/call/nonexistent_constructor_test.dart
+++ b/tests/language_2/call/nonexistent_constructor_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.9
+
 import "package:expect/expect.dart";
 
 // When attempting to call a nonexistent constructor, check that a
diff --git a/tests/language_2/call/nonexistent_static_test.dart b/tests/language_2/call/nonexistent_static_test.dart
index 603bdde..170d3e6 100644
--- a/tests/language_2/call/nonexistent_static_test.dart
+++ b/tests/language_2/call/nonexistent_static_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.9
+
 import "package:expect/expect.dart";
 
 // When attempting to call a nonexistent static method, getter or setter, check
diff --git a/tests/language_2/call/object_has_no_call_method_test.dart b/tests/language_2/call/object_has_no_call_method_test.dart
index d02b290..40057b9 100644
--- a/tests/language_2/call/object_has_no_call_method_test.dart
+++ b/tests/language_2/call/object_has_no_call_method_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.9
+
 void test(dynamic d, Object o, Function f) {
   d();
   o();
diff --git a/tests/language_2/call/object_has_no_call_runtime_1_test.dart b/tests/language_2/call/object_has_no_call_runtime_1_test.dart
index 3bb0108..e80d86b 100644
--- a/tests/language_2/call/object_has_no_call_runtime_1_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_2_test.dart b/tests/language_2/call/object_has_no_call_runtime_2_test.dart
index 8c209c5..29248019 100644
--- a/tests/language_2/call/object_has_no_call_runtime_2_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_3_test.dart b/tests/language_2/call/object_has_no_call_runtime_3_test.dart
index 6507f06..9056e42 100644
--- a/tests/language_2/call/object_has_no_call_runtime_3_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_4_test.dart b/tests/language_2/call/object_has_no_call_runtime_4_test.dart
index a64f242..c04fe5b 100644
--- a/tests/language_2/call/object_has_no_call_runtime_4_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_5_test.dart b/tests/language_2/call/object_has_no_call_runtime_5_test.dart
index ef58c84..961b4db 100644
--- a/tests/language_2/call/object_has_no_call_runtime_5_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_6_test.dart b/tests/language_2/call/object_has_no_call_runtime_6_test.dart
index 2dcd453..5642d64 100644
--- a/tests/language_2/call/object_has_no_call_runtime_6_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/object_has_no_call_runtime_test.dart b/tests/language_2/call/object_has_no_call_runtime_test.dart
index c0ec957..8ebd5dc 100644
--- a/tests/language_2/call/object_has_no_call_runtime_test.dart
+++ b/tests/language_2/call/object_has_no_call_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/call/operator_test.dart b/tests/language_2/call/operator_test.dart
index 8513bcb..18ccb3b 100644
--- a/tests/language_2/call/operator_test.dart
+++ b/tests/language_2/call/operator_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.9
+
 import "package:expect/expect.dart";
 
 // simple test with no types in signature
diff --git a/tests/language_2/call/property_test.dart b/tests/language_2/call/property_test.dart
index 87407c3..5f6ddbe 100644
--- a/tests/language_2/call/property_test.dart
+++ b/tests/language_2/call/property_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.9
+
 // Test that a class with a [call] property does not implement [Function] or
 // a typedef of function type.
 
diff --git a/tests/language_2/call/through_getter_runtime_test.dart b/tests/language_2/call/through_getter_runtime_test.dart
index 4737aa6..1faba5d 100644
--- a/tests/language_2/call/through_getter_runtime_test.dart
+++ b/tests/language_2/call/through_getter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/call/through_getter_test.dart b/tests/language_2/call/through_getter_test.dart
index 06e5af3..7a13b34 100644
--- a/tests/language_2/call/through_getter_test.dart
+++ b/tests/language_2/call/through_getter_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that we can call functions through getters.
diff --git a/tests/language_2/call/through_null_getter_test.dart b/tests/language_2/call/through_null_getter_test.dart
index 3076029..82d0a1a 100644
--- a/tests/language_2/call/through_null_getter_test.dart
+++ b/tests/language_2/call/through_null_getter_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that we can call functions through getters which return null.
diff --git a/tests/language_2/call/type_literal_test.dart b/tests/language_2/call/type_literal_test.dart
index 9e09bbe..f4a125c 100644
--- a/tests/language_2/call/type_literal_test.dart
+++ b/tests/language_2/call/type_literal_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.9
+
 class C {
   void a() {}
 }
diff --git a/tests/language_2/call/with_no_such_method_test.dart b/tests/language_2/call/with_no_such_method_test.dart
index 95c27d5..3b6413d 100644
--- a/tests/language_2/call/with_no_such_method_test.dart
+++ b/tests/language_2/call/with_no_such_method_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.9
+
 import "package:expect/expect.dart";
 
 class F {
diff --git a/tests/language_2/canonicalize/const2_test.dart b/tests/language_2/canonicalize/const2_test.dart
index fbad2cd..4cc7f6e 100644
--- a/tests/language_2/canonicalize/const2_test.dart
+++ b/tests/language_2/canonicalize/const2_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.9
+
 import "package:expect/expect.dart";
 
 // Check that compile-time constants are correctly canonicalized.
diff --git a/tests/language_2/canonicalize/const3_test.dart b/tests/language_2/canonicalize/const3_test.dart
index 7b70824..453a75f 100644
--- a/tests/language_2/canonicalize/const3_test.dart
+++ b/tests/language_2/canonicalize/const3_test.dart
@@ -4,6 +4,8 @@
 //
 // Check proper canonicalization (fields must be canonicalized as well).
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/canonicalize/const_test.dart b/tests/language_2/canonicalize/const_test.dart
index d759f94..50f0d34 100644
--- a/tests/language_2/canonicalize/const_test.dart
+++ b/tests/language_2/canonicalize/const_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that initializers of static const fields are compile time constants.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class CanonicalConstTest {
diff --git a/tests/language_2/canonicalize/hashing_memoize_array_test.dart b/tests/language_2/canonicalize/hashing_memoize_array_test.dart
index 20f789f..dde26b2 100644
--- a/tests/language_2/canonicalize/hashing_memoize_array_test.dart
+++ b/tests/language_2/canonicalize/hashing_memoize_array_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.9
+
 // If canonicalization uses deep structural hashing without memoizing, this
 // will exhibit superlinear time.
 
diff --git a/tests/language_2/canonicalize/hashing_memoize_instance_test.dart b/tests/language_2/canonicalize/hashing_memoize_instance_test.dart
index 5a9185eb..613d391 100644
--- a/tests/language_2/canonicalize/hashing_memoize_instance_test.dart
+++ b/tests/language_2/canonicalize/hashing_memoize_instance_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.9
+
 // If canonicalization uses deep structural hashing without memoizing, this
 // will exhibit superlinear time.
 
diff --git a/tests/language_2/canonicalize/hashing_shallow_collision_array_test.dart b/tests/language_2/canonicalize/hashing_shallow_collision_array_test.dart
index e094e06..53fdba0 100644
--- a/tests/language_2/canonicalize/hashing_shallow_collision_array_test.dart
+++ b/tests/language_2/canonicalize/hashing_shallow_collision_array_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.9
+
 // If canonicialization hashes with only a field's cid, this will exhibit
 // quadratic time.
 
diff --git a/tests/language_2/canonicalize/hashing_shallow_collision_instance_2_test.dart b/tests/language_2/canonicalize/hashing_shallow_collision_instance_2_test.dart
index 621b68e..bf3e106 100644
--- a/tests/language_2/canonicalize/hashing_shallow_collision_instance_2_test.dart
+++ b/tests/language_2/canonicalize/hashing_shallow_collision_instance_2_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.9
+
 // If canonicialization hashes with only a field's cid, this will exhibit
 // quadratic time.
 
diff --git a/tests/language_2/canonicalize/hashing_shallow_collision_instance_3_test.dart b/tests/language_2/canonicalize/hashing_shallow_collision_instance_3_test.dart
index b806b6a..df8169e 100644
--- a/tests/language_2/canonicalize/hashing_shallow_collision_instance_3_test.dart
+++ b/tests/language_2/canonicalize/hashing_shallow_collision_instance_3_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.9
+
 // If canonicialization hashes with only a field's cid, this will exhibit
 // quadratic time.
 
diff --git a/tests/language_2/canonicalize/hashing_shallow_collision_instance_test.dart b/tests/language_2/canonicalize/hashing_shallow_collision_instance_test.dart
index 2de48b2..7015d35 100644
--- a/tests/language_2/canonicalize/hashing_shallow_collision_instance_test.dart
+++ b/tests/language_2/canonicalize/hashing_shallow_collision_instance_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.9
+
 // If canonicialization hashes with only a field's cid, this will exhibit
 // quadratic time.
 
diff --git a/tests/language_2/cascade/cascade2_test.dart b/tests/language_2/cascade/cascade2_test.dart
index 4121667..3bd961e 100644
--- a/tests/language_2/cascade/cascade2_test.dart
+++ b/tests/language_2/cascade/cascade2_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.9
+
 // Regression test for dart2js that used to hit an assertion in the
 // container tracer visitor in the presence of cascaded calls.
 
diff --git a/tests/language_2/cascade/cascade3_test.dart b/tests/language_2/cascade/cascade3_test.dart
index 11b2974..3327831 100644
--- a/tests/language_2/cascade/cascade3_test.dart
+++ b/tests/language_2/cascade/cascade3_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.9
+
 import "package:expect/expect.dart";
 
 // Test cascades, issues 7494 (vm), 7689 (dart2js).
diff --git a/tests/language_2/cascade/cascade_test.dart b/tests/language_2/cascade/cascade_test.dart
index f9ddcd2..d8aea40e 100644
--- a/tests/language_2/cascade/cascade_test.dart
+++ b/tests/language_2/cascade/cascade_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.9
+
 import "package:expect/expect.dart";
 
 // Test cascades.
diff --git a/tests/language_2/cascade/in_expression_function_test.dart b/tests/language_2/cascade/in_expression_function_test.dart
index 88f9529..3d67d56 100644
--- a/tests/language_2/cascade/in_expression_function_test.dart
+++ b/tests/language_2/cascade/in_expression_function_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 makeMap() => new Map()
diff --git a/tests/language_2/cascade/in_initializer_list_test.dart b/tests/language_2/cascade/in_initializer_list_test.dart
index 37da002..d9b2f53 100644
--- a/tests/language_2/cascade/in_initializer_list_test.dart
+++ b/tests/language_2/cascade/in_initializer_list_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/cascade/nested_test.dart b/tests/language_2/cascade/nested_test.dart
index 29a82e7..60ef44a 100644
--- a/tests/language_2/cascade/nested_test.dart
+++ b/tests/language_2/cascade/nested_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/cascade/on_static_field_test.dart b/tests/language_2/cascade/on_static_field_test.dart
index e92212f..05391e8 100644
--- a/tests/language_2/cascade/on_static_field_test.dart
+++ b/tests/language_2/cascade/on_static_field_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.9
+
 final List<String> list = []..add("foo")..add("bar")..add("baz");
 
 main() {
diff --git a/tests/language_2/cascade/precedence_test.dart b/tests/language_2/cascade/precedence_test.dart
index 3ddf252..bf2d2f1 100644
--- a/tests/language_2/cascade/precedence_test.dart
+++ b/tests/language_2/cascade/precedence_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/cascade/runtime_test.dart b/tests/language_2/cascade/runtime_test.dart
index 9357093..753d6fd 100644
--- a/tests/language_2/cascade/runtime_test.dart
+++ b/tests/language_2/cascade/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/class/additional_interface_adds_optional_args_concrete_subclass_test.dart b/tests/language_2/class/additional_interface_adds_optional_args_concrete_subclass_test.dart
index 523a972..c02bd3a 100644
--- a/tests/language_2/class/additional_interface_adds_optional_args_concrete_subclass_test.dart
+++ b/tests/language_2/class/additional_interface_adds_optional_args_concrete_subclass_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/class/class_test.dart b/tests/language_2/class/class_test.dart
index 0436393..5898970 100644
--- a/tests/language_2/class/class_test.dart
+++ b/tests/language_2/class/class_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.9
+
 import "package:expect/expect.dart";
 
 // Tests basic classes and methods.
diff --git a/tests/language_2/class/classes_static_method_clash_test.dart b/tests/language_2/class/classes_static_method_clash_test.dart
index 985a0c8..d1c91ac 100644
--- a/tests/language_2/class/classes_static_method_clash_test.dart
+++ b/tests/language_2/class/classes_static_method_clash_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.9
+
 import "package:expect/expect.dart";
 
 // This methods needs a stub method (because it is used in Function.apply, where
diff --git a/tests/language_2/class/codegen_test.dart b/tests/language_2/class/codegen_test.dart
index cbece1d..cdf21d9 100644
--- a/tests/language_2/class/codegen_test.dart
+++ b/tests/language_2/class/codegen_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/class/cycle2_test.dart b/tests/language_2/class/cycle2_test.dart
index 2b1bb65..5be4466 100644
--- a/tests/language_2/class/cycle2_test.dart
+++ b/tests/language_2/class/cycle2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check fail because of cycles in super class relationship.
 
+// @dart = 2.9
+
 class C extends B {}
 
 class A extends B {}
diff --git a/tests/language_2/class/cycle_test.dart b/tests/language_2/class/cycle_test.dart
index dbc11a0..a29c9cb 100644
--- a/tests/language_2/class/cycle_test.dart
+++ b/tests/language_2/class/cycle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check fail because of cycles in super class relationship.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Foo implements Bar {}
diff --git a/tests/language_2/class/cyclic_class_member_runtime_test.dart b/tests/language_2/class/cyclic_class_member_runtime_test.dart
index 17cea8d..a9cca8c 100644
--- a/tests/language_2/class/cyclic_class_member_runtime_test.dart
+++ b/tests/language_2/class/cyclic_class_member_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/class/cyclic_class_member_test.dart b/tests/language_2/class/cyclic_class_member_test.dart
index 516943f..90e70d3 100644
--- a/tests/language_2/class/cyclic_class_member_test.dart
+++ b/tests/language_2/class/cyclic_class_member_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.9
+
 // Test that class with a cyclic hierarchy doesn't cause a loop in dart2js.
 
 class A
diff --git a/tests/language_2/class/inheritance_chain_lib.dart b/tests/language_2/class/inheritance_chain_lib.dart
index c80834f..1f79b0f 100644
--- a/tests/language_2/class/inheritance_chain_lib.dart
+++ b/tests/language_2/class/inheritance_chain_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "inheritance_chain_test.dart";
 
 class B extends C {
diff --git a/tests/language_2/class/inheritance_chain_test.dart b/tests/language_2/class/inheritance_chain_test.dart
index cc0d80e..dd55252 100644
--- a/tests/language_2/class/inheritance_chain_test.dart
+++ b/tests/language_2/class/inheritance_chain_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.9
+
 import "package:expect/expect.dart";
 import "inheritance_chain_lib.dart";
 
diff --git a/tests/language_2/class/keyword_runtime_test.dart b/tests/language_2/class/keyword_runtime_test.dart
index 3b6e2bd..e5719a0 100644
--- a/tests/language_2/class/keyword_runtime_test.dart
+++ b/tests/language_2/class/keyword_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/class/keyword_test.dart b/tests/language_2/class/keyword_test.dart
index 8b07fec..a3337a7 100644
--- a/tests/language_2/class/keyword_test.dart
+++ b/tests/language_2/class/keyword_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.9
+
 // Test that "class" cannot be used as identifier.
 
 class foo {}
diff --git a/tests/language_2/class/large_class_declaration_test.dart b/tests/language_2/class/large_class_declaration_test.dart
index 15c6721..111df83 100644
--- a/tests/language_2/class/large_class_declaration_test.dart
+++ b/tests/language_2/class/large_class_declaration_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.9
+
 // Dart test program for testing compilation of classes with a large number
 // of fields.
 
diff --git a/tests/language_2/class/literal_static_test.dart b/tests/language_2/class/literal_static_test.dart
index 27b6149..6366fef 100644
--- a/tests/language_2/class/literal_static_test.dart
+++ b/tests/language_2/class/literal_static_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.9
+
 import "package:expect/expect.dart";
 
 // Test class literal expressions.
diff --git a/tests/language_2/class/literal_test.dart b/tests/language_2/class/literal_test.dart
index 5b1c12a..74b208d 100644
--- a/tests/language_2/class/literal_test.dart
+++ b/tests/language_2/class/literal_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.9
+
 import "package:expect/expect.dart";
 
 // Test class literal expressions.
diff --git a/tests/language_2/class/multiple_interface_inheritance_test.dart b/tests/language_2/class/multiple_interface_inheritance_test.dart
index 137814c..d39e7ca 100644
--- a/tests/language_2/class/multiple_interface_inheritance_test.dart
+++ b/tests/language_2/class/multiple_interface_inheritance_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.9
+
 abstract class I1 {
   void f(int i);
 }
diff --git a/tests/language_2/class/override_test.dart b/tests/language_2/class/override_test.dart
index 41ec7ad..6ab3715 100644
--- a/tests/language_2/class/override_test.dart
+++ b/tests/language_2/class/override_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.9
+
 // It is a static compile time error if a method m1 overrides a method m2 and has a
 // different number of required parameters.
 
diff --git a/tests/language_2/class/recursive_inheritance_test.dart b/tests/language_2/class/recursive_inheritance_test.dart
index 061a84d..7524d59 100644
--- a/tests/language_2/class/recursive_inheritance_test.dart
+++ b/tests/language_2/class/recursive_inheritance_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for recursive inheritance patterns
diff --git a/tests/language_2/class/syntax2_test.dart b/tests/language_2/class/syntax2_test.dart
index e884c23..5cbbdfd 100644
--- a/tests/language_2/class/syntax2_test.dart
+++ b/tests/language_2/class/syntax2_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.9
+
 // Regression test for dart2js bug http://dartbug.com/11570.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/class/syntax_test.dart b/tests/language_2/class/syntax_test.dart
index e5a2e9b..eca5f1c 100644
--- a/tests/language_2/class/syntax_test.dart
+++ b/tests/language_2/class/syntax_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.9
+
 main() {
   new ClassSyntaxTest();
 }
diff --git a/tests/language_2/class/variable_shadow_class_runtime_test.dart b/tests/language_2/class/variable_shadow_class_runtime_test.dart
index 0c7d951..b7d6651 100644
--- a/tests/language_2/class/variable_shadow_class_runtime_test.dart
+++ b/tests/language_2/class/variable_shadow_class_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/class/variable_shadow_class_test.dart b/tests/language_2/class/variable_shadow_class_test.dart
index 3fc29e4..634e71a 100644
--- a/tests/language_2/class/variable_shadow_class_test.dart
+++ b/tests/language_2/class/variable_shadow_class_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2011, 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.9
 import "package:expect/expect.dart";
 
 // Local variables can shadow class names.
diff --git a/tests/language_2/closure/bound_closure_equality_test.dart b/tests/language_2/closure/bound_closure_equality_test.dart
index 6ed96db..c0e4564 100644
--- a/tests/language_2/closure/bound_closure_equality_test.dart
+++ b/tests/language_2/closure/bound_closure_equality_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/closure/bound_closure_primitives_test.dart b/tests/language_2/closure/bound_closure_primitives_test.dart
index cd5bdfe..7fa8e8e 100644
--- a/tests/language_2/closure/bound_closure_primitives_test.dart
+++ b/tests/language_2/closure/bound_closure_primitives_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.9
+
 // Test to make sure dart2js does not try to use the same
 // BoundClosureClass between an intercepted method and a
 // non-intercepted method.
diff --git a/tests/language_2/closure/break1_test.dart b/tests/language_2/closure/break1_test.dart
index 8522fae..e99ecef 100644
--- a/tests/language_2/closure/break1_test.dart
+++ b/tests/language_2/closure/break1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ClosureBreak1 {
diff --git a/tests/language_2/closure/break2_test.dart b/tests/language_2/closure/break2_test.dart
index 5742620..daa6349 100644
--- a/tests/language_2/closure/break2_test.dart
+++ b/tests/language_2/closure/break2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ClosureBreak2 {
diff --git a/tests/language_2/closure/break_test.dart b/tests/language_2/closure/break_test.dart
index ae99035..91d31d8 100644
--- a/tests/language_2/closure/break_test.dart
+++ b/tests/language_2/closure/break_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ClosureBreak {
diff --git a/tests/language_2/closure/call_wrong_argument_count_test.dart b/tests/language_2/closure/call_wrong_argument_count_test.dart
index ef9f964..a04d234 100644
--- a/tests/language_2/closure/call_wrong_argument_count_test.dart
+++ b/tests/language_2/closure/call_wrong_argument_count_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.9
+
 // Test mismatch in argument counts.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/closure/closure2_test.dart b/tests/language_2/closure/closure2_test.dart
index bf3cf01..d036c6f 100644
--- a/tests/language_2/closure/closure2_test.dart
+++ b/tests/language_2/closure/closure2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bounce(fn) {
diff --git a/tests/language_2/closure/closure3_test.dart b/tests/language_2/closure/closure3_test.dart
index 8841d375..681ea98 100644
--- a/tests/language_2/closure/closure3_test.dart
+++ b/tests/language_2/closure/closure3_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a NoSuchMethodError is thrown even when an expression
diff --git a/tests/language_2/closure/closure4_test.dart b/tests/language_2/closure/closure4_test.dart
index 5445b7d..67160e8 100644
--- a/tests/language_2/closure/closure4_test.dart
+++ b/tests/language_2/closure/closure4_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.9
+
 import "package:expect/expect.dart";
 
 // Dart2js failed when a declared function was captured inside itself.
diff --git a/tests/language_2/closure/closure5_test.dart b/tests/language_2/closure/closure5_test.dart
index bf698b6..9e7d380 100644
--- a/tests/language_2/closure/closure5_test.dart
+++ b/tests/language_2/closure/closure5_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.9
+
 import "package:expect/expect.dart";
 
 // Dart2js failed when a declared function was captured inside itself.
diff --git a/tests/language_2/closure/closure6_test.dart b/tests/language_2/closure/closure6_test.dart
index ea37454..fa47f78 100644
--- a/tests/language_2/closure/closure6_test.dart
+++ b/tests/language_2/closure/closure6_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.9
+
 import "package:expect/expect.dart";
 
 // Test that captured final variables are correctly mangled.
diff --git a/tests/language_2/closure/closure7_test.dart b/tests/language_2/closure/closure7_test.dart
index 91b8f7b..37e4386 100644
--- a/tests/language_2/closure/closure7_test.dart
+++ b/tests/language_2/closure/closure7_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.9
+
 import "package:expect/expect.dart";
 
 // Test that implicitly bound closures work correctly
diff --git a/tests/language_2/closure/closure8_test.dart b/tests/language_2/closure/closure8_test.dart
index 211c722..c77e3b8 100644
--- a/tests/language_2/closure/closure8_test.dart
+++ b/tests/language_2/closure/closure8_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Regression test for issue 6353.
 
+// @dart = 2.9
+
 class A<E> {}
 
 class C<E> extends A<E> {
diff --git a/tests/language_2/closure/closure_test.dart b/tests/language_2/closure/closure_test.dart
index 9dc3a90..d90c428 100644
--- a/tests/language_2/closure/closure_test.dart
+++ b/tests/language_2/closure/closure_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/closure/closures_initializer2_test.dart b/tests/language_2/closure/closures_initializer2_test.dart
index 337639b..01a3969 100644
--- a/tests/language_2/closure/closures_initializer2_test.dart
+++ b/tests/language_2/closure/closures_initializer2_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.9
+
 class A<T> {
   var t;
   A() : t = (() => T);
diff --git a/tests/language_2/closure/closures_initializer_test.dart b/tests/language_2/closure/closures_initializer_test.dart
index 1a2f1273..52b0605 100644
--- a/tests/language_2/closure/closures_initializer_test.dart
+++ b/tests/language_2/closure/closures_initializer_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.9
+
 class A<T> {
   var t;
   A() : t = (() => new List<T>());
diff --git a/tests/language_2/closure/closures_with_complex_params_test.dart b/tests/language_2/closure/closures_with_complex_params_test.dart
index c3c65ee..6ba796b 100644
--- a/tests/language_2/closure/closures_with_complex_params_test.dart
+++ b/tests/language_2/closure/closures_with_complex_params_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.9
+
 import "package:expect/expect.dart";
 
 // Tests for parsing closures with complex parameter types.
diff --git a/tests/language_2/closure/cycles_test.dart b/tests/language_2/closure/cycles_test.dart
index e66a391..ef75d79 100644
--- a/tests/language_2/closure/cycles_test.dart
+++ b/tests/language_2/closure/cycles_test.dart
@@ -4,6 +4,8 @@
 // Based on dartbug.com/7681
 // Verify that context chains do not lead to unintended memory being held.
 
+// @dart = 2.9
+
 library closure_cycles_test;
 
 import "dart:async";
diff --git a/tests/language_2/closure/dynamic_test.dart b/tests/language_2/closure/dynamic_test.dart
index b130a9b..1defa57 100644
--- a/tests/language_2/closure/dynamic_test.dart
+++ b/tests/language_2/closure/dynamic_test.dart
@@ -8,6 +8,8 @@
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/closure/forwarding_stub_tearoff_generic_test.dart b/tests/language_2/closure/forwarding_stub_tearoff_generic_test.dart
index 1bccc6e..64c8cab 100644
--- a/tests/language_2/closure/forwarding_stub_tearoff_generic_test.dart
+++ b/tests/language_2/closure/forwarding_stub_tearoff_generic_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/closure/forwarding_stub_tearoff_test.dart b/tests/language_2/closure/forwarding_stub_tearoff_test.dart
index 12aa7bf..1261adb 100644
--- a/tests/language_2/closure/forwarding_stub_tearoff_test.dart
+++ b/tests/language_2/closure/forwarding_stub_tearoff_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/closure/implicit1_test.dart b/tests/language_2/closure/implicit1_test.dart
index 4a8a4f4..245cff7 100644
--- a/tests/language_2/closure/implicit1_test.dart
+++ b/tests/language_2/closure/implicit1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--enable_type_checks --enable_asserts
 
+// @dart = 2.9
+
 typedef Handler(bool e);
 
 class Hello {
diff --git a/tests/language_2/closure/implicit2_test.dart b/tests/language_2/closure/implicit2_test.dart
index a03f458..f30432a 100644
--- a/tests/language_2/closure/implicit2_test.dart
+++ b/tests/language_2/closure/implicit2_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/closure/implicit_closure_test.dart b/tests/language_2/closure/implicit_closure_test.dart
index a9ea617..a4defba 100644
--- a/tests/language_2/closure/implicit_closure_test.dart
+++ b/tests/language_2/closure/implicit_closure_test.dart
@@ -5,6 +5,8 @@
 // VMOptions=
 // VMOptions=--use_slow_path
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/closure/in_constructor_test.dart b/tests/language_2/closure/in_constructor_test.dart
index 66ee970..d273dcb 100644
--- a/tests/language_2/closure/in_constructor_test.dart
+++ b/tests/language_2/closure/in_constructor_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/closure/in_field_initializer_test.dart b/tests/language_2/closure/in_field_initializer_test.dart
index 026c712..82894c6 100644
--- a/tests/language_2/closure/in_field_initializer_test.dart
+++ b/tests/language_2/closure/in_field_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/closure/in_initializer2_test.dart b/tests/language_2/closure/in_initializer2_test.dart
index a782c64..cb09864 100644
--- a/tests/language_2/closure/in_initializer2_test.dart
+++ b/tests/language_2/closure/in_initializer2_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.9
+
 // Test that a parameter used in a closure is properly boxed.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/closure/in_initializer_test.dart b/tests/language_2/closure/in_initializer_test.dart
index 3556649..90a00d8 100644
--- a/tests/language_2/closure/in_initializer_test.dart
+++ b/tests/language_2/closure/in_initializer_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.9
+
 // Test that a parameter used in two different closures defined in a
 // constructor initializer, is properly boxed.
 
diff --git a/tests/language_2/closure/internals_runtime_test.dart b/tests/language_2/closure/internals_runtime_test.dart
index 1b52d32..afc490d 100644
--- a/tests/language_2/closure/internals_runtime_test.dart
+++ b/tests/language_2/closure/internals_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/closure/internals_test.dart b/tests/language_2/closure/internals_test.dart
index 9efdda3..288790e 100644
--- a/tests/language_2/closure/internals_test.dart
+++ b/tests/language_2/closure/internals_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/closure/invoked_through_interface_target_field_test.dart b/tests/language_2/closure/invoked_through_interface_target_field_test.dart
index f4cd083..e008aeb 100644
--- a/tests/language_2/closure/invoked_through_interface_target_field_test.dart
+++ b/tests/language_2/closure/invoked_through_interface_target_field_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.9
+
 // Note: this test expects a compile error (getter overrides a method), but it
 // contains more code than necessary to provoke the compile error.  The reason
 // for the extra code is to document the complications that would arise if we
diff --git a/tests/language_2/closure/invoked_through_interface_target_getter_test.dart b/tests/language_2/closure/invoked_through_interface_target_getter_test.dart
index 672ef20..ed5434f 100644
--- a/tests/language_2/closure/invoked_through_interface_target_getter_test.dart
+++ b/tests/language_2/closure/invoked_through_interface_target_getter_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.9
+
 // Note: this test expects a compile error (getter overrides a method), but it
 // contains more code than necessary to provoke the compile error.  The reason
 // for the extra code is to document the complications that would arise if we
diff --git a/tests/language_2/closure/minify_closure_variable_collision_test.dart b/tests/language_2/closure/minify_closure_variable_collision_test.dart
index 282acef..bd1ee86 100644
--- a/tests/language_2/closure/minify_closure_variable_collision_test.dart
+++ b/tests/language_2/closure/minify_closure_variable_collision_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.9
+
 // Regression test for dart2js, that used to minify a captured
 // variable's name to the same name as inherited Object methods.
 
diff --git a/tests/language_2/closure/nested_generic_closure_test.dart b/tests/language_2/closure/nested_generic_closure_test.dart
index c5ef032..e9fc502 100644
--- a/tests/language_2/closure/nested_generic_closure_test.dart
+++ b/tests/language_2/closure/nested_generic_closure_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.9
+
 import 'package:expect/expect.dart';
 
 void foo(F f<F>(F f)) {}
diff --git a/tests/language_2/closure/param_null_to_object_test.dart b/tests/language_2/closure/param_null_to_object_test.dart
index 5a2bbfe..0e81feb 100644
--- a/tests/language_2/closure/param_null_to_object_test.dart
+++ b/tests/language_2/closure/param_null_to_object_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/closure/parameter_types_test.dart b/tests/language_2/closure/parameter_types_test.dart
index 3fa1521..a724948 100644
--- a/tests/language_2/closure/parameter_types_test.dart
+++ b/tests/language_2/closure/parameter_types_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for dart2js, where the optimizer was too aggressive
diff --git a/tests/language_2/closure/parse_closures_in_initializers_test.dart b/tests/language_2/closure/parse_closures_in_initializers_test.dart
index 9fc7eda..94f89e7 100644
--- a/tests/language_2/closure/parse_closures_in_initializers_test.dart
+++ b/tests/language_2/closure/parse_closures_in_initializers_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.9
+
 import 'package:expect/expect.dart';
 
 // Test that function literals are parsed correctly in initializers.
diff --git a/tests/language_2/closure/partial_instantiation_eager_bounds_check_test.dart b/tests/language_2/closure/partial_instantiation_eager_bounds_check_test.dart
index d20a83e..e9784df 100644
--- a/tests/language_2/closure/partial_instantiation_eager_bounds_check_test.dart
+++ b/tests/language_2/closure/partial_instantiation_eager_bounds_check_test.dart
@@ -6,6 +6,8 @@
 // eagerly during partial instantiation, rather than being delayed until the
 // partially instantiated closure is invoked.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/closure/partial_instantiation_static_bounds_check_runtime_test.dart b/tests/language_2/closure/partial_instantiation_static_bounds_check_runtime_test.dart
index 4596750..52d48d1 100644
--- a/tests/language_2/closure/partial_instantiation_static_bounds_check_runtime_test.dart
+++ b/tests/language_2/closure/partial_instantiation_static_bounds_check_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/closure/partial_instantiation_static_bounds_check_test.dart b/tests/language_2/closure/partial_instantiation_static_bounds_check_test.dart
index 38192ba..2810e7a 100644
--- a/tests/language_2/closure/partial_instantiation_static_bounds_check_test.dart
+++ b/tests/language_2/closure/partial_instantiation_static_bounds_check_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.9
+
 topFn<T extends num>(T x) {
   print(T);
 }
diff --git a/tests/language_2/closure/partial_tearoff_instantiation_test.dart b/tests/language_2/closure/partial_tearoff_instantiation_test.dart
index b534a96..6708333 100644
--- a/tests/language_2/closure/partial_tearoff_instantiation_test.dart
+++ b/tests/language_2/closure/partial_tearoff_instantiation_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.9
+
 import "package:expect/expect.dart";
 
 typedef F1 = void Function<T>(T);
diff --git a/tests/language_2/closure/self_reference_test.dart b/tests/language_2/closure/self_reference_test.dart
index a47b1bf..1b34813 100644
--- a/tests/language_2/closure/self_reference_test.dart
+++ b/tests/language_2/closure/self_reference_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.9
+
 import 'package:expect/expect.dart';
 
 // Tests a self-reference of a closure inside a try/catch.
diff --git a/tests/language_2/closure/shared_state_test.dart b/tests/language_2/closure/shared_state_test.dart
index 85c9908..0920aab 100644
--- a/tests/language_2/closure/shared_state_test.dart
+++ b/tests/language_2/closure/shared_state_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.9
+
 import "package:expect/expect.dart";
 
 // Tests for closures sharing mutable bindings.
diff --git a/tests/language_2/closure/side_effect_test.dart b/tests/language_2/closure/side_effect_test.dart
index a7b0f50..fd7cddb 100644
--- a/tests/language_2/closure/side_effect_test.dart
+++ b/tests/language_2/closure/side_effect_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.9
+
 import "package:expect/expect.dart";
 
 typedef void VoidToVoid();
diff --git a/tests/language_2/closure/tearoff_bounds_instantiation_test.dart b/tests/language_2/closure/tearoff_bounds_instantiation_test.dart
index b823c64..9357055 100644
--- a/tests/language_2/closure/tearoff_bounds_instantiation_test.dart
+++ b/tests/language_2/closure/tearoff_bounds_instantiation_test.dart
@@ -5,6 +5,8 @@
 // This test checks that the type parameter bounds on tearoffs from generic
 // classes are properly instantiated in the signature of the tearoff.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/closure/tearoff_dynamic_test.dart b/tests/language_2/closure/tearoff_dynamic_test.dart
index c47edf7..1dde484 100644
--- a/tests/language_2/closure/tearoff_dynamic_test.dart
+++ b/tests/language_2/closure/tearoff_dynamic_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2017, 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.9
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/tests/language_2/closure/type_arguments_test.dart b/tests/language_2/closure/type_arguments_test.dart
index 4478ed7..f112008 100644
--- a/tests/language_2/closure/type_arguments_test.dart
+++ b/tests/language_2/closure/type_arguments_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.9
+
 import "package:expect/expect.dart";
 
 typedef MapFunc<S1, S2> = void Function(Map<S1, S2> arg);
diff --git a/tests/language_2/closure/type_test.dart b/tests/language_2/closure/type_test.dart
index a449cbb..edb9e95 100644
--- a/tests/language_2/closure/type_test.dart
+++ b/tests/language_2/closure/type_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.9
+
 // Dart test for a closure result type test that cannot be eliminated at compile
 // time.
 
diff --git a/tests/language_2/closure/type_variable_test.dart b/tests/language_2/closure/type_variable_test.dart
index 2ed61c2..ba0112c 100644
--- a/tests/language_2/closure/type_variable_test.dart
+++ b/tests/language_2/closure/type_variable_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.9
+
 // Test that the type argument is available inside a closure.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/closure/type_variables_test.dart b/tests/language_2/closure/type_variables_test.dart
index 2fe276c..6be0ff2 100644
--- a/tests/language_2/closure/type_variables_test.dart
+++ b/tests/language_2/closure/type_variables_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.9
+
 import 'dart:async';
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/closure/unnamed_closure_test.dart b/tests/language_2/closure/unnamed_closure_test.dart
index 49fa570..f5e4870 100644
--- a/tests/language_2/closure/unnamed_closure_test.dart
+++ b/tests/language_2/closure/unnamed_closure_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.9
+
 import "package:expect/expect.dart";
 
 getNonArray() => new A();
diff --git a/tests/language_2/closure/variable_shadow_test.dart b/tests/language_2/closure/variable_shadow_test.dart
index 4b1edb4..07a11fc 100644
--- a/tests/language_2/closure/variable_shadow_test.dart
+++ b/tests/language_2/closure/variable_shadow_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.9
+
 import "package:expect/expect.dart";
 
 // The intermediate variable 'y' must either be preserved
diff --git a/tests/language_2/closure/with_super_field_test.dart b/tests/language_2/closure/with_super_field_test.dart
index 603c0f6..6563f90 100644
--- a/tests/language_2/closure/with_super_field_test.dart
+++ b/tests/language_2/closure/with_super_field_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/closure/with_super_send_test.dart b/tests/language_2/closure/with_super_send_test.dart
index bcaae49..8399b87 100644
--- a/tests/language_2/closure/with_super_send_test.dart
+++ b/tests/language_2/closure/with_super_send_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.9
+
 import "package:expect/expect.dart";
 
 // Test a closurized super send.
diff --git a/tests/language_2/compile_time_constant/a_test.dart b/tests/language_2/compile_time_constant/a_test.dart
index 930a96c..160abf5 100644
--- a/tests/language_2/compile_time_constant/a_test.dart
+++ b/tests/language_2/compile_time_constant/a_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.9
+
 import "package:expect/expect.dart";
 
 const m1 = const {'a': 400 + 99};
diff --git a/tests/language_2/compile_time_constant/arguments_runtime_test.dart b/tests/language_2/compile_time_constant/arguments_runtime_test.dart
index 9718f01..c3cb1d2 100644
--- a/tests/language_2/compile_time_constant/arguments_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/arguments_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/arguments_test.dart b/tests/language_2/compile_time_constant/arguments_test.dart
index ca56413..53083eb 100644
--- a/tests/language_2/compile_time_constant/arguments_test.dart
+++ b/tests/language_2/compile_time_constant/arguments_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.9
+
 class A {
   const A(a);
   const A.named({a: 42});
diff --git a/tests/language_2/compile_time_constant/b_test.dart b/tests/language_2/compile_time_constant/b_test.dart
index 23a09a8..9e070c6 100644
--- a/tests/language_2/compile_time_constant/b_test.dart
+++ b/tests/language_2/compile_time_constant/b_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.9
+
 import "package:expect/expect.dart";
 
 const m1 = const {'__proto__': 400 + 99};
diff --git a/tests/language_2/compile_time_constant/c_runtime_1_test.dart b/tests/language_2/compile_time_constant/c_runtime_1_test.dart
index 0dfa265..0440b87 100644
--- a/tests/language_2/compile_time_constant/c_runtime_1_test.dart
+++ b/tests/language_2/compile_time_constant/c_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/c_runtime_test.dart b/tests/language_2/compile_time_constant/c_runtime_test.dart
index 8355fea..5b9c994 100644
--- a/tests/language_2/compile_time_constant/c_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/c_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/c_test.dart b/tests/language_2/compile_time_constant/c_test.dart
index 308f562..e3ebc8b 100644
--- a/tests/language_2/compile_time_constant/c_test.dart
+++ b/tests/language_2/compile_time_constant/c_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.9
+
 const m0 = const {499: 400 + 99};
 const m1 = const {
   "foo" + "bar": 42
diff --git a/tests/language_2/compile_time_constant/compile_time_constant10_test.dart b/tests/language_2/compile_time_constant/compile_time_constant10_test.dart
index 19c967a..a0d6a2e 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant10_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant10_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.9
+
 import "package:expect/expect.dart";
 
 // Test that 'identical(a,b)' is a compile-time constant.
diff --git a/tests/language_2/compile_time_constant/compile_time_constant11_test.dart b/tests/language_2/compile_time_constant/compile_time_constant11_test.dart
index 67ff3fe..22f8387 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant11_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant11_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.9
+
 // Check that conditional expression can be a compile-time constant.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/compile_time_constant/compile_time_constant12_test.dart b/tests/language_2/compile_time_constant/compile_time_constant12_test.dart
index 0acf8b0..3c05654 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant12_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant12_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.9
+
 const String s = "foo";
 const int i = s.length;
 const int l = "foo".length + 1;
diff --git a/tests/language_2/compile_time_constant/compile_time_constant13_test.dart b/tests/language_2/compile_time_constant/compile_time_constant13_test.dart
index 189abbd..7bf371c 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant13_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant13_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.9
+
 class A {
   final x; //# 01: ok
   //# 02: compile-time error
diff --git a/tests/language_2/compile_time_constant/compile_time_constant2_test.dart b/tests/language_2/compile_time_constant/compile_time_constant2_test.dart
index 132a93b..3a0325e 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant2_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant2_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.9
+
 import "package:expect/expect.dart";
 
 const x = 19;
diff --git a/tests/language_2/compile_time_constant/compile_time_constant3_test.dart b/tests/language_2/compile_time_constant/compile_time_constant3_test.dart
index 1723086..815b7db 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant3_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant3_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.9
+
 import "package:expect/expect.dart";
 
 const x = 19.5;
diff --git a/tests/language_2/compile_time_constant/compile_time_constant5_test.dart b/tests/language_2/compile_time_constant/compile_time_constant5_test.dart
index 5136b29..6f8da38 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant5_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant5_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.9
+
 import "package:expect/expect.dart";
 
 const x = true;
diff --git a/tests/language_2/compile_time_constant/compile_time_constant6_test.dart b/tests/language_2/compile_time_constant/compile_time_constant6_test.dart
index b30b2b6..c3538c6 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant6_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant6_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.9
+
 import "package:expect/expect.dart";
 
 const g1 = true;
diff --git a/tests/language_2/compile_time_constant/compile_time_constant7_test.dart b/tests/language_2/compile_time_constant/compile_time_constant7_test.dart
index 4780b47..de9b1ef 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant7_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant7_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/compile_time_constant8_test.dart b/tests/language_2/compile_time_constant/compile_time_constant8_test.dart
index b4a9100..7fb1e3f 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant8_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant8_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/compile_time_constant/compile_time_constant9_test.dart b/tests/language_2/compile_time_constant/compile_time_constant9_test.dart
index 96cf41a..97a3731 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant9_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant9_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/compile_time_constant/compile_time_constant_test.dart b/tests/language_2/compile_time_constant/compile_time_constant_test.dart
index caf6d82..483bf2f 100644
--- a/tests/language_2/compile_time_constant/compile_time_constant_test.dart
+++ b/tests/language_2/compile_time_constant/compile_time_constant_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.9
+
 class Bad {
   int foo;
   final int bar =
diff --git a/tests/language_2/compile_time_constant/d_test.dart b/tests/language_2/compile_time_constant/d_test.dart
index e00c822..10307a6 100644
--- a/tests/language_2/compile_time_constant/d_test.dart
+++ b/tests/language_2/compile_time_constant/d_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/e_test.dart b/tests/language_2/compile_time_constant/e_test.dart
index f5b837f..00e65f8 100644
--- a/tests/language_2/compile_time_constant/e_test.dart
+++ b/tests/language_2/compile_time_constant/e_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/f_test.dart b/tests/language_2/compile_time_constant/f_test.dart
index 21c215e..80a10cc 100644
--- a/tests/language_2/compile_time_constant/f_test.dart
+++ b/tests/language_2/compile_time_constant/f_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/g_test.dart b/tests/language_2/compile_time_constant/g_test.dart
index 1be8936..1a6db2f 100644
--- a/tests/language_2/compile_time_constant/g_test.dart
+++ b/tests/language_2/compile_time_constant/g_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/h_test.dart b/tests/language_2/compile_time_constant/h_test.dart
index f4ba212..1def5ad 100644
--- a/tests/language_2/compile_time_constant/h_test.dart
+++ b/tests/language_2/compile_time_constant/h_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.9
+
 import "package:expect/expect.dart";
 
 class A implements B {
diff --git a/tests/language_2/compile_time_constant/i_test.dart b/tests/language_2/compile_time_constant/i_test.dart
index e802356..f0bd6a3 100644
--- a/tests/language_2/compile_time_constant/i_test.dart
+++ b/tests/language_2/compile_time_constant/i_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/j_test.dart b/tests/language_2/compile_time_constant/j_test.dart
index 8a5ed24..384faec 100644
--- a/tests/language_2/compile_time_constant/j_test.dart
+++ b/tests/language_2/compile_time_constant/j_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/k_runtime_test.dart b/tests/language_2/compile_time_constant/k_runtime_test.dart
index ba5a2a0..e20a8dd 100644
--- a/tests/language_2/compile_time_constant/k_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/k_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/k_test.dart b/tests/language_2/compile_time_constant/k_test.dart
index 0fc7128..9e49812 100644
--- a/tests/language_2/compile_time_constant/k_test.dart
+++ b/tests/language_2/compile_time_constant/k_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.9
+
 import "package:expect/expect.dart";
 
 const x = const {
diff --git a/tests/language_2/compile_time_constant/l_test.dart b/tests/language_2/compile_time_constant/l_test.dart
index 1f6bc50..a1b1be9 100644
--- a/tests/language_2/compile_time_constant/l_test.dart
+++ b/tests/language_2/compile_time_constant/l_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/m_test.dart b/tests/language_2/compile_time_constant/m_test.dart
index 0ae096ea..76e5a33 100644
--- a/tests/language_2/compile_time_constant/m_test.dart
+++ b/tests/language_2/compile_time_constant/m_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/n_test.dart b/tests/language_2/compile_time_constant/n_test.dart
index 3f621b2..65afe53 100644
--- a/tests/language_2/compile_time_constant/n_test.dart
+++ b/tests/language_2/compile_time_constant/n_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/o_runtime_test.dart b/tests/language_2/compile_time_constant/o_runtime_test.dart
index d808e9e..244a9c5 100644
--- a/tests/language_2/compile_time_constant/o_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/o_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/o_test.dart b/tests/language_2/compile_time_constant/o_test.dart
index f9419b7..5301ab7 100644
--- a/tests/language_2/compile_time_constant/o_test.dart
+++ b/tests/language_2/compile_time_constant/o_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test compile-time constants with string-interpolation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 const str = "foo";
diff --git a/tests/language_2/compile_time_constant/p_runtime_test.dart b/tests/language_2/compile_time_constant/p_runtime_test.dart
index 283ecec..fd3f286 100644
--- a/tests/language_2/compile_time_constant/p_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/p_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/p_test.dart b/tests/language_2/compile_time_constant/p_test.dart
index 133519f..da05ab5 100644
--- a/tests/language_2/compile_time_constant/p_test.dart
+++ b/tests/language_2/compile_time_constant/p_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/compile_time_constant/q_test.dart b/tests/language_2/compile_time_constant/q_test.dart
index 3b38e3c..25b9f7b 100644
--- a/tests/language_2/compile_time_constant/q_test.dart
+++ b/tests/language_2/compile_time_constant/q_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.9
+
 const double x = 14.0;
 main() {
   print(x);
diff --git a/tests/language_2/compile_time_constant/r_runtime_test.dart b/tests/language_2/compile_time_constant/r_runtime_test.dart
index 2e8c359..1a909e4 100644
--- a/tests/language_2/compile_time_constant/r_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/r_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/compile_time_constant/r_test.dart b/tests/language_2/compile_time_constant/r_test.dart
index 8713d18..16e8b8f 100644
--- a/tests/language_2/compile_time_constant/r_test.dart
+++ b/tests/language_2/compile_time_constant/r_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.9
+
 const x =
     throw "x";
 //  ^^^^^^^^^
diff --git a/tests/language_2/compile_time_constant/runtime_test.dart b/tests/language_2/compile_time_constant/runtime_test.dart
index 9fc8d8f..31deb68 100644
--- a/tests/language_2/compile_time_constant/runtime_test.dart
+++ b/tests/language_2/compile_time_constant/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/static2_runtime_test.dart b/tests/language_2/compile_time_constant/static2_runtime_test.dart
index d5b8939..c0429b1 100644
--- a/tests/language_2/compile_time_constant/static2_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/static2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/static2_test.dart b/tests/language_2/compile_time_constant/static2_test.dart
index 70ae5c5..8b4885a 100644
--- a/tests/language_2/compile_time_constant/static2_test.dart
+++ b/tests/language_2/compile_time_constant/static2_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.9
+
 class A {
   final int x;
   const A.a1() : x = 'foo';
diff --git a/tests/language_2/compile_time_constant/static3_runtime_test.dart b/tests/language_2/compile_time_constant/static3_runtime_test.dart
index d5b8939..c0429b1 100644
--- a/tests/language_2/compile_time_constant/static3_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/static3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/static3_test.dart b/tests/language_2/compile_time_constant/static3_test.dart
index eb101ac..1030a1e 100644
--- a/tests/language_2/compile_time_constant/static3_test.dart
+++ b/tests/language_2/compile_time_constant/static3_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.9
+
 class A {
   final int x;
   const A.a1() : x = 'foo';
diff --git a/tests/language_2/compile_time_constant/static4_test.dart b/tests/language_2/compile_time_constant/static4_test.dart
index 8436b05..feaa3ee 100644
--- a/tests/language_2/compile_time_constant/static4_test.dart
+++ b/tests/language_2/compile_time_constant/static4_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.9
+
 class A {
   final _x;
   const A.a1(
diff --git a/tests/language_2/compile_time_constant/static5_test.dart b/tests/language_2/compile_time_constant/static5_test.dart
index c1666e8..878515b 100644
--- a/tests/language_2/compile_time_constant/static5_test.dart
+++ b/tests/language_2/compile_time_constant/static5_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.9
+
 class A {
   const A();
 }
diff --git a/tests/language_2/compile_time_constant/static_runtime_test.dart b/tests/language_2/compile_time_constant/static_runtime_test.dart
index 9e4712f..b23bf98 100644
--- a/tests/language_2/compile_time_constant/static_runtime_test.dart
+++ b/tests/language_2/compile_time_constant/static_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/compile_time_constant/static_test.dart b/tests/language_2/compile_time_constant/static_test.dart
index d5ebd13..5b40448 100644
--- a/tests/language_2/compile_time_constant/static_test.dart
+++ b/tests/language_2/compile_time_constant/static_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.9
+
 final int x = 'foo';
 //            ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
diff --git a/tests/language_2/compiler_annotations.dart b/tests/language_2/compiler_annotations.dart
index c920add..9264514 100644
--- a/tests/language_2/compiler_annotations.dart
+++ b/tests/language_2/compiler_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.9
+
 library compiler_annotations;
 
 // This library contains annotations useful for testing.
diff --git a/tests/language_2/const/cast1_test.dart b/tests/language_2/const/cast1_test.dart
index 2363f3f..219be00 100644
--- a/tests/language_2/const/cast1_test.dart
+++ b/tests/language_2/const/cast1_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.9
+
 /// Implicit casts in constants are supported and treated as compile-time errors
 /// if they are not valid.
 
diff --git a/tests/language_2/const/cast2_test.dart b/tests/language_2/const/cast2_test.dart
index 326a884..f4bcccf 100644
--- a/tests/language_2/const/cast2_test.dart
+++ b/tests/language_2/const/cast2_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.9
+
 /// Explicit casts in constants are supported and treated as compile-time errors
 /// if they are not valid.
 
diff --git a/tests/language_2/const/cast3_test.dart b/tests/language_2/const/cast3_test.dart
index f7d7354..173abb8 100644
--- a/tests/language_2/const/cast3_test.dart
+++ b/tests/language_2/const/cast3_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.9
+
 /// Casts in constants correctly substitute type variables.
 
 class A {
diff --git a/tests/language_2/const/cast4_test.dart b/tests/language_2/const/cast4_test.dart
index cb7a250..3b3de5e 100644
--- a/tests/language_2/const/cast4_test.dart
+++ b/tests/language_2/const/cast4_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.9
+
 /// Casts in constants correctly substitute type variables.
 
 class A {
diff --git a/tests/language_2/const/conditional_runtime_test.dart b/tests/language_2/const/conditional_runtime_test.dart
index 5b9d8c8..2567385 100644
--- a/tests/language_2/const/conditional_runtime_test.dart
+++ b/tests/language_2/const/conditional_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/const/conditional_test.dart b/tests/language_2/const/conditional_test.dart
index 4943748..83c09ca 100644
--- a/tests/language_2/const/conditional_test.dart
+++ b/tests/language_2/const/conditional_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.9
+
 // Test for conditionals as compile-time constants.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/const/const2_test.dart b/tests/language_2/const/const2_test.dart
index 6a9f94e..63c3374 100644
--- a/tests/language_2/const/const2_test.dart
+++ b/tests/language_2/const/const2_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=
 // VMOptions=--compile_all
 
+// @dart = 2.9
+
 // Exercises language constructs that require compile time constants
 
 // Initialize with different literal types
diff --git a/tests/language_2/const/const3_test.dart b/tests/language_2/const/const3_test.dart
index 0758057..bc2818a 100644
--- a/tests/language_2/const/const3_test.dart
+++ b/tests/language_2/const/const3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that initializers of const fields can be declared out of order.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 const P = 2 * (O - N);
diff --git a/tests/language_2/const/const4_lib.dart b/tests/language_2/const/const4_lib.dart
index c9d2840..e0ca165 100644
--- a/tests/language_2/const/const4_lib.dart
+++ b/tests/language_2/const/const4_lib.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // See CTConst4Test.dart
 
+// @dart = 2.9
+
 library CTConst4Lib;
 
 const B = 1;
diff --git a/tests/language_2/const/const4_test.dart b/tests/language_2/const/const4_test.dart
index c47f33c..d69275b 100644
--- a/tests/language_2/const/const4_test.dart
+++ b/tests/language_2/const/const4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check compile-time constant library references with prefixes
 
+// @dart = 2.9
+
 library CTConst4Test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/const/const_locals_constant_locals_test.dart b/tests/language_2/const/const_locals_constant_locals_test.dart
index 472687b..2d27216 100644
--- a/tests/language_2/const/const_locals_constant_locals_test.dart
+++ b/tests/language_2/const/const_locals_constant_locals_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.9
+
 // Test that constant local variables have constant initializers.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/const/const_locals_runtime_test.dart b/tests/language_2/const/const_locals_runtime_test.dart
index efabff5..ad0225d 100644
--- a/tests/language_2/const/const_locals_runtime_test.dart
+++ b/tests/language_2/const/const_locals_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/const/const_test.dart b/tests/language_2/const/const_test.dart
index d97f547..ab9920d 100644
--- a/tests/language_2/const/const_test.dart
+++ b/tests/language_2/const/const_test.dart
@@ -4,6 +4,8 @@
 // Check const classes.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class AConst {
diff --git a/tests/language_2/const/constant_dag_test.dart b/tests/language_2/const/constant_dag_test.dart
index 3be6889..2248187 100644
--- a/tests/language_2/const/constant_dag_test.dart
+++ b/tests/language_2/const/constant_dag_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.9
+
 import "package:expect/expect.dart";
 
 // Test the efficient processing of constants that are DAGs.
diff --git a/tests/language_2/const/constants_test.dart b/tests/language_2/const/constants_test.dart
index db84c5b..dcf172d 100644
--- a/tests/language_2/const/constants_test.dart
+++ b/tests/language_2/const/constants_test.dart
@@ -2,18 +2,20 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class C {
   factory C() => null;
 }
 
 const
-// [error line 9, column 1, length 5]
+// [error line 11, column 1, length 5]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'const' here.
 t() => null;
 
 const
-// [error line 15, column 1, length 5]
+// [error line 17, column 1, length 5]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'const' here.
 get v => null;
@@ -27,7 +29,6 @@
   const y = const C();
   //        ^^^^^
   // [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-  //        ^^^^^
   // [analyzer] COMPILE_TIME_ERROR.CONST_WITH_NON_CONST
   //              ^
   // [cfe] Cannot invoke a non-'const' factory where a const expression is expected.
diff --git a/tests/language_2/const/constructor2_test.dart b/tests/language_2/const/constructor2_test.dart
index 6d782ce..008905a 100644
--- a/tests/language_2/const/constructor2_test.dart
+++ b/tests/language_2/const/constructor2_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.9
+
 // Regression test for issue 14348.
 
 class A<T> {
diff --git a/tests/language_2/const/constructor3_runtime_1_test.dart b/tests/language_2/const/constructor3_runtime_1_test.dart
index 2a970db..f918daf 100644
--- a/tests/language_2/const/constructor3_runtime_1_test.dart
+++ b/tests/language_2/const/constructor3_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/constructor3_runtime_2_test.dart b/tests/language_2/const/constructor3_runtime_2_test.dart
index 799f5d7..97b5054 100644
--- a/tests/language_2/const/constructor3_runtime_2_test.dart
+++ b/tests/language_2/const/constructor3_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/constructor3_runtime_test.dart b/tests/language_2/const/constructor3_runtime_test.dart
index 5c2e771..5269804 100644
--- a/tests/language_2/const/constructor3_runtime_test.dart
+++ b/tests/language_2/const/constructor3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/constructor3_test.dart b/tests/language_2/const/constructor3_test.dart
index 8ec85e0..592dcdb 100644
--- a/tests/language_2/const/constructor3_test.dart
+++ b/tests/language_2/const/constructor3_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.9
+
 class C {
   final double d;
   const C(this.d);
diff --git a/tests/language_2/const/constructor_mixin2_runtime_test.dart b/tests/language_2/const/constructor_mixin2_runtime_test.dart
index 5ca87e9..5838d97 100644
--- a/tests/language_2/const/constructor_mixin2_runtime_test.dart
+++ b/tests/language_2/const/constructor_mixin2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/const/constructor_mixin2_test.dart b/tests/language_2/const/constructor_mixin2_test.dart
index a7bc863..5794d86 100644
--- a/tests/language_2/const/constructor_mixin2_test.dart
+++ b/tests/language_2/const/constructor_mixin2_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.9
+
 class Mixin {
   var nonFinalField;
 }
diff --git a/tests/language_2/const/constructor_mixin3_test.dart b/tests/language_2/const/constructor_mixin3_test.dart
index 9eb4d76..b479788 100644
--- a/tests/language_2/const/constructor_mixin3_test.dart
+++ b/tests/language_2/const/constructor_mixin3_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.9
+
 class Mixin {}
 
 class A {
diff --git a/tests/language_2/const/constructor_mixin_test.dart b/tests/language_2/const/constructor_mixin_test.dart
index a177ce1..316f975 100644
--- a/tests/language_2/const/constructor_mixin_test.dart
+++ b/tests/language_2/const/constructor_mixin_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.9
+
 class Mixin {}
 
 class A {
diff --git a/tests/language_2/const/constructor_nonconst_field_runtime_test.dart b/tests/language_2/const/constructor_nonconst_field_runtime_test.dart
index a08abbe..a261ec0 100644
--- a/tests/language_2/const/constructor_nonconst_field_runtime_test.dart
+++ b/tests/language_2/const/constructor_nonconst_field_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/constructor_nonconst_field_test.dart b/tests/language_2/const/constructor_nonconst_field_test.dart
index 3533842..077a609 100644
--- a/tests/language_2/const/constructor_nonconst_field_test.dart
+++ b/tests/language_2/const/constructor_nonconst_field_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/const/constructor_nonconst_param_runtime_test.dart b/tests/language_2/const/constructor_nonconst_param_runtime_test.dart
index 5ba2bf7..d6fc8c8 100644
--- a/tests/language_2/const/constructor_nonconst_param_runtime_test.dart
+++ b/tests/language_2/const/constructor_nonconst_param_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/const/constructor_nonconst_param_test.dart b/tests/language_2/const/constructor_nonconst_param_test.dart
index bca1b3e..fbb2d09 100644
--- a/tests/language_2/const/constructor_nonconst_param_test.dart
+++ b/tests/language_2/const/constructor_nonconst_param_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.9
+
 class A {
   const A(int a);
 }
diff --git a/tests/language_2/const/constructor_runtime_test.dart b/tests/language_2/const/constructor_runtime_test.dart
index c643e1c..9d19d3c 100644
--- a/tests/language_2/const/constructor_runtime_test.dart
+++ b/tests/language_2/const/constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/const/constructor_super2_test.dart b/tests/language_2/const/constructor_super2_test.dart
index f922769..ca6cc33 100644
--- a/tests/language_2/const/constructor_super2_test.dart
+++ b/tests/language_2/const/constructor_super2_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/const/constructor_super_runtime_test.dart b/tests/language_2/const/constructor_super_runtime_test.dart
index aa555a62..8406520 100644
--- a/tests/language_2/const/constructor_super_runtime_test.dart
+++ b/tests/language_2/const/constructor_super_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/const/constructor_super_test.dart b/tests/language_2/const/constructor_super_test.dart
index f710d15..447e918 100644
--- a/tests/language_2/const/constructor_super_test.dart
+++ b/tests/language_2/const/constructor_super_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/const/constructor_syntax_runtime_test.dart b/tests/language_2/const/constructor_syntax_runtime_test.dart
index bccb4a8..ad36a51 100644
--- a/tests/language_2/const/constructor_syntax_runtime_test.dart
+++ b/tests/language_2/const/constructor_syntax_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/const/constructor_syntax_test.dart b/tests/language_2/const/constructor_syntax_test.dart
index ea34671..e29bf6c 100644
--- a/tests/language_2/const/constructor_syntax_test.dart
+++ b/tests/language_2/const/constructor_syntax_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.9
+
 main() {
   var c0 = const C0();
   //       ^^^^^
diff --git a/tests/language_2/const/constructor_test.dart b/tests/language_2/const/constructor_test.dart
index d571d92..079b0eb 100644
--- a/tests/language_2/const/constructor_test.dart
+++ b/tests/language_2/const/constructor_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/const/counter_runtime_test.dart b/tests/language_2/const/counter_runtime_test.dart
index dd8251f..e70c3ad 100644
--- a/tests/language_2/const/counter_runtime_test.dart
+++ b/tests/language_2/const/counter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/const/counter_test.dart b/tests/language_2/const/counter_test.dart
index 0ca474f..678e6f6 100644
--- a/tests/language_2/const/counter_test.dart
+++ b/tests/language_2/const/counter_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.9
+
 // Bug: 4254106 Constant constructors must have (implicit) const parameters.
 
 class ConstCounter {
diff --git a/tests/language_2/const/ct_const_test.dart b/tests/language_2/const/ct_const_test.dart
index defab06..49ac1ad 100644
--- a/tests/language_2/const/ct_const_test.dart
+++ b/tests/language_2/const/ct_const_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.9
+
 // Test of apparent compile-time nature of constant evaluation. Constant Lists,
 // Maps and other objects should be identical independent of formation.
 
diff --git a/tests/language_2/const/double_in_int_op_test.dart b/tests/language_2/const/double_in_int_op_test.dart
index ed12305..4856863 100644
--- a/tests/language_2/const/double_in_int_op_test.dart
+++ b/tests/language_2/const/double_in_int_op_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.
 
-// SharedOptions=--enable-experiment=triple-shift
+// @dart = 2.9
 
 main() {
   const dynamic i1 = 3;
@@ -16,25 +16,21 @@
       (i1 ^ i2) + //# ii3: ok
       (i1 << i2) + //# ii4: ok
       (i1 >> i2) + //# ii5: ok
-      (i1 >>> i2) + //# ii6: ok
       (i1 | d2) + //# id1: compile-time error
       (i1 & d2) + //# id2: compile-time error
       (i1 ^ d2) + //# id3: compile-time error
       (i1 << d2) + //# id4: compile-time error
       (i1 >> d2) + //# id5: compile-time error
-      (i1 >>> d2) + //# id6: compile-time error
       (d1 | i2) + //# di1: compile-time error
       (d1 & i2) + //# di2: compile-time error
       (d1 ^ i2) + //# di3: compile-time error
       (d1 << i2) + //# di4: compile-time error
       (d1 >> i2) + //# di5: compile-time error
-      (d1 >>> i2) + //# di6: compile-time error
       (d1 | d2) + //# dd1: compile-time error
       (d1 & d2) + //# dd2: compile-time error
       (d1 ^ d2) + //# dd3: compile-time error
       (d1 << d2) + //# dd4: compile-time error
       (d1 >> d2) + //# dd5: compile-time error
-      (d1 >>> d2) + //# dd6: compile-time error
       0;
   print(sum);
 }
diff --git a/tests/language_2/const/dynamic_type_literal_runtime_1_test.dart b/tests/language_2/const/dynamic_type_literal_runtime_1_test.dart
index 8f56bb6..466e4f9 100644
--- a/tests/language_2/const/dynamic_type_literal_runtime_1_test.dart
+++ b/tests/language_2/const/dynamic_type_literal_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/const/dynamic_type_literal_runtime_2_test.dart b/tests/language_2/const/dynamic_type_literal_runtime_2_test.dart
index 478a9ed..125a59e 100644
--- a/tests/language_2/const/dynamic_type_literal_runtime_2_test.dart
+++ b/tests/language_2/const/dynamic_type_literal_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/const/dynamic_type_literal_runtime_test.dart b/tests/language_2/const/dynamic_type_literal_runtime_test.dart
index 05cb59a..2337462 100644
--- a/tests/language_2/const/dynamic_type_literal_runtime_test.dart
+++ b/tests/language_2/const/dynamic_type_literal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/const/dynamic_type_literal_test.dart b/tests/language_2/const/dynamic_type_literal_test.dart
index e69bb8f..8f159cb 100644
--- a/tests/language_2/const/dynamic_type_literal_test.dart
+++ b/tests/language_2/const/dynamic_type_literal_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.9
+
 // Test that 'dynamic' can be used in const expressions and has the expected
 // behavior.
 
diff --git a/tests/language_2/const/error_multiply_initialized_test.dart b/tests/language_2/const/error_multiply_initialized_test.dart
index 490ea0f..8b6643c 100644
--- a/tests/language_2/const/error_multiply_initialized_test.dart
+++ b/tests/language_2/const/error_multiply_initialized_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.9
+
 // If a constant constructor contains an initializer, or an initializing
 // formal, for a final field which itself has an initializer at its
 // declaration, then a compile-time error should be reported regardless of
diff --git a/tests/language_2/const/escape_frog_test.dart b/tests/language_2/const/escape_frog_test.dart
index 0380058..0ae7e56 100644
--- a/tests/language_2/const/escape_frog_test.dart
+++ b/tests/language_2/const/escape_frog_test.dart
@@ -4,6 +4,8 @@
 // Test division by power of two.
 // Test that results before and after optimization are the same.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/const/evaluation_test.dart b/tests/language_2/const/evaluation_test.dart
index cd0353e..e9fe907 100644
--- a/tests/language_2/const/evaluation_test.dart
+++ b/tests/language_2/const/evaluation_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.9
+
 // Check that compile-time evaluation of constants is consistent with runtime
 // evaluation.
 
diff --git a/tests/language_2/const/factory_redirection_test.dart b/tests/language_2/const/factory_redirection_test.dart
index 3d2fdea..7265148 100644
--- a/tests/language_2/const/factory_redirection_test.dart
+++ b/tests/language_2/const/factory_redirection_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.9
+
 import "package:expect/expect.dart";
 
 // Test that factory redirections work for compile-time constants, and
diff --git a/tests/language_2/const/factory_with_body_runtime_test.dart b/tests/language_2/const/factory_with_body_runtime_test.dart
index 559defc..9ad1e97 100644
--- a/tests/language_2/const/factory_with_body_runtime_test.dart
+++ b/tests/language_2/const/factory_with_body_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/const/factory_with_body_test.dart b/tests/language_2/const/factory_with_body_test.dart
index acabe6c..46d08fb 100644
--- a/tests/language_2/const/factory_with_body_test.dart
+++ b/tests/language_2/const/factory_with_body_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests that a "const factory" with body produces a compile-time error.
 
+// @dart = 2.9
+
 class ConstFactoryWithBody {
   const factory ConstFactoryWithBody.one() { }
 //^^^^^
diff --git a/tests/language_2/const/for_in_variable_test.dart b/tests/language_2/const/for_in_variable_test.dart
index 2eb63b7..ebcf66e 100644
--- a/tests/language_2/const/for_in_variable_test.dart
+++ b/tests/language_2/const/for_in_variable_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.9
+
 main() {
   for (
       const //# 01: compile-time error
diff --git a/tests/language_2/const/getter_runtime_test.dart b/tests/language_2/const/getter_runtime_test.dart
index 4d32485..b03ed55 100644
--- a/tests/language_2/const/getter_runtime_test.dart
+++ b/tests/language_2/const/getter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/const/getter_test.dart b/tests/language_2/const/getter_test.dart
index c843529..9f10399 100644
--- a/tests/language_2/const/getter_test.dart
+++ b/tests/language_2/const/getter_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.9
+
 // Check that const getters are not allowed.
 
 import 'package:expect/expect.dart';
@@ -17,7 +19,7 @@
 }
 
 const
-// [error line 19, column 1, length 5]
+// [error line 21, column 1, length 5]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'const' here.
 get y => 2;
diff --git a/tests/language_2/const/global_test.dart b/tests/language_2/const/global_test.dart
index 99143d4..d22fc00 100644
--- a/tests/language_2/const/global_test.dart
+++ b/tests/language_2/const/global_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.9
+
 import "package:expect/expect.dart";
 
 const a = 1;
diff --git a/tests/language_2/const/inference_test.dart b/tests/language_2/const/inference_test.dart
index b925f20..89b612c 100644
--- a/tests/language_2/const/inference_test.dart
+++ b/tests/language_2/const/inference_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.9
+
 import "package:expect/expect.dart";
 
 R constFunction<T, R>(T _) => null;
diff --git a/tests/language_2/const/init2_runtime_1_test.dart b/tests/language_2/const/init2_runtime_1_test.dart
index 7338f45..ae6cd4a 100644
--- a/tests/language_2/const/init2_runtime_1_test.dart
+++ b/tests/language_2/const/init2_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/init2_runtime_test.dart b/tests/language_2/const/init2_runtime_test.dart
index 5970f29..0ec12b9 100644
--- a/tests/language_2/const/init2_runtime_test.dart
+++ b/tests/language_2/const/init2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/init2_test.dart b/tests/language_2/const/init2_test.dart
index 65f0aa2..f367c29 100644
--- a/tests/language_2/const/init2_test.dart
+++ b/tests/language_2/const/init2_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.9
+
 const intValue = 0;
 const double c = 0.0;
 const double d = intValue;
diff --git a/tests/language_2/const/init_test.dart b/tests/language_2/const/init_test.dart
index 714f9e1..211eb63 100644
--- a/tests/language_2/const/init_test.dart
+++ b/tests/language_2/const/init_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that initializers of static const fields are compile time constants.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Point {
diff --git a/tests/language_2/const/instance_field_runtime_test.dart b/tests/language_2/const/instance_field_runtime_test.dart
index 697b231..7aeb492 100644
--- a/tests/language_2/const/instance_field_runtime_test.dart
+++ b/tests/language_2/const/instance_field_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/instance_field_test.dart b/tests/language_2/const/instance_field_test.dart
index f80551a..50fe87a 100644
--- a/tests/language_2/const/instance_field_test.dart
+++ b/tests/language_2/const/instance_field_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.9
+
 // Test that const instance fields are compile-time errors.
 
 class C {
diff --git a/tests/language_2/const/list_test.dart b/tests/language_2/const/list_test.dart
index cdc0fb3..d48e022 100644
--- a/tests/language_2/const/list_test.dart
+++ b/tests/language_2/const/list_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.9
+
 import "package:expect/expect.dart";
 
 class ConstListTest {
diff --git a/tests/language_2/const/local_test.dart b/tests/language_2/const/local_test.dart
index f5288ed..51d9744 100644
--- a/tests/language_2/const/local_test.dart
+++ b/tests/language_2/const/local_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/const/locals_test.dart b/tests/language_2/const/locals_test.dart
index 00fc637..bd93137 100644
--- a/tests/language_2/const/locals_test.dart
+++ b/tests/language_2/const/locals_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.9
+
 import "package:expect/expect.dart";
 
 // Test of compile time constant local variables.
diff --git a/tests/language_2/const/map2_runtime_test.dart b/tests/language_2/const/map2_runtime_test.dart
index 9e1fe97..5ce67f2 100644
--- a/tests/language_2/const/map2_runtime_test.dart
+++ b/tests/language_2/const/map2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/map2_test.dart b/tests/language_2/const/map2_test.dart
index a5f3798..55f729e 100644
--- a/tests/language_2/const/map2_test.dart
+++ b/tests/language_2/const/map2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/const/map3_runtime_test.dart b/tests/language_2/const/map3_runtime_test.dart
index 4416774..7511732 100644
--- a/tests/language_2/const/map3_runtime_test.dart
+++ b/tests/language_2/const/map3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/map3_test.dart b/tests/language_2/const/map3_test.dart
index b7ee989..368e633 100644
--- a/tests/language_2/const/map3_test.dart
+++ b/tests/language_2/const/map3_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/const/map4_test.dart b/tests/language_2/const/map4_test.dart
index 397672c..88e1398 100644
--- a/tests/language_2/const/map4_test.dart
+++ b/tests/language_2/const/map4_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/const/map_test.dart b/tests/language_2/const/map_test.dart
index 19ced31..b0df3bc 100644
--- a/tests/language_2/const/map_test.dart
+++ b/tests/language_2/const/map_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.9
+
 import "package:expect/expect.dart";
 
 /// Returns its argument.
diff --git a/tests/language_2/const/named_test.dart b/tests/language_2/const/named_test.dart
index 94b5598..8b2f278 100644
--- a/tests/language_2/const/named_test.dart
+++ b/tests/language_2/const/named_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that const constructors work with named arguments.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/const/native_factory_test.dart b/tests/language_2/const/native_factory_test.dart
index 13d398f..44dc8a6 100644
--- a/tests/language_2/const/native_factory_test.dart
+++ b/tests/language_2/const/native_factory_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.9
+
 class Cake {
   final name;
   const Cake(this.name);
diff --git a/tests/language_2/const/nested_test.dart b/tests/language_2/const/nested_test.dart
index bf52d67..a290f3d 100644
--- a/tests/language_2/const/nested_test.dart
+++ b/tests/language_2/const/nested_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.9
+
 import "package:expect/expect.dart";
 
 // Test of compile time constant local variables in outer function levels.
diff --git a/tests/language_2/const/objects_are_immutable_test.dart b/tests/language_2/const/objects_are_immutable_test.dart
index 7633716..a5e9add 100644
--- a/tests/language_2/const/objects_are_immutable_test.dart
+++ b/tests/language_2/const/objects_are_immutable_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that const objects (including literals) are immutable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/const/optional_args_runtime_test.dart b/tests/language_2/const/optional_args_runtime_test.dart
index 46d23f9..5dbe4bd 100644
--- a/tests/language_2/const/optional_args_runtime_test.dart
+++ b/tests/language_2/const/optional_args_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/const/optional_args_test.dart b/tests/language_2/const/optional_args_test.dart
index 3d7c779..5d752e0 100644
--- a/tests/language_2/const/optional_args_test.dart
+++ b/tests/language_2/const/optional_args_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.9
+
 // Check that const objects (including literals) are immutable.
 
 // Must be 'const {}' to be valid.
diff --git a/tests/language_2/const/qq_test.dart b/tests/language_2/const/qq_test.dart
index 7b91c96..cdaefe7 100644
--- a/tests/language_2/const/qq_test.dart
+++ b/tests/language_2/const/qq_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.9
+
 // Check that ?? is compile-time constant.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/const/redirect_skips_supertype_test.dart b/tests/language_2/const/redirect_skips_supertype_test.dart
index f79ad5a..b115796 100644
--- a/tests/language_2/const/redirect_skips_supertype_test.dart
+++ b/tests/language_2/const/redirect_skips_supertype_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.9
+
 // Since C redirects to C.named, it doesn't implicitly refer to B's
 // unnamed constructor.  Therefore there is no cycle.
 
diff --git a/tests/language_2/const/redirecting_factory_test.dart b/tests/language_2/const/redirecting_factory_test.dart
index 966018d..33a1420 100644
--- a/tests/language_2/const/redirecting_factory_test.dart
+++ b/tests/language_2/const/redirecting_factory_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.9
+
 import 'package:expect/expect.dart';
 
 class K implements L {
diff --git a/tests/language_2/const/string_test.dart b/tests/language_2/const/string_test.dart
index 13f1a9c..0429ff5 100644
--- a/tests/language_2/const/string_test.dart
+++ b/tests/language_2/const/string_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.9
+
 import "package:expect/expect.dart";
 
 // Exercises compile-time string constants
diff --git a/tests/language_2/const/switch2_runtime_test.dart b/tests/language_2/const/switch2_runtime_test.dart
index 65d37de..f8a2d96 100644
--- a/tests/language_2/const/switch2_runtime_test.dart
+++ b/tests/language_2/const/switch2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/const/switch2_test.dart b/tests/language_2/const/switch2_test.dart
index f1daf0c..772846e 100644
--- a/tests/language_2/const/switch2_test.dart
+++ b/tests/language_2/const/switch2_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.9
+
 import 'package:expect/expect.dart';
 
 int main() {
diff --git a/tests/language_2/const/switch_test.dart b/tests/language_2/const/switch_test.dart
index 05ae822..48b7d3d 100644
--- a/tests/language_2/const/switch_test.dart
+++ b/tests/language_2/const/switch_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.9
+
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/tests/language_2/const/syntax_runtime_test.dart b/tests/language_2/const/syntax_runtime_test.dart
index 93d1f48..ebb4dd7 100644
--- a/tests/language_2/const/syntax_runtime_test.dart
+++ b/tests/language_2/const/syntax_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/const/syntax_test.dart b/tests/language_2/const/syntax_test.dart
index 138d30c..364a421 100644
--- a/tests/language_2/const/syntax_test.dart
+++ b/tests/language_2/const/syntax_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/const/tree_test.dart b/tests/language_2/const/tree_test.dart
index 7c0cd28..8b42e7d 100644
--- a/tests/language_2/const/tree_test.dart
+++ b/tests/language_2/const/tree_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.9
+
 class A {
   final List<A> children;
   const A({this.children: const []});
diff --git a/tests/language_2/const/types_test.dart b/tests/language_2/const/types_test.dart
index 3199c0c..84f07ee 100644
--- a/tests/language_2/const/types_test.dart
+++ b/tests/language_2/const/types_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.9
+
 // Test handling of malformed types in constant expressions.
 
 use(x) {}
diff --git a/tests/language_2/const/var_helper.dart b/tests/language_2/const/var_helper.dart
index ad3806c..3be3c41 100644
--- a/tests/language_2/const/var_helper.dart
+++ b/tests/language_2/const/var_helper.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // All things regarding constant variables.
 
+// @dart = 2.9
+
 /** Helper library for 'var_test.dart' */
 library const_var_helper;
 
diff --git a/tests/language_2/const/var_test.dart b/tests/language_2/const/var_test.dart
index 60557f6..66c02f3 100644
--- a/tests/language_2/const/var_test.dart
+++ b/tests/language_2/const/var_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // All things regarding constant variables.
 
+// @dart = 2.9
+
 library const_var;
 
 import 'var_helper.dart' as foo;
diff --git a/tests/language_2/constants_2018/const_type_test.dart b/tests/language_2/constants_2018/const_type_test.dart
index c6c3f33..5114509 100644
--- a/tests/language_2/constants_2018/const_type_test.dart
+++ b/tests/language_2/constants_2018/const_type_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.9
+
 // Tests that types do matter when an expression is evaluated as constant.
 
 main() {
@@ -97,4 +99,4 @@
   C operator <=(C other) => this;
   C operator >=(C other) => this;
   C get length => this;
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/constants_2018/constant_type_literal_test.dart b/tests/language_2/constants_2018/constant_type_literal_test.dart
index 99a26db..e7086f3 100644
--- a/tests/language_2/constants_2018/constant_type_literal_test.dart
+++ b/tests/language_2/constants_2018/constant_type_literal_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.9
+
 // Tests that non-deferred type literals are constant expressions.
 
 import "dart:core";
diff --git a/tests/language_2/constants_2018/constant_type_literal_types.dart b/tests/language_2/constants_2018/constant_type_literal_types.dart
index d3f5f2c..38dff1c 100644
--- a/tests/language_2/constants_2018/constant_type_literal_types.dart
+++ b/tests/language_2/constants_2018/constant_type_literal_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.9
+
 // Helper file for constant_type_literal_test.dart.
 // Tests that non-deferred type literals are constant expressions.
 
diff --git a/tests/language_2/constants_2018/constant_types_test.dart b/tests/language_2/constants_2018/constant_types_test.dart
index 5defae9..333c6d4 100644
--- a/tests/language_2/constants_2018/constant_types_test.dart
+++ b/tests/language_2/constants_2018/constant_types_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.9
+
 // Tests that only constant types are allowed in some positions,
 // not type parameters.
 
diff --git a/tests/language_2/constants_2018/equals_test.dart b/tests/language_2/constants_2018/equals_test.dart
index 5c74e69..6ddd3e1 100644
--- a/tests/language_2/constants_2018/equals_test.dart
+++ b/tests/language_2/constants_2018/equals_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.9
+
 // Tests that equality is allowed for receivers of specific types.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constants_2018/potential_const_dynamic_test.dart b/tests/language_2/constants_2018/potential_const_dynamic_test.dart
index 63f031a..2f98cc3 100644
--- a/tests/language_2/constants_2018/potential_const_dynamic_test.dart
+++ b/tests/language_2/constants_2018/potential_const_dynamic_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.9
+
 // Tests that a dynamic type does not affect whether an expression is
 // potentially constant, the actual type of the value of an experssion
 // only matters if the expression is evaluated as a constant.
@@ -17,7 +19,6 @@
   T.test07(c, c);
   T.test08(c, c);
   T.test09(c, c);
-  T.test10(c, c); //# sh3: ok
   T.test11(c, c);
   T.test12(c, c);
   T.test13(c, c);
@@ -40,7 +41,6 @@
   const T.test07(dynamic x, dynamic y) : this(x % y);
   const T.test08(dynamic x, dynamic y) : this(x << y);
   const T.test09(dynamic x, dynamic y) : this(x >> y);
-  const T.test10(dynamic x, dynamic y) : this(x >>> y); //# sh3: continued
   const T.test11(dynamic x, dynamic y) : this(x & y);
   const T.test12(dynamic x, dynamic y) : this(x | y);
   const T.test13(dynamic x, dynamic y) : this(x ^ y);
@@ -63,7 +63,6 @@
   dynamic operator %(dynamic other) => this;
   dynamic operator <<(dynamic other) => this;
   dynamic operator >>(dynamic other) => this;
-  dynamic operator >>>(dynamic other) => this; //# sh3: continued
   dynamic operator &(dynamic other) => this;
   dynamic operator |(dynamic other) => this;
   dynamic operator ^(dynamic other) => this;
diff --git a/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart b/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart
index fe99bbb..d91adce 100644
--- a/tests/language_2/constants_2018/potential_const_shortcircuit_test.dart
+++ b/tests/language_2/constants_2018/potential_const_shortcircuit_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.9
+
 // Tests that short-circuit operators do not care about the unevaluated part.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constants_2018/potential_const_test.dart b/tests/language_2/constants_2018/potential_const_test.dart
index ad516a9..e7fd658 100644
--- a/tests/language_2/constants_2018/potential_const_test.dart
+++ b/tests/language_2/constants_2018/potential_const_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.9
+
 // Tests that the correct places allows, and requires, potentially constant
 // expressions.
 
diff --git a/tests/language_2/constants_2018/potential_const_type_test.dart b/tests/language_2/constants_2018/potential_const_type_test.dart
index e4a26ee..fd47f3d 100644
--- a/tests/language_2/constants_2018/potential_const_type_test.dart
+++ b/tests/language_2/constants_2018/potential_const_type_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.9
+
 // Tests that types do not affect whether an expression is potentially
 // constant, they only matter if the expression is evaluated as a constant.
 
@@ -16,7 +18,6 @@
   T.test07(c, c);
   T.test08(c, c);
   T.test09(c, c);
-  T.test10(c, c); //# sh3: ok
   T.test11(c, c);
   T.test12(c, c);
   T.test13(c, c);
@@ -36,7 +37,6 @@
   const v07 = true ? c : c % c;
   const v08 = true ? c : c << c;
   const v09 = true ? c : c >> c;
-  const v10 = true ? c : c >>> c; //# sh3: continued
   const v11 = true ? c : c & c;
   const v12 = true ? c : c | c;
   const v13 = true ? c : c ^ c;
@@ -59,7 +59,6 @@
   const T.test07(C x, C y) : this(x % y);
   const T.test08(C x, C y) : this(x << y);
   const T.test09(C x, C y) : this(x >> y);
-  const T.test10(C x, C y) : this(x >>> y); //# sh3: continued
   const T.test11(C x, C y) : this(x & y);
   const T.test12(C x, C y) : this(x | y);
   const T.test13(C x, C y) : this(x ^ y);
@@ -82,7 +81,6 @@
   C operator %(C other) => this;
   C operator <<(C other) => this;
   C operator >>(C other) => this;
-  C operator >>>(C other) => this; //# sh3: continued
   C operator &(C other) => this;
   C operator |(C other) => this;
   C operator ^(C other) => this;
diff --git a/tests/language_2/constants_2018/type_cast_test.dart b/tests/language_2/constants_2018/type_cast_test.dart
index 72aa11e..0011530 100644
--- a/tests/language_2/constants_2018/type_cast_test.dart
+++ b/tests/language_2/constants_2018/type_cast_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.9
+
 // Tests that type casts (as) are allowed.
 
 main() {
diff --git a/tests/language_2/constants_2018/type_check_test.dart b/tests/language_2/constants_2018/type_check_test.dart
index 7c7a318..9ee4eb6 100644
--- a/tests/language_2/constants_2018/type_check_test.dart
+++ b/tests/language_2/constants_2018/type_check_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.9
+
 // Tests that type checks (is) are allowed.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constructor/bad_constructor_runtime_1_test.dart b/tests/language_2/constructor/bad_constructor_runtime_1_test.dart
index 4269607..61a4b65 100644
--- a/tests/language_2/constructor/bad_constructor_runtime_1_test.dart
+++ b/tests/language_2/constructor/bad_constructor_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/bad_constructor_runtime_test.dart b/tests/language_2/constructor/bad_constructor_runtime_test.dart
index 40d8378..8ae0862 100644
--- a/tests/language_2/constructor/bad_constructor_runtime_test.dart
+++ b/tests/language_2/constructor/bad_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/bad_constructor_test.dart b/tests/language_2/constructor/bad_constructor_test.dart
index 5a12ca5..31c1015 100644
--- a/tests/language_2/constructor/bad_constructor_test.dart
+++ b/tests/language_2/constructor/bad_constructor_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.9
+
 // A constructor can't be static.
 class A {
   static
diff --git a/tests/language_2/constructor/bad_named_constructor_runtime_test.dart b/tests/language_2/constructor/bad_named_constructor_runtime_test.dart
index c84de90..6cf1a98 100644
--- a/tests/language_2/constructor/bad_named_constructor_runtime_test.dart
+++ b/tests/language_2/constructor/bad_named_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/constructor/bad_named_constructor_test.dart b/tests/language_2/constructor/bad_named_constructor_test.dart
index d8a40d9..e969eb7 100644
--- a/tests/language_2/constructor/bad_named_constructor_test.dart
+++ b/tests/language_2/constructor/bad_named_constructor_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.9
+
 class A {
   A() {}
   WrongName.foo() {}
diff --git a/tests/language_2/constructor/body_test.dart b/tests/language_2/constructor/body_test.dart
index d64d61f..8963e16 100644
--- a/tests/language_2/constructor/body_test.dart
+++ b/tests/language_2/constructor/body_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors without function bodies.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test a non-const constructor works without a body.
diff --git a/tests/language_2/constructor/bodyless_wrong_arg_runtime_test.dart b/tests/language_2/constructor/bodyless_wrong_arg_runtime_test.dart
index 6a6c07e..e0611cf 100644
--- a/tests/language_2/constructor/bodyless_wrong_arg_runtime_test.dart
+++ b/tests/language_2/constructor/bodyless_wrong_arg_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/constructor/bodyless_wrong_arg_test.dart b/tests/language_2/constructor/bodyless_wrong_arg_test.dart
index 4e669d0..acbdde1 100644
--- a/tests/language_2/constructor/bodyless_wrong_arg_test.dart
+++ b/tests/language_2/constructor/bodyless_wrong_arg_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.9
+
 class Base {
   final String name;
   const Base(this.name);
diff --git a/tests/language_2/constructor/call_as_function_test.dart b/tests/language_2/constructor/call_as_function_test.dart
index cb1dbda..60fe2e1 100644
--- a/tests/language_2/constructor/call_as_function_test.dart
+++ b/tests/language_2/constructor/call_as_function_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.9
+
 class Point {
   const Point(this.x, this.y);
   final int x;
diff --git a/tests/language_2/constructor/call_wrong_argument_count_runtime_test.dart b/tests/language_2/constructor/call_wrong_argument_count_runtime_test.dart
index adb20bd..0f7894b 100644
--- a/tests/language_2/constructor/call_wrong_argument_count_runtime_test.dart
+++ b/tests/language_2/constructor/call_wrong_argument_count_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/call_wrong_argument_count_test.dart b/tests/language_2/constructor/call_wrong_argument_count_test.dart
index 4830bcd..1dbb91a 100644
--- a/tests/language_2/constructor/call_wrong_argument_count_test.dart
+++ b/tests/language_2/constructor/call_wrong_argument_count_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.9
+
 class Stockhorn {
   Stockhorn(int a);
 }
diff --git a/tests/language_2/constructor/constructor10_runtime_test.dart b/tests/language_2/constructor/constructor10_runtime_test.dart
index 554c0e1..9103d92 100644
--- a/tests/language_2/constructor/constructor10_runtime_test.dart
+++ b/tests/language_2/constructor/constructor10_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/constructor/constructor10_test.dart b/tests/language_2/constructor/constructor10_test.dart
index 06426fb..d7bd54e 100644
--- a/tests/language_2/constructor/constructor10_test.dart
+++ b/tests/language_2/constructor/constructor10_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.9
+
 // Check that the implicit super call for synthetic constructors are checked.
 
 class A {
diff --git a/tests/language_2/constructor/constructor11_test.dart b/tests/language_2/constructor/constructor11_test.dart
index 73d08a3..722927c 100644
--- a/tests/language_2/constructor/constructor11_test.dart
+++ b/tests/language_2/constructor/constructor11_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.9
+
 // Check that the implicit super call for synthetic constructors are checked.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constructor/constructor12_test.dart b/tests/language_2/constructor/constructor12_test.dart
index 3aa1289d..d089038 100644
--- a/tests/language_2/constructor/constructor12_test.dart
+++ b/tests/language_2/constructor/constructor12_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/constructor/constructor13_runtime_test.dart b/tests/language_2/constructor/constructor13_runtime_test.dart
index e2ff3b6..2cc2270 100644
--- a/tests/language_2/constructor/constructor13_runtime_test.dart
+++ b/tests/language_2/constructor/constructor13_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/constructor/constructor13_test.dart b/tests/language_2/constructor/constructor13_test.dart
index 24b8841..b7051ea 100644
--- a/tests/language_2/constructor/constructor13_test.dart
+++ b/tests/language_2/constructor/constructor13_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.9
+
 // Check that there's no crash when constructor called with wrong
 // number of args.
 
diff --git a/tests/language_2/constructor/constructor2_test.dart b/tests/language_2/constructor/constructor2_test.dart
index 97dd7de..509882a 100644
--- a/tests/language_2/constructor/constructor2_test.dart
+++ b/tests/language_2/constructor/constructor2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Expect the initializer expressions E(i) to be evaluated
diff --git a/tests/language_2/constructor/constructor3_test.dart b/tests/language_2/constructor/constructor3_test.dart
index 4bb7173..d2908fd 100644
--- a/tests/language_2/constructor/constructor3_test.dart
+++ b/tests/language_2/constructor/constructor3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Expect the initializer expressions E(i) to be evaluated
diff --git a/tests/language_2/constructor/constructor4_test.dart b/tests/language_2/constructor/constructor4_test.dart
index b4df9b0..6d1665d 100644
--- a/tests/language_2/constructor/constructor4_test.dart
+++ b/tests/language_2/constructor/constructor4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Expect the initializer expressions E(i) to be evaluated
diff --git a/tests/language_2/constructor/constructor5_test.dart b/tests/language_2/constructor/constructor5_test.dart
index 52020cf..501c9ea 100644
--- a/tests/language_2/constructor/constructor5_test.dart
+++ b/tests/language_2/constructor/constructor5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Super initializer and super constructor body are executed in with the same
diff --git a/tests/language_2/constructor/constructor6_test.dart b/tests/language_2/constructor/constructor6_test.dart
index 71f6c38..9db5610 100644
--- a/tests/language_2/constructor/constructor6_test.dart
+++ b/tests/language_2/constructor/constructor6_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Super initializer and super constructor body are executed in with the same
diff --git a/tests/language_2/constructor/constructor7_test.dart b/tests/language_2/constructor/constructor7_test.dart
index 5ed7be4..93d84bc 100644
--- a/tests/language_2/constructor/constructor7_test.dart
+++ b/tests/language_2/constructor/constructor7_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Expect the initializer expressions E(i) to be evaluated
diff --git a/tests/language_2/constructor/constructor8_test.dart b/tests/language_2/constructor/constructor8_test.dart
index 9fb3762..3dc790e 100644
--- a/tests/language_2/constructor/constructor8_test.dart
+++ b/tests/language_2/constructor/constructor8_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for dart2js that used to crash on this program.
diff --git a/tests/language_2/constructor/constructor9_runtime_test.dart b/tests/language_2/constructor/constructor9_runtime_test.dart
index fcdbf5a..ce11136 100644
--- a/tests/language_2/constructor/constructor9_runtime_test.dart
+++ b/tests/language_2/constructor/constructor9_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/constructor9_test.dart b/tests/language_2/constructor/constructor9_test.dart
index 607e164..8f8737f 100644
--- a/tests/language_2/constructor/constructor9_test.dart
+++ b/tests/language_2/constructor/constructor9_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.9
+
 // Check that all final instance fields of a class are initialized by
 // constructors.
 
diff --git a/tests/language_2/constructor/constructor_test.dart b/tests/language_2/constructor/constructor_test.dart
index 17c3842..6546ace 100644
--- a/tests/language_2/constructor/constructor_test.dart
+++ b/tests/language_2/constructor/constructor_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A extends B {
diff --git a/tests/language_2/constructor/cyclic_constructor_test.dart b/tests/language_2/constructor/cyclic_constructor_test.dart
index 1b2533f..d296ddb 100644
--- a/tests/language_2/constructor/cyclic_constructor_test.dart
+++ b/tests/language_2/constructor/cyclic_constructor_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.9
+
 class A {
   A.a() : this.b();
   //      ^^^^^^^^
diff --git a/tests/language_2/constructor/cyclic_runtime_test.dart b/tests/language_2/constructor/cyclic_runtime_test.dart
index b0cf8aff..ff243e0 100644
--- a/tests/language_2/constructor/cyclic_runtime_test.dart
+++ b/tests/language_2/constructor/cyclic_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/default_class_implicit_constructor_test.dart b/tests/language_2/constructor/default_class_implicit_constructor_test.dart
index 30d48a5..b847164 100644
--- a/tests/language_2/constructor/default_class_implicit_constructor_test.dart
+++ b/tests/language_2/constructor/default_class_implicit_constructor_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.9
+
 import "package:expect/expect.dart";
 
 // An abstract class with a redirecting factory to a class with no declared
diff --git a/tests/language_2/constructor/default_factory2_runtime_test.dart b/tests/language_2/constructor/default_factory2_runtime_test.dart
index 63399e3..18af368 100644
--- a/tests/language_2/constructor/default_factory2_runtime_test.dart
+++ b/tests/language_2/constructor/default_factory2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/default_factory2_test.dart b/tests/language_2/constructor/default_factory2_test.dart
index 49f11ce..905b695 100644
--- a/tests/language_2/constructor/default_factory2_test.dart
+++ b/tests/language_2/constructor/default_factory2_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.9
+
 // Check type bounds when invoking a redirecting factory method
 
 abstract class Foo {}
diff --git a/tests/language_2/constructor/default_factory3_test.dart b/tests/language_2/constructor/default_factory3_test.dart
index 5178a15..000ec16 100644
--- a/tests/language_2/constructor/default_factory3_test.dart
+++ b/tests/language_2/constructor/default_factory3_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.9
+
 // Check possibly still unresolved upper bounds of default factory class.
 
 abstract class A<T extends Foo> {
diff --git a/tests/language_2/constructor/default_factory_library.dart b/tests/language_2/constructor/default_factory_library.dart
index a7cd293..0b589d7 100644
--- a/tests/language_2/constructor/default_factory_library.dart
+++ b/tests/language_2/constructor/default_factory_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test program for testing default factories defined across libraries
 
 library lib;
diff --git a/tests/language_2/constructor/default_factory_library_test.dart b/tests/language_2/constructor/default_factory_library_test.dart
index d141456..5e84dcc 100644
--- a/tests/language_2/constructor/default_factory_library_test.dart
+++ b/tests/language_2/constructor/default_factory_library_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.9
+
 // Dart test program for testing factories defined across libraries
 
 library test;
diff --git a/tests/language_2/constructor/default_factory_runtime_test.dart b/tests/language_2/constructor/default_factory_runtime_test.dart
index a12c7e5..c906753 100644
--- a/tests/language_2/constructor/default_factory_runtime_test.dart
+++ b/tests/language_2/constructor/default_factory_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/default_factory_test.dart b/tests/language_2/constructor/default_factory_test.dart
index 1b69325..04e5632 100644
--- a/tests/language_2/constructor/default_factory_test.dart
+++ b/tests/language_2/constructor/default_factory_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing default factories.
diff --git a/tests/language_2/constructor/default_test.dart b/tests/language_2/constructor/default_test.dart
index aae9c52..90e6b87 100644
--- a/tests/language_2/constructor/default_test.dart
+++ b/tests/language_2/constructor/default_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for default constructors.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/constructor/duplicate_final_test.dart b/tests/language_2/constructor/duplicate_final_test.dart
index 96c1d22..11336f8 100644
--- a/tests/language_2/constructor/duplicate_final_test.dart
+++ b/tests/language_2/constructor/duplicate_final_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.9
+
 // Check that duplicate initialization of a final field is a runtime error.
 
 class Class {
diff --git a/tests/language_2/constructor/duplicate_initializers_runtime_test.dart b/tests/language_2/constructor/duplicate_initializers_runtime_test.dart
index 94a3466..c8776a5 100644
--- a/tests/language_2/constructor/duplicate_initializers_runtime_test.dart
+++ b/tests/language_2/constructor/duplicate_initializers_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/duplicate_initializers_test.dart b/tests/language_2/constructor/duplicate_initializers_test.dart
index 4f6699e..c787657 100644
--- a/tests/language_2/constructor/duplicate_initializers_test.dart
+++ b/tests/language_2/constructor/duplicate_initializers_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that initializers are not duplicated
 
+// @dart = 2.9
+
  class Class {
    Class(var v) : field_ = v
    // Test against duplicate final field initialization in initializing list.
diff --git a/tests/language_2/constructor/duplicate_runtime_test.dart b/tests/language_2/constructor/duplicate_runtime_test.dart
index c65bc41..56a762b 100644
--- a/tests/language_2/constructor/duplicate_runtime_test.dart
+++ b/tests/language_2/constructor/duplicate_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/duplicate_test.dart b/tests/language_2/constructor/duplicate_test.dart
index 80f717e..c234f72 100644
--- a/tests/language_2/constructor/duplicate_test.dart
+++ b/tests/language_2/constructor/duplicate_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.9
+
 class Foo {
   Foo();
   Foo();
diff --git a/tests/language_2/constructor/evaluation_redirecting_constructor_test.dart b/tests/language_2/constructor/evaluation_redirecting_constructor_test.dart
index 6236c0a..89b03a6 100644
--- a/tests/language_2/constructor/evaluation_redirecting_constructor_test.dart
+++ b/tests/language_2/constructor/evaluation_redirecting_constructor_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.9
+
 import "package:expect/expect.dart";
 
 int counter = 0;
diff --git a/tests/language_2/constructor/example_constructor_test.dart b/tests/language_2/constructor/example_constructor_test.dart
index f015b07..e069e80 100644
--- a/tests/language_2/constructor/example_constructor_test.dart
+++ b/tests/language_2/constructor/example_constructor_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing order of constructor invocation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var trace = "";
diff --git a/tests/language_2/constructor/forwarding_factory_constructor_default_values_test.dart b/tests/language_2/constructor/forwarding_factory_constructor_default_values_test.dart
index 70738fe..b0d57ca 100644
--- a/tests/language_2/constructor/forwarding_factory_constructor_default_values_test.dart
+++ b/tests/language_2/constructor/forwarding_factory_constructor_default_values_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.9
+
 // Regression test for dart2js bug 18257: Properly infer types for forwarding
 // factory constructors with optional parameters with default values.
 
diff --git a/tests/language_2/constructor/implicit_super_constructor_call_test.dart b/tests/language_2/constructor/implicit_super_constructor_call_test.dart
index fca1a62..6247f0c 100644
--- a/tests/language_2/constructor/implicit_super_constructor_call_test.dart
+++ b/tests/language_2/constructor/implicit_super_constructor_call_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.9
+
 // This is a regression test for http://dartbug.com/22723.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/constructor/implicit_super_constructor_test.dart b/tests/language_2/constructor/implicit_super_constructor_test.dart
index 2c31206..fe90552 100644
--- a/tests/language_2/constructor/implicit_super_constructor_test.dart
+++ b/tests/language_2/constructor/implicit_super_constructor_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.9
+
 import "package:expect/expect.dart";
 
 abstract class A {
diff --git a/tests/language_2/constructor/inference_super_constructor_call_test.dart b/tests/language_2/constructor/inference_super_constructor_call_test.dart
index a95c185..0d0f73d 100644
--- a/tests/language_2/constructor/inference_super_constructor_call_test.dart
+++ b/tests/language_2/constructor/inference_super_constructor_call_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.9
+
 // Regression test for dart2js's inferrer that used to not propagate
 // types given to generative constructors in super constructor calls.
 
diff --git a/tests/language_2/constructor/initializer_test.dart b/tests/language_2/constructor/initializer_test.dart
index 4204885..a473d47 100644
--- a/tests/language_2/constructor/initializer_test.dart
+++ b/tests/language_2/constructor/initializer_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/constructor/missing_const_constructor_test.dart b/tests/language_2/constructor/missing_const_constructor_test.dart
index 54664f4..e564269 100644
--- a/tests/language_2/constructor/missing_const_constructor_test.dart
+++ b/tests/language_2/constructor/missing_const_constructor_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.9
+
 // Test handling of unknown constructor in const expression.
 
 class GoodClass {
diff --git a/tests/language_2/constructor/multiple_field_assignment_constructor_test.dart b/tests/language_2/constructor/multiple_field_assignment_constructor_test.dart
index 7292e80..48ee8b9 100644
--- a/tests/language_2/constructor/multiple_field_assignment_constructor_test.dart
+++ b/tests/language_2/constructor/multiple_field_assignment_constructor_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.9
+
 import "package:expect/expect.dart";
 import "../compiler_annotations.dart";
 
diff --git a/tests/language_2/constructor/name_clash_lib.dart b/tests/language_2/constructor/name_clash_lib.dart
index ff52f3b..f61cef49 100644
--- a/tests/language_2/constructor/name_clash_lib.dart
+++ b/tests/language_2/constructor/name_clash_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib;
 
 var global = 0;
diff --git a/tests/language_2/constructor/name_clash_test.dart b/tests/language_2/constructor/name_clash_test.dart
index e7681ef..539d48f 100644
--- a/tests/language_2/constructor/name_clash_test.dart
+++ b/tests/language_2/constructor/name_clash_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.9
+
 import 'package:expect/expect.dart';
 import 'name_clash_lib.dart' as lib;
 
diff --git a/tests/language_2/constructor/name_test.dart b/tests/language_2/constructor/name_test.dart
index 43e764f..445b38d 100644
--- a/tests/language_2/constructor/name_test.dart
+++ b/tests/language_2/constructor/name_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.9
+
 class Foo {
   Bar.Foo(); //# 01: compile-time error
   factory Bar(); //# 02: syntax error
diff --git a/tests/language_2/constructor/named_arguments_test.dart b/tests/language_2/constructor/named_arguments_test.dart
index fa64a85..16ba667 100644
--- a/tests/language_2/constructor/named_arguments_test.dart
+++ b/tests/language_2/constructor/named_arguments_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for default constructors.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 String message;
diff --git a/tests/language_2/constructor/named_constructor_test.dart b/tests/language_2/constructor/named_constructor_test.dart
index 3b8af32..c36fe22 100644
--- a/tests/language_2/constructor/named_constructor_test.dart
+++ b/tests/language_2/constructor/named_constructor_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.9
+
 library named_constructor_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/constructor/named_lib.dart b/tests/language_2/constructor/named_lib.dart
index 210d54c..dc7ebf4 100644
--- a/tests/language_2/constructor/named_lib.dart
+++ b/tests/language_2/constructor/named_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library named_constructor_lib;
 
 class Class<T> {
diff --git a/tests/language_2/constructor/named_runtime_test.dart b/tests/language_2/constructor/named_runtime_test.dart
index 815b05b..3f47f6c 100644
--- a/tests/language_2/constructor/named_runtime_test.dart
+++ b/tests/language_2/constructor/named_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/constructor/no_such_constructor_runtime_test.dart b/tests/language_2/constructor/no_such_constructor_runtime_test.dart
index 17ee996..7da3c44 100644
--- a/tests/language_2/constructor/no_such_constructor_runtime_test.dart
+++ b/tests/language_2/constructor/no_such_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/constructor/no_such_constructor_test.dart b/tests/language_2/constructor/no_such_constructor_test.dart
index 28c05a6..e8746be 100644
--- a/tests/language_2/constructor/no_such_constructor_test.dart
+++ b/tests/language_2/constructor/no_such_constructor_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.9
+
 class A {
   A();
 }
diff --git a/tests/language_2/constructor/non_const_constructor_without_body_test.dart b/tests/language_2/constructor/non_const_constructor_without_body_test.dart
index 13ef775..e9a0718 100644
--- a/tests/language_2/constructor/non_const_constructor_without_body_test.dart
+++ b/tests/language_2/constructor/non_const_constructor_without_body_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.9
+
 import "package:expect/expect.dart";
 
 class NonConstConstructorWithoutBodyTest {
diff --git a/tests/language_2/constructor/non_parameterized_factory2_test.dart b/tests/language_2/constructor/non_parameterized_factory2_test.dart
index df8cff3..071fde4 100644
--- a/tests/language_2/constructor/non_parameterized_factory2_test.dart
+++ b/tests/language_2/constructor/non_parameterized_factory2_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.9
+
 abstract class Interface<T> {
   factory Interface() = Factory<T>;
   factory Interface.withArg(T value) = Factory<T>.withArg;
diff --git a/tests/language_2/constructor/non_parameterized_factory_test.dart b/tests/language_2/constructor/non_parameterized_factory_test.dart
index 97b1ee5..f5f1b31 100644
--- a/tests/language_2/constructor/non_parameterized_factory_test.dart
+++ b/tests/language_2/constructor/non_parameterized_factory_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.9
+
 abstract class Interface<T> {
   factory Interface() = Factory<T>;
   factory Interface.withArg(T value) = Factory<T>.withArg;
diff --git a/tests/language_2/constructor/redirect2_runtime_test.dart b/tests/language_2/constructor/redirect2_runtime_test.dart
index f5216f6..acfb41c 100644
--- a/tests/language_2/constructor/redirect2_runtime_test.dart
+++ b/tests/language_2/constructor/redirect2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/constructor/redirect2_test.dart b/tests/language_2/constructor/redirect2_test.dart
index 85fc234..71aa1c3 100644
--- a/tests/language_2/constructor/redirect2_test.dart
+++ b/tests/language_2/constructor/redirect2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Redirection constructors must not have a function body.
 
+// @dart = 2.9
+
 class A {
   var x;
   A(this.x) {}
diff --git a/tests/language_2/constructor/redirect_cycle_runtime_test.dart b/tests/language_2/constructor/redirect_cycle_runtime_test.dart
index 4a05857..50994cd 100644
--- a/tests/language_2/constructor/redirect_cycle_runtime_test.dart
+++ b/tests/language_2/constructor/redirect_cycle_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/redirect_cycle_test.dart b/tests/language_2/constructor/redirect_cycle_test.dart
index 6730e06..38b62cf 100644
--- a/tests/language_2/constructor/redirect_cycle_test.dart
+++ b/tests/language_2/constructor/redirect_cycle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Redirection constructors must not be cyclic.
 
+// @dart = 2.9
+
 class A {
   var x;
   A(x)
diff --git a/tests/language_2/constructor/redirect_indirect_cycle_runtime_test.dart b/tests/language_2/constructor/redirect_indirect_cycle_runtime_test.dart
index 94159a5..d84d2f0 100644
--- a/tests/language_2/constructor/redirect_indirect_cycle_runtime_test.dart
+++ b/tests/language_2/constructor/redirect_indirect_cycle_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/redirect_indirect_cycle_test.dart b/tests/language_2/constructor/redirect_indirect_cycle_test.dart
index aa2bb69..88c64a8 100644
--- a/tests/language_2/constructor/redirect_indirect_cycle_test.dart
+++ b/tests/language_2/constructor/redirect_indirect_cycle_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.9
+
 class A {
   var x;
   A(x) : this.named(x, 0);
diff --git a/tests/language_2/constructor/redirect_runtime_test.dart b/tests/language_2/constructor/redirect_runtime_test.dart
index f6084b8..57571f5 100644
--- a/tests/language_2/constructor/redirect_runtime_test.dart
+++ b/tests/language_2/constructor/redirect_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/redirect_test.dart b/tests/language_2/constructor/redirect_test.dart
index 0f1ee3a..cc4a63a 100644
--- a/tests/language_2/constructor/redirect_test.dart
+++ b/tests/language_2/constructor/redirect_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for redirection constructors.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/constructor/reference_runtime_10_test.dart b/tests/language_2/constructor/reference_runtime_10_test.dart
index b96d8f9..4003032 100644
--- a/tests/language_2/constructor/reference_runtime_10_test.dart
+++ b/tests/language_2/constructor/reference_runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_11_test.dart b/tests/language_2/constructor/reference_runtime_11_test.dart
index cea554d..0f0acb0 100644
--- a/tests/language_2/constructor/reference_runtime_11_test.dart
+++ b/tests/language_2/constructor/reference_runtime_11_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_12_test.dart b/tests/language_2/constructor/reference_runtime_12_test.dart
index 5b58eae..9e21d2f 100644
--- a/tests/language_2/constructor/reference_runtime_12_test.dart
+++ b/tests/language_2/constructor/reference_runtime_12_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_1_test.dart b/tests/language_2/constructor/reference_runtime_1_test.dart
index 450bc7f..2223b1c 100644
--- a/tests/language_2/constructor/reference_runtime_1_test.dart
+++ b/tests/language_2/constructor/reference_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_2_test.dart b/tests/language_2/constructor/reference_runtime_2_test.dart
index cab730f..4738ac2 100644
--- a/tests/language_2/constructor/reference_runtime_2_test.dart
+++ b/tests/language_2/constructor/reference_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_3_test.dart b/tests/language_2/constructor/reference_runtime_3_test.dart
index 20ac3d2..09e2ef8 100644
--- a/tests/language_2/constructor/reference_runtime_3_test.dart
+++ b/tests/language_2/constructor/reference_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_4_test.dart b/tests/language_2/constructor/reference_runtime_4_test.dart
index e69fe77..9ea2ba0 100644
--- a/tests/language_2/constructor/reference_runtime_4_test.dart
+++ b/tests/language_2/constructor/reference_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_5_test.dart b/tests/language_2/constructor/reference_runtime_5_test.dart
index 4dda061..0961239 100644
--- a/tests/language_2/constructor/reference_runtime_5_test.dart
+++ b/tests/language_2/constructor/reference_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_6_test.dart b/tests/language_2/constructor/reference_runtime_6_test.dart
index 75859e0..732dc98 100644
--- a/tests/language_2/constructor/reference_runtime_6_test.dart
+++ b/tests/language_2/constructor/reference_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_7_test.dart b/tests/language_2/constructor/reference_runtime_7_test.dart
index b18721e..9cff394 100644
--- a/tests/language_2/constructor/reference_runtime_7_test.dart
+++ b/tests/language_2/constructor/reference_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_8_test.dart b/tests/language_2/constructor/reference_runtime_8_test.dart
index 1493e34..ab6a55e 100644
--- a/tests/language_2/constructor/reference_runtime_8_test.dart
+++ b/tests/language_2/constructor/reference_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_9_test.dart b/tests/language_2/constructor/reference_runtime_9_test.dart
index cad70b0..e9dd1cd 100644
--- a/tests/language_2/constructor/reference_runtime_9_test.dart
+++ b/tests/language_2/constructor/reference_runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_runtime_test.dart b/tests/language_2/constructor/reference_runtime_test.dart
index 12b5314..cd35748 100644
--- a/tests/language_2/constructor/reference_runtime_test.dart
+++ b/tests/language_2/constructor/reference_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/reference_test.dart b/tests/language_2/constructor/reference_test.dart
index 9246d2b..f4fa2fe 100644
--- a/tests/language_2/constructor/reference_test.dart
+++ b/tests/language_2/constructor/reference_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.9
+
 class Foo<X> {
   const Foo();
   const Foo.bar();
diff --git a/tests/language_2/constructor/return_runtime_test.dart b/tests/language_2/constructor/return_runtime_test.dart
index 5b83303..6e2f7d4 100644
--- a/tests/language_2/constructor/return_runtime_test.dart
+++ b/tests/language_2/constructor/return_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/constructor/return_test.dart b/tests/language_2/constructor/return_test.dart
index d82dd04..9a57fb1 100644
--- a/tests/language_2/constructor/return_test.dart
+++ b/tests/language_2/constructor/return_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.9
+
 import "package:expect/expect.dart";
 
 // Dart spec 0.03, section 11.10 - generative constructors can only have return
diff --git a/tests/language_2/constructor/setter_test.dart b/tests/language_2/constructor/setter_test.dart
index bad56d3..27297a7 100644
--- a/tests/language_2/constructor/setter_test.dart
+++ b/tests/language_2/constructor/setter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that setters are not invokable in the initializer list.
 
+// @dart = 2.9
+
 class A {
   A() : a = 499; /*@compile-error=unspecified*/
 
diff --git a/tests/language_2/constructor/type_parameter_runtime_test.dart b/tests/language_2/constructor/type_parameter_runtime_test.dart
index 6cb2a75..9532883 100644
--- a/tests/language_2/constructor/type_parameter_runtime_test.dart
+++ b/tests/language_2/constructor/type_parameter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/constructor/type_parameter_test.dart b/tests/language_2/constructor/type_parameter_test.dart
index 3712c26..83bc17b 100644
--- a/tests/language_2/constructor/type_parameter_test.dart
+++ b/tests/language_2/constructor/type_parameter_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.9
+
 class Foo {
   Foo<A>() {}
   // ^^^
diff --git a/tests/language_2/constructor/unresolved_default_constructor_test.dart b/tests/language_2/constructor/unresolved_default_constructor_test.dart
index b8b5338..5b47440 100644
--- a/tests/language_2/constructor/unresolved_default_constructor_test.dart
+++ b/tests/language_2/constructor/unresolved_default_constructor_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.9
+
 // Test unresolved default constructor calls cause compilation errors.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/constructor/unresolved_default_runtime_test.dart b/tests/language_2/constructor/unresolved_default_runtime_test.dart
index dd83067..bceb7ee 100644
--- a/tests/language_2/constructor/unresolved_default_runtime_test.dart
+++ b/tests/language_2/constructor/unresolved_default_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/constructor/unresolved_in_factory_test.dart b/tests/language_2/constructor/unresolved_in_factory_test.dart
index a9aa72a..06ed707 100644
--- a/tests/language_2/constructor/unresolved_in_factory_test.dart
+++ b/tests/language_2/constructor/unresolved_in_factory_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.9
+
 // Test that an unresolved method call in a factory is a compile error.
 
 class A {
diff --git a/tests/language_2/constructor/with_mixin_test.dart b/tests/language_2/constructor/with_mixin_test.dart
index 5e4badc..02af9e9 100644
--- a/tests/language_2/constructor/with_mixin_test.dart
+++ b/tests/language_2/constructor/with_mixin_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.9
+
 // Test super constructor invocation with mixins.
 // Regression test for issue dartbug.com/22604
 
diff --git a/tests/language_2/constructor/with_type_parameters_test.dart b/tests/language_2/constructor/with_type_parameters_test.dart
index 8df1733..25d495d 100644
--- a/tests/language_2/constructor/with_type_parameters_test.dart
+++ b/tests/language_2/constructor/with_type_parameters_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.9
+
 class Bar<T> {
   Bar() {} //# 01: ok
   Bar.boo() {} //# 02: ok
diff --git a/tests/language_2/control_flow_collections/await_for_inference_test.dart b/tests/language_2/control_flow_collections/await_for_inference_test.dart
index e0c1df8..56959a1 100644
--- a/tests/language_2/control_flow_collections/await_for_inference_test.dart
+++ b/tests/language_2/control_flow_collections/await_for_inference_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.9
+
 // Test how await for interacts with inference.
 import "package:async_helper/async_helper.dart";
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/control_flow_collections/await_for_null_test.dart b/tests/language_2/control_flow_collections/await_for_null_test.dart
index b176ea0..47529b2 100644
--- a/tests/language_2/control_flow_collections/await_for_null_test.dart
+++ b/tests/language_2/control_flow_collections/await_for_null_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.9
+
 // Test that a null stream expression produces a runtime error.
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/control_flow_collections/await_for_syntax_error_test.dart b/tests/language_2/control_flow_collections/await_for_syntax_error_test.dart
index d64303a..6da051a 100644
--- a/tests/language_2/control_flow_collections/await_for_syntax_error_test.dart
+++ b/tests/language_2/control_flow_collections/await_for_syntax_error_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.9
+
 void main() {
   // Use await for in non-async function.
   var _ = [await for (var i in Stream<int>.empty()) i]; //# 01: compile-time error
diff --git a/tests/language_2/control_flow_collections/await_for_test.dart b/tests/language_2/control_flow_collections/await_for_test.dart
index 9faee4a..402820b 100644
--- a/tests/language_2/control_flow_collections/await_for_test.dart
+++ b/tests/language_2/control_flow_collections/await_for_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.9
+
 import 'package:async_helper/async_helper.dart';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/await_for_type_error_test.dart b/tests/language_2/control_flow_collections/await_for_type_error_test.dart
index e63a52e..ef99194 100644
--- a/tests/language_2/control_flow_collections/await_for_type_error_test.dart
+++ b/tests/language_2/control_flow_collections/await_for_type_error_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.9
+
 void main() {
   () async {
     // Non-Stream type.
diff --git a/tests/language_2/control_flow_collections/for_await_test.dart b/tests/language_2/control_flow_collections/for_await_test.dart
index 2baeefc..69fa2d4 100644
--- a/tests/language_2/control_flow_collections/for_await_test.dart
+++ b/tests/language_2/control_flow_collections/for_await_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.9
+
 import "package:async_helper/async_helper.dart";
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/for_const_error_test.dart b/tests/language_2/control_flow_collections/for_const_error_test.dart
index 3348639..56d1919 100644
--- a/tests/language_2/control_flow_collections/for_const_error_test.dart
+++ b/tests/language_2/control_flow_collections/for_const_error_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.9
+
 void main() {
   // For cannot be used in a const collection.
   const _ = [for (var i in []) 1]; //# 00: compile-time error
diff --git a/tests/language_2/control_flow_collections/for_inference_test.dart b/tests/language_2/control_flow_collections/for_inference_test.dart
index 4e022e0..e7612c3 100644
--- a/tests/language_2/control_flow_collections/for_inference_test.dart
+++ b/tests/language_2/control_flow_collections/for_inference_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.9
+
 // Test how control flow interacts with inference.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/for_non_bool_condition_test.dart b/tests/language_2/control_flow_collections/for_non_bool_condition_test.dart
index a808e9c..3c9d45d 100644
--- a/tests/language_2/control_flow_collections/for_non_bool_condition_test.dart
+++ b/tests/language_2/control_flow_collections/for_non_bool_condition_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/control_flow_collections/for_null_condition_test.dart b/tests/language_2/control_flow_collections/for_null_condition_test.dart
index 8233c10..637c064 100644
--- a/tests/language_2/control_flow_collections/for_null_condition_test.dart
+++ b/tests/language_2/control_flow_collections/for_null_condition_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/control_flow_collections/for_runtime_error_test.dart b/tests/language_2/control_flow_collections/for_runtime_error_test.dart
index ea5cfe4..5aa442a 100644
--- a/tests/language_2/control_flow_collections/for_runtime_error_test.dart
+++ b/tests/language_2/control_flow_collections/for_runtime_error_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/control_flow_collections/for_test.dart b/tests/language_2/control_flow_collections/for_test.dart
index 16026a6..4e3e13b 100644
--- a/tests/language_2/control_flow_collections/for_test.dart
+++ b/tests/language_2/control_flow_collections/for_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.9
+
 import 'package:expect/expect.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/control_flow_collections/for_variable_test.dart b/tests/language_2/control_flow_collections/for_variable_test.dart
index 47ab2e7..13c44a0 100644
--- a/tests/language_2/control_flow_collections/for_variable_test.dart
+++ b/tests/language_2/control_flow_collections/for_variable_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.9
+
 /// Tests for how variables and scoping work with for elements.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/if_await_test.dart b/tests/language_2/control_flow_collections/if_await_test.dart
index 08d0c60..cb38452 100644
--- a/tests/language_2/control_flow_collections/if_await_test.dart
+++ b/tests/language_2/control_flow_collections/if_await_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.9
+
 import "package:async_helper/async_helper.dart";
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/if_const_error_test.dart b/tests/language_2/control_flow_collections/if_const_error_test.dart
index bc1d0e2..429452a 100644
--- a/tests/language_2/control_flow_collections/if_const_error_test.dart
+++ b/tests/language_2/control_flow_collections/if_const_error_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.9
+
 import 'dart:collection';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/control_flow_collections/if_const_test.dart b/tests/language_2/control_flow_collections/if_const_test.dart
index 20a2c25..e6c75ce 100644
--- a/tests/language_2/control_flow_collections/if_const_test.dart
+++ b/tests/language_2/control_flow_collections/if_const_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.9
+
 import 'package:expect/expect.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/control_flow_collections/if_inference_test.dart b/tests/language_2/control_flow_collections/if_inference_test.dart
index 11c7b95..59c38eb 100644
--- a/tests/language_2/control_flow_collections/if_inference_test.dart
+++ b/tests/language_2/control_flow_collections/if_inference_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.9
+
 // Test how control flow interacts with inference.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/if_null_condition_test.dart b/tests/language_2/control_flow_collections/if_null_condition_test.dart
index fbfe3b9..b7de51e 100644
--- a/tests/language_2/control_flow_collections/if_null_condition_test.dart
+++ b/tests/language_2/control_flow_collections/if_null_condition_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/control_flow_collections/if_promotion_test.dart b/tests/language_2/control_flow_collections/if_promotion_test.dart
index 382db01..bdac6906 100644
--- a/tests/language_2/control_flow_collections/if_promotion_test.dart
+++ b/tests/language_2/control_flow_collections/if_promotion_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.9
+
 class A {
   var a = "a";
 }
diff --git a/tests/language_2/control_flow_collections/if_runtime_error_test.dart b/tests/language_2/control_flow_collections/if_runtime_error_test.dart
index 1dba5b8..1d92e32 100644
--- a/tests/language_2/control_flow_collections/if_runtime_error_test.dart
+++ b/tests/language_2/control_flow_collections/if_runtime_error_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/control_flow_collections/if_test.dart b/tests/language_2/control_flow_collections/if_test.dart
index 9338987..c1aedc0 100644
--- a/tests/language_2/control_flow_collections/if_test.dart
+++ b/tests/language_2/control_flow_collections/if_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.9
+
 import 'package:expect/expect.dart';
 
 import 'utils.dart';
diff --git a/tests/language_2/control_flow_collections/map_set_ambiguity_error_test.dart b/tests/language_2/control_flow_collections/map_set_ambiguity_error_test.dart
index ae4fee4..dbf28ca 100644
--- a/tests/language_2/control_flow_collections/map_set_ambiguity_error_test.dart
+++ b/tests/language_2/control_flow_collections/map_set_ambiguity_error_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.9
+
 // Test cases where the syntax is ambiguous between maps and sets when control
 // flow elements contain spreads.
 import 'dart:collection';
diff --git a/tests/language_2/control_flow_collections/map_set_ambiguity_test.dart b/tests/language_2/control_flow_collections/map_set_ambiguity_test.dart
index bf5f685..93ad3b5 100644
--- a/tests/language_2/control_flow_collections/map_set_ambiguity_test.dart
+++ b/tests/language_2/control_flow_collections/map_set_ambiguity_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.9
+
 // Test cases where the syntax is ambiguous between maps and sets because of
 // spreads inside control flow.
 import 'dart:collection';
diff --git a/tests/language_2/control_flow_collections/syntax_error_test.dart b/tests/language_2/control_flow_collections/syntax_error_test.dart
index 8b9fa65..6402d21 100644
--- a/tests/language_2/control_flow_collections/syntax_error_test.dart
+++ b/tests/language_2/control_flow_collections/syntax_error_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.9
+
 void main() {
   // No then element.
   var _ = [if (true)]; //# 00: syntax error
diff --git a/tests/language_2/control_flow_collections/syntax_test.dart b/tests/language_2/control_flow_collections/syntax_test.dart
index 0ed9829..52f278e 100644
--- a/tests/language_2/control_flow_collections/syntax_test.dart
+++ b/tests/language_2/control_flow_collections/syntax_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.9
+
 // Tests syntax edge cases.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/control_flow_collections/type_error_test.dart b/tests/language_2/control_flow_collections/type_error_test.dart
index 63f6706..10fead5 100644
--- a/tests/language_2/control_flow_collections/type_error_test.dart
+++ b/tests/language_2/control_flow_collections/type_error_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.9
+
 void main() {
   // Non-Boolean if condition.
   var _ = <int>[if (1) 2]; //# 00: compile-time error
diff --git a/tests/language_2/control_flow_collections/utils.dart b/tests/language_2/control_flow_collections/utils.dart
index e2d6ade..53e173d 100644
--- a/tests/language_2/control_flow_collections/utils.dart
+++ b/tests/language_2/control_flow_collections/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.9
+
 import 'dart:collection';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/covariant/covariant_test.dart b/tests/language_2/covariant/covariant_test.dart
index 998213b..b5a438a 100644
--- a/tests/language_2/covariant/covariant_test.dart
+++ b/tests/language_2/covariant/covariant_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.9
+
 // Test that `covariant` can be parsed (and ignored) by
 // dart2js and the VM.
 // This test only checks for non-strong mode behavior.
diff --git a/tests/language_2/covariant/field_test.dart b/tests/language_2/covariant/field_test.dart
index df6c862..d532d0b 100644
--- a/tests/language_2/covariant/field_test.dart
+++ b/tests/language_2/covariant/field_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/covariant/method_test.dart b/tests/language_2/covariant/method_test.dart
index 03ea520..da47e0c 100644
--- a/tests/language_2/covariant/method_test.dart
+++ b/tests/language_2/covariant/method_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/covariant/override_test.dart b/tests/language_2/covariant/override_test.dart
index d6b6713..c30cd2e 100644
--- a/tests/language_2/covariant/override_test.dart
+++ b/tests/language_2/covariant/override_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.9
+
 library covariant_override_test;
 
 // This test contains cases where `covariant` is used as intended.
diff --git a/tests/language_2/covariant/return_type_test.dart b/tests/language_2/covariant/return_type_test.dart
index 121c3bb..599b065 100644
--- a/tests/language_2/covariant/return_type_test.dart
+++ b/tests/language_2/covariant/return_type_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/covariant/setter_test.dart b/tests/language_2/covariant/setter_test.dart
index 1a19dca..c5fe628 100644
--- a/tests/language_2/covariant/setter_test.dart
+++ b/tests/language_2/covariant/setter_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/covariant/subtyping_tearoff1_test.dart b/tests/language_2/covariant/subtyping_tearoff1_test.dart
index 404b4bb..24d5e9f 100644
--- a/tests/language_2/covariant/subtyping_tearoff1_test.dart
+++ b/tests/language_2/covariant/subtyping_tearoff1_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Foo<T> {
diff --git a/tests/language_2/covariant/subtyping_tearoff2_test.dart b/tests/language_2/covariant/subtyping_tearoff2_test.dart
index 306d83d..3d263ba 100644
--- a/tests/language_2/covariant/subtyping_tearoff2_test.dart
+++ b/tests/language_2/covariant/subtyping_tearoff2_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Implementation {
diff --git a/tests/language_2/covariant/subtyping_tearoff3_test.dart b/tests/language_2/covariant/subtyping_tearoff3_test.dart
index 3e1109b..5194b4e 100644
--- a/tests/language_2/covariant/subtyping_tearoff3_test.dart
+++ b/tests/language_2/covariant/subtyping_tearoff3_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Implementation {
diff --git a/tests/language_2/covariant/subtyping_test.dart b/tests/language_2/covariant/subtyping_test.dart
index 255c360..768850c 100644
--- a/tests/language_2/covariant/subtyping_test.dart
+++ b/tests/language_2/covariant/subtyping_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2017, 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.9
 import 'package:expect/expect.dart';
 
 class Fields<T> {
diff --git a/tests/language_2/covariant/subtyping_unsafe_call1_test.dart b/tests/language_2/covariant/subtyping_unsafe_call1_test.dart
index b5d4884..cdcd2df 100644
--- a/tests/language_2/covariant/subtyping_unsafe_call1_test.dart
+++ b/tests/language_2/covariant/subtyping_unsafe_call1_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Foo<T> {
diff --git a/tests/language_2/covariant/subtyping_unsafe_call2_test.dart b/tests/language_2/covariant/subtyping_unsafe_call2_test.dart
index 5e45c37..69b5dde 100644
--- a/tests/language_2/covariant/subtyping_unsafe_call2_test.dart
+++ b/tests/language_2/covariant/subtyping_unsafe_call2_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Implementation {
diff --git a/tests/language_2/covariant/subtyping_unsafe_call3_test.dart b/tests/language_2/covariant/subtyping_unsafe_call3_test.dart
index 71143e6..8291cb1 100644
--- a/tests/language_2/covariant/subtyping_unsafe_call3_test.dart
+++ b/tests/language_2/covariant/subtyping_unsafe_call3_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'package:expect/expect.dart';
 
 class Implementation {
diff --git a/tests/language_2/covariant/subtyping_with_mixin_test.dart b/tests/language_2/covariant/subtyping_with_mixin_test.dart
index 8bff28e..2682871 100644
--- a/tests/language_2/covariant/subtyping_with_mixin_test.dart
+++ b/tests/language_2/covariant/subtyping_with_mixin_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.9
+
 import 'package:expect/expect.dart';
 
 class A {}
diff --git a/tests/language_2/covariant/tear_off_type_test.dart b/tests/language_2/covariant/tear_off_type_test.dart
index ba52670e..c99cfb5 100644
--- a/tests/language_2/covariant/tear_off_type_test.dart
+++ b/tests/language_2/covariant/tear_off_type_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.9
+
 import "package:expect/expect.dart";
 
 typedef U F<T, U>(T x);
diff --git a/tests/language_2/covariant/type_parameter_test.dart b/tests/language_2/covariant/type_parameter_test.dart
index 7bff58b..27d7c34 100644
--- a/tests/language_2/covariant/type_parameter_test.dart
+++ b/tests/language_2/covariant/type_parameter_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/covariant_override/runtime_check_test.dart b/tests/language_2/covariant_override/runtime_check_test.dart
index eedc274..4ffb233 100644
--- a/tests/language_2/covariant_override/runtime_check_test.dart
+++ b/tests/language_2/covariant_override/runtime_check_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.9
+
 import "package:expect/expect.dart";
 
 class View {
diff --git a/tests/language_2/covariant_override/tear_off_type_test.dart b/tests/language_2/covariant_override/tear_off_type_test.dart
index 59991b8..eb3b19f 100644
--- a/tests/language_2/covariant_override/tear_off_type_test.dart
+++ b/tests/language_2/covariant_override/tear_off_type_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.9
+
 import "package:expect/expect.dart";
 
 // If a parameter is directly or indirectly a covariant override, its type in
diff --git a/tests/language_2/deferred/call_empty_before_load_lib.dart b/tests/language_2/deferred/call_empty_before_load_lib.dart
index 32dd376..4dd608b 100644
--- a/tests/language_2/deferred/call_empty_before_load_lib.dart
+++ b/tests/language_2/deferred/call_empty_before_load_lib.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.9
+
 thefun() {}
diff --git a/tests/language_2/deferred/call_empty_before_load_test.dart b/tests/language_2/deferred/call_empty_before_load_test.dart
index 9a13981..d00894f 100644
--- a/tests/language_2/deferred/call_empty_before_load_test.dart
+++ b/tests/language_2/deferred/call_empty_before_load_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.9
+
 // Test that calling a function, even though it itself has no effect, will
 // trigger an error if the corresponding deferred library has not been loaded.
 
diff --git a/tests/language_2/deferred/closurize_load_library_lib.dart b/tests/language_2/deferred/closurize_load_library_lib.dart
index 9878ae9..7b6872a 100644
--- a/tests/language_2/deferred/closurize_load_library_lib.dart
+++ b/tests/language_2/deferred/closurize_load_library_lib.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.9
+
 var trueVar = true;
diff --git a/tests/language_2/deferred/closurize_load_library_test.dart b/tests/language_2/deferred/closurize_load_library_test.dart
index 0f45d3a..10a4a50 100644
--- a/tests/language_2/deferred/closurize_load_library_test.dart
+++ b/tests/language_2/deferred/closurize_load_library_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/constant_list_lib.dart b/tests/language_2/deferred/constant_list_lib.dart
index 93a6740..b875139 100644
--- a/tests/language_2/deferred/constant_list_lib.dart
+++ b/tests/language_2/deferred/constant_list_lib.dart
@@ -2,5 +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.9
+
 final finalConstList = const [1, 2];
 var nonFinalConstList = const [3, 4];
diff --git a/tests/language_2/deferred/constant_list_test.dart b/tests/language_2/deferred/constant_list_test.dart
index 01ee8d6..cdae11c 100644
--- a/tests/language_2/deferred/constant_list_test.dart
+++ b/tests/language_2/deferred/constant_list_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/constraints_lib.dart b/tests/language_2/deferred/constraints_lib.dart
index 0bf3cc9..5318432 100644
--- a/tests/language_2/deferred/constraints_lib.dart
+++ b/tests/language_2/deferred/constraints_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class C {
   static int staticMethod() => 42;
 }
diff --git a/tests/language_2/deferred/constraints_lib2.dart b/tests/language_2/deferred/constraints_lib2.dart
index 830705f..c2e165a 100644
--- a/tests/language_2/deferred/constraints_lib2.dart
+++ b/tests/language_2/deferred/constraints_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.9
+
 foo() => 42;
 
 class C {}
diff --git a/tests/language_2/deferred/constraints_type_annotation_test.dart b/tests/language_2/deferred/constraints_type_annotation_test.dart
index 9d86ccb..d155d14 100644
--- a/tests/language_2/deferred/constraints_type_annotation_test.dart
+++ b/tests/language_2/deferred/constraints_type_annotation_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/deferred_and_immediate_import_lib.dart b/tests/language_2/deferred/deferred_and_immediate_import_lib.dart
index 61eeb08..26ffbdb 100644
--- a/tests/language_2/deferred/deferred_and_immediate_import_lib.dart
+++ b/tests/language_2/deferred/deferred_and_immediate_import_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 foo() {
   print("Foo!");
 }
diff --git a/tests/language_2/deferred/deferred_and_immediate_import_test.dart b/tests/language_2/deferred/deferred_and_immediate_import_test.dart
index d54ca7e..5294a97 100644
--- a/tests/language_2/deferred/deferred_and_immediate_import_test.dart
+++ b/tests/language_2/deferred/deferred_and_immediate_import_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.9
+
 import "package:expect/expect.dart";
 
 import "deferred_and_immediate_import_lib.dart" as immediatePrefix;
diff --git a/tests/language_2/deferred/duplicate_prefix1_runtime_test.dart b/tests/language_2/deferred/duplicate_prefix1_runtime_test.dart
index 0feaa2e..74362d0 100644
--- a/tests/language_2/deferred/duplicate_prefix1_runtime_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/deferred/duplicate_prefix1_test.dart b/tests/language_2/deferred/duplicate_prefix1_test.dart
index 7668c0f..fa0bfe6 100644
--- a/tests/language_2/deferred/duplicate_prefix1_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix1_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.9
+
 import "prefix_constraints_lib2.dart" as lib;
 import "prefix_constraints_lib.dart" deferred as lib;
 //                                   ^^^^^^^^
diff --git a/tests/language_2/deferred/duplicate_prefix2_runtime_test.dart b/tests/language_2/deferred/duplicate_prefix2_runtime_test.dart
index 482f828..fc462b0 100644
--- a/tests/language_2/deferred/duplicate_prefix2_runtime_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/deferred/duplicate_prefix2_test.dart b/tests/language_2/deferred/duplicate_prefix2_test.dart
index cee67e0..21f839d 100644
--- a/tests/language_2/deferred/duplicate_prefix2_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix2_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.9
+
 import "prefix_constraints_lib.dart" deferred as lib;
 //                                   ^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.SHARED_DEFERRED_PREFIX
diff --git a/tests/language_2/deferred/duplicate_prefix3_runtime_test.dart b/tests/language_2/deferred/duplicate_prefix3_runtime_test.dart
index 3f409b6..ef6478e 100644
--- a/tests/language_2/deferred/duplicate_prefix3_runtime_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/deferred/duplicate_prefix3_test.dart b/tests/language_2/deferred/duplicate_prefix3_test.dart
index ee80c82..59d732a 100644
--- a/tests/language_2/deferred/duplicate_prefix3_test.dart
+++ b/tests/language_2/deferred/duplicate_prefix3_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.9
+
 import "prefix_constraints_lib.dart" deferred as lib;
 //                                   ^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.SHARED_DEFERRED_PREFIX
diff --git a/tests/language_2/deferred/function_type_lib.dart b/tests/language_2/deferred/function_type_lib.dart
index f73a822..098d752 100644
--- a/tests/language_2/deferred/function_type_lib.dart
+++ b/tests/language_2/deferred/function_type_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 class T {
diff --git a/tests/language_2/deferred/function_type_test.dart b/tests/language_2/deferred/function_type_test.dart
index b69eae6..7a0a2c2 100644
--- a/tests/language_2/deferred/function_type_test.dart
+++ b/tests/language_2/deferred/function_type_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.9
+
 // VMOptions=
 // VMOptions=--dwarf_stack_traces --no-retain_function_objects --no-retain_code_objects
 
diff --git a/tests/language_2/deferred/global_lib.dart b/tests/language_2/deferred/global_lib.dart
index d4f3f05..3299c42 100644
--- a/tests/language_2/deferred/global_lib.dart
+++ b/tests/language_2/deferred/global_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var sideEffectCounter = 0;
 
 final finalConstGlobal = "finalConstGlobal";
diff --git a/tests/language_2/deferred/global_test.dart b/tests/language_2/deferred/global_test.dart
index 6c3c728..591d4e5 100644
--- a/tests/language_2/deferred/global_test.dart
+++ b/tests/language_2/deferred/global_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/import_core_test.dart b/tests/language_2/deferred/import_core_test.dart
index 3c72766..968fe90 100644
--- a/tests/language_2/deferred/import_core_test.dart
+++ b/tests/language_2/deferred/import_core_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.9
+
 // Nothing in the language spec explicitly prohibits a deferred import of
 // 'dart:core'.  Make sure it doesn't lead to any strange behavior.
 
diff --git a/tests/language_2/deferred/inheritance_constraints_lib.dart b/tests/language_2/deferred/inheritance_constraints_lib.dart
index 38d3e68..5211f74 100644
--- a/tests/language_2/deferred/inheritance_constraints_lib.dart
+++ b/tests/language_2/deferred/inheritance_constraints_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Foo {}
 
 class Foo2 {}
diff --git a/tests/language_2/deferred/inheritance_constraints_runtime_test.dart b/tests/language_2/deferred/inheritance_constraints_runtime_test.dart
index 719a170..42d0b22 100644
--- a/tests/language_2/deferred/inheritance_constraints_runtime_test.dart
+++ b/tests/language_2/deferred/inheritance_constraints_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/deferred/inheritance_constraints_test.dart b/tests/language_2/deferred/inheritance_constraints_test.dart
index 7477a57..065443b 100644
--- a/tests/language_2/deferred/inheritance_constraints_test.dart
+++ b/tests/language_2/deferred/inheritance_constraints_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.9
+
 import "package:expect/expect.dart";
 import "inheritance_constraints_lib.dart" deferred as lib;
 
diff --git a/tests/language_2/deferred/inlined_test.dart b/tests/language_2/deferred/inlined_test.dart
index 5aa45b0..1f48d6b 100644
--- a/tests/language_2/deferred/inlined_test.dart
+++ b/tests/language_2/deferred/inlined_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 // Declares foo that returns 42.
 import "constraints_lib2.dart" deferred as lib;
 
diff --git a/tests/language_2/deferred/load_constants.dart b/tests/language_2/deferred/load_constants.dart
index a67bd03..9948757 100644
--- a/tests/language_2/deferred/load_constants.dart
+++ b/tests/language_2/deferred/load_constants.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart version of two-argument Ackermann-Peter function.
 
+// @dart = 2.9
+
 library deferred_load_constants;
 
 // Constant declaration.
diff --git a/tests/language_2/deferred/load_constants_runtime_test.dart b/tests/language_2/deferred/load_constants_runtime_test.dart
index 97e91a2..4d35e06 100644
--- a/tests/language_2/deferred/load_constants_runtime_test.dart
+++ b/tests/language_2/deferred/load_constants_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/deferred/load_constants_test.dart b/tests/language_2/deferred/load_constants_test.dart
index 546b038..45fb9aa 100644
--- a/tests/language_2/deferred/load_constants_test.dart
+++ b/tests/language_2/deferred/load_constants_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart version of two-argument Ackermann-Peter function.
 
+// @dart = 2.9
+
 library deferred_load_constants;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/deferred/load_inval_code_lib.dart b/tests/language_2/deferred/load_inval_code_lib.dart
index 512a8b3..d586b24 100644
--- a/tests/language_2/deferred/load_inval_code_lib.dart
+++ b/tests/language_2/deferred/load_inval_code_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 foo() {
   return "foo from library";
 }
diff --git a/tests/language_2/deferred/load_inval_code_test.dart b/tests/language_2/deferred/load_inval_code_test.dart
index 596e0bc..88a2f32 100644
--- a/tests/language_2/deferred/load_inval_code_test.dart
+++ b/tests/language_2/deferred/load_inval_code_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--optimization-counter-threshold=100
 
+// @dart = 2.9
+
 import "load_inval_code_lib.dart" deferred as d;
 
 bool loaded = false;
diff --git a/tests/language_2/deferred/load_library_wrong_args_lib.dart b/tests/language_2/deferred/load_library_wrong_args_lib.dart
index 0f02e43..4f27b78 100644
--- a/tests/language_2/deferred/load_library_wrong_args_lib.dart
+++ b/tests/language_2/deferred/load_library_wrong_args_lib.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.9
+
 foo() => 42;
diff --git a/tests/language_2/deferred/load_library_wrong_args_test.dart b/tests/language_2/deferred/load_library_wrong_args_test.dart
index 3903e19..d85bde5 100644
--- a/tests/language_2/deferred/load_library_wrong_args_test.dart
+++ b/tests/language_2/deferred/load_library_wrong_args_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import "load_library_wrong_args_lib.dart" deferred as lib;
 
 void main() {
diff --git a/tests/language_2/deferred/mixin_lib1.dart b/tests/language_2/deferred/mixin_lib1.dart
index 3b43ffe..ae31637 100644
--- a/tests/language_2/deferred/mixin_lib1.dart
+++ b/tests/language_2/deferred/mixin_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.9
+
 library lib1;
 
 import "mixin_shared.dart";
diff --git a/tests/language_2/deferred/mixin_lib2.dart b/tests/language_2/deferred/mixin_lib2.dart
index 32fafef..899b6fd 100644
--- a/tests/language_2/deferred/mixin_lib2.dart
+++ b/tests/language_2/deferred/mixin_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.9
+
 library lib2;
 
 import "mixin_shared.dart";
diff --git a/tests/language_2/deferred/mixin_shared.dart b/tests/language_2/deferred/mixin_shared.dart
index 8b6a293..7c97830 100644
--- a/tests/language_2/deferred/mixin_shared.dart
+++ b/tests/language_2/deferred/mixin_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.9
+
 library shared;
 
 class SharedMixin {
diff --git a/tests/language_2/deferred/mixin_test.dart b/tests/language_2/deferred/mixin_test.dart
index 33594b7..3fa9a8b 100644
--- a/tests/language_2/deferred/mixin_test.dart
+++ b/tests/language_2/deferred/mixin_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/no_prefix_runtime_test.dart b/tests/language_2/deferred/no_prefix_runtime_test.dart
index 1cbab75..7b1d251 100644
--- a/tests/language_2/deferred/no_prefix_runtime_test.dart
+++ b/tests/language_2/deferred/no_prefix_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/deferred/no_prefix_test.dart b/tests/language_2/deferred/no_prefix_test.dart
index ff778e5..5d04ee4 100644
--- a/tests/language_2/deferred/no_prefix_test.dart
+++ b/tests/language_2/deferred/no_prefix_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.9
+
 // Loading a deferred library without prefix is not allowed.
 import "constraints_lib2.dart"
   deferred
diff --git a/tests/language_2/deferred/no_such_method_lib.dart b/tests/language_2/deferred/no_such_method_lib.dart
index ccb0091..085f67d 100644
--- a/tests/language_2/deferred/no_such_method_lib.dart
+++ b/tests/language_2/deferred/no_such_method_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 @proxy
 class C {
   noSuchMethod(Invocation invocation) => 42;
diff --git a/tests/language_2/deferred/no_such_method_test.dart b/tests/language_2/deferred/no_such_method_test.dart
index 0673319..e432499 100644
--- a/tests/language_2/deferred/no_such_method_test.dart
+++ b/tests/language_2/deferred/no_such_method_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/not_loaded_check_lib.dart b/tests/language_2/deferred/not_loaded_check_lib.dart
index 9979ea8..c3e2a95 100644
--- a/tests/language_2/deferred/not_loaded_check_lib.dart
+++ b/tests/language_2/deferred/not_loaded_check_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 foo(int arg) {}
 
 class C {
diff --git a/tests/language_2/deferred/not_loaded_check_test.dart b/tests/language_2/deferred/not_loaded_check_test.dart
index 44c0fd4..c08177c 100644
--- a/tests/language_2/deferred/not_loaded_check_test.dart
+++ b/tests/language_2/deferred/not_loaded_check_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 
diff --git a/tests/language_2/deferred/only_constant_lib.dart b/tests/language_2/deferred/only_constant_lib.dart
index 1c84126..4bced2a 100644
--- a/tests/language_2/deferred/only_constant_lib.dart
+++ b/tests/language_2/deferred/only_constant_lib.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.9
+
 const constant = const ["a", "b", "c"];
diff --git a/tests/language_2/deferred/only_constant_test.dart b/tests/language_2/deferred/only_constant_test.dart
index 37d2a2a..06970f3 100644
--- a/tests/language_2/deferred/only_constant_test.dart
+++ b/tests/language_2/deferred/only_constant_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.9
+
 // Testing import of only constants from a deferred library.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/deferred/optimized_test.dart b/tests/language_2/deferred/optimized_test.dart
index 7fd0a99..5f053b9 100644
--- a/tests/language_2/deferred/optimized_test.dart
+++ b/tests/language_2/deferred/optimized_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --compiler-passes=-Inlining
 
+// @dart = 2.9
+
 // Declares foo that returns 42.
 import "constraints_lib2.dart" deferred as lib;
 
diff --git a/tests/language_2/deferred/prefix_constraints_lib.dart b/tests/language_2/deferred/prefix_constraints_lib.dart
index c79d4e5..116acbd 100644
--- a/tests/language_2/deferred/prefix_constraints_lib.dart
+++ b/tests/language_2/deferred/prefix_constraints_lib.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.9
+
 foo() => 24;
diff --git a/tests/language_2/deferred/prefix_constraints_lib2.dart b/tests/language_2/deferred/prefix_constraints_lib2.dart
index c79d4e5..116acbd 100644
--- a/tests/language_2/deferred/prefix_constraints_lib2.dart
+++ b/tests/language_2/deferred/prefix_constraints_lib2.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.9
+
 foo() => 24;
diff --git a/tests/language_2/deferred/prefix_importer_tree_shaken_deferred.dart b/tests/language_2/deferred/prefix_importer_tree_shaken_deferred.dart
index 4bf00ef..1278e03 100644
--- a/tests/language_2/deferred/prefix_importer_tree_shaken_deferred.dart
+++ b/tests/language_2/deferred/prefix_importer_tree_shaken_deferred.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 @pragma("vm:never-inline")
 bar() {
   return "bar";
diff --git a/tests/language_2/deferred/prefix_importer_tree_shaken_immediate.dart b/tests/language_2/deferred/prefix_importer_tree_shaken_immediate.dart
index c85a5b7..966a5a3 100644
--- a/tests/language_2/deferred/prefix_importer_tree_shaken_immediate.dart
+++ b/tests/language_2/deferred/prefix_importer_tree_shaken_immediate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "prefix_importer_tree_shaken_deferred.dart" deferred as d;
 
 @pragma("vm:prefer-inline")
diff --git a/tests/language_2/deferred/prefix_importer_tree_shaken_test.dart b/tests/language_2/deferred/prefix_importer_tree_shaken_test.dart
index ccb0246..48c2ec1 100644
--- a/tests/language_2/deferred/prefix_importer_tree_shaken_test.dart
+++ b/tests/language_2/deferred/prefix_importer_tree_shaken_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.9
+
 /// VMOptions=--dwarf_stack_traces=true
 /// VMOptions=--dwarf_stack_traces=false
 
diff --git a/tests/language_2/deferred/redirecting_factory_lib1.dart b/tests/language_2/deferred/redirecting_factory_lib1.dart
index 1e1a7a1..18f7751 100644
--- a/tests/language_2/deferred/redirecting_factory_lib1.dart
+++ b/tests/language_2/deferred/redirecting_factory_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.9
+
 library lib1;
 
 import "redirecting_factory_lib2.dart" deferred as lib2;
diff --git a/tests/language_2/deferred/redirecting_factory_lib2.dart b/tests/language_2/deferred/redirecting_factory_lib2.dart
index a72be64..94536d7 100644
--- a/tests/language_2/deferred/redirecting_factory_lib2.dart
+++ b/tests/language_2/deferred/redirecting_factory_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.9
+
 library lib2;
 
 import "redirecting_factory_lib1.dart" as lib1;
diff --git a/tests/language_2/deferred/redirecting_factory_test.dart b/tests/language_2/deferred/redirecting_factory_test.dart
index 1ee76d3..2c8b449 100644
--- a/tests/language_2/deferred/redirecting_factory_test.dart
+++ b/tests/language_2/deferred/redirecting_factory_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2015, 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.9
 library main;
 
 import "redirecting_factory_lib1.dart" deferred as lib1;
diff --git a/tests/language_2/deferred/regression_22995_lib.dart b/tests/language_2/deferred/regression_22995_lib.dart
index b6e3aef..c4e7e92 100644
--- a/tests/language_2/deferred/regression_22995_lib.dart
+++ b/tests/language_2/deferred/regression_22995_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'regression_22995_test.dart';
 
 foofoo() {
diff --git a/tests/language_2/deferred/regression_22995_test.dart b/tests/language_2/deferred/regression_22995_test.dart
index fdd36c1..ca831d1 100644
--- a/tests/language_2/deferred/regression_22995_test.dart
+++ b/tests/language_2/deferred/regression_22995_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.9
+
 // Test that closurizing a function implies a dependency on its type.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/deferred/regression_28678_lib.dart b/tests/language_2/deferred/regression_28678_lib.dart
index d985e0a..7c13077 100644
--- a/tests/language_2/deferred/regression_28678_lib.dart
+++ b/tests/language_2/deferred/regression_28678_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var v;
 
 class Clazz {}
diff --git a/tests/language_2/deferred/regression_28678_test.dart b/tests/language_2/deferred/regression_28678_test.dart
index 16a95f9..7790cca 100644
--- a/tests/language_2/deferred/regression_28678_test.dart
+++ b/tests/language_2/deferred/regression_28678_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.9
+
 // Test that await after deferred loading works as expected.
 
 import 'dart:async';
diff --git a/tests/language_2/deferred/shadow_load_library_lib.dart b/tests/language_2/deferred/shadow_load_library_lib.dart
index e7811aa..f29d4cc 100644
--- a/tests/language_2/deferred/shadow_load_library_lib.dart
+++ b/tests/language_2/deferred/shadow_load_library_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 loadLibrary() => 42;
 
 var trueVar = true;
diff --git a/tests/language_2/deferred/shadow_load_library_test.dart b/tests/language_2/deferred/shadow_load_library_test.dart
index 2c096c9..3cc1dfc 100644
--- a/tests/language_2/deferred/shadow_load_library_test.dart
+++ b/tests/language_2/deferred/shadow_load_library_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.9
+
 import "dart:async";
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/language_2/deferred/shared_and_unshared_classes_lib1.dart b/tests/language_2/deferred/shared_and_unshared_classes_lib1.dart
index 28d2ef3..f62c0fc 100644
--- a/tests/language_2/deferred/shared_and_unshared_classes_lib1.dart
+++ b/tests/language_2/deferred/shared_and_unshared_classes_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.9
+
 library lib1;
 
 import "shared_and_unshared_classes_lib_shared.dart";
diff --git a/tests/language_2/deferred/shared_and_unshared_classes_lib2.dart b/tests/language_2/deferred/shared_and_unshared_classes_lib2.dart
index 86fc901..3d99dc6 100644
--- a/tests/language_2/deferred/shared_and_unshared_classes_lib2.dart
+++ b/tests/language_2/deferred/shared_and_unshared_classes_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.9
+
 library lib2;
 
 import "shared_and_unshared_classes_lib_shared.dart";
diff --git a/tests/language_2/deferred/shared_and_unshared_classes_lib_shared.dart b/tests/language_2/deferred/shared_and_unshared_classes_lib_shared.dart
index a2c5665..a8bbf91 100644
--- a/tests/language_2/deferred/shared_and_unshared_classes_lib_shared.dart
+++ b/tests/language_2/deferred/shared_and_unshared_classes_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.9
+
 library shared;
 
 class CShared {
diff --git a/tests/language_2/deferred/shared_and_unshared_classes_test.dart b/tests/language_2/deferred/shared_and_unshared_classes_test.dart
index 43c8ecd..ef2e580 100644
--- a/tests/language_2/deferred/shared_and_unshared_classes_test.dart
+++ b/tests/language_2/deferred/shared_and_unshared_classes_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.9
+
 // VMOptions=
 // VMOptions=--dwarf_stack_traces --no-retain_function_objects --no-retain_code_objects
 
diff --git a/tests/language_2/deferred/split_constants_canonicalization_a.dart b/tests/language_2/deferred/split_constants_canonicalization_a.dart
index 3e3ada7..4f732d6 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_a.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "split_constants_canonicalization_a_1.dart" deferred as a_1;
 import "split_constants_canonicalization_a_2.dart" deferred as a_2;
 
diff --git a/tests/language_2/deferred/split_constants_canonicalization_a_1.dart b/tests/language_2/deferred/split_constants_canonicalization_a_1.dart
index d7bfcdb..04157bb 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_a_1.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_a_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.9
+
 import "split_constants_canonicalization_test.dart";
 
 @pragma("vm:never-inline")
diff --git a/tests/language_2/deferred/split_constants_canonicalization_a_2.dart b/tests/language_2/deferred/split_constants_canonicalization_a_2.dart
index 3d71a40..89b9d83 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_a_2.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_a_2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "split_constants_canonicalization_test.dart";
 
 @pragma("vm:never-inline")
diff --git a/tests/language_2/deferred/split_constants_canonicalization_b.dart b/tests/language_2/deferred/split_constants_canonicalization_b.dart
index f27900d..4a90130 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_b.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "split_constants_canonicalization_b_1.dart" deferred as b_1;
 import "split_constants_canonicalization_b_2.dart" deferred as b_2;
 
diff --git a/tests/language_2/deferred/split_constants_canonicalization_b_1.dart b/tests/language_2/deferred/split_constants_canonicalization_b_1.dart
index 3d71a40..89b9d83 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_b_1.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_b_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.9
+
 import "split_constants_canonicalization_test.dart";
 
 @pragma("vm:never-inline")
diff --git a/tests/language_2/deferred/split_constants_canonicalization_b_2.dart b/tests/language_2/deferred/split_constants_canonicalization_b_2.dart
index 3d71a40..89b9d83 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_b_2.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_b_2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "split_constants_canonicalization_test.dart";
 
 @pragma("vm:never-inline")
diff --git a/tests/language_2/deferred/split_constants_canonicalization_test.dart b/tests/language_2/deferred/split_constants_canonicalization_test.dart
index 02d5c6e..d3df883 100644
--- a/tests/language_2/deferred/split_constants_canonicalization_test.dart
+++ b/tests/language_2/deferred/split_constants_canonicalization_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.9
+
 // VMOptions=--use_bare_instructions=false
 // VMOptions=--use_bare_instructions=true
 
diff --git a/tests/language_2/deferred/static_seperate_lib1.dart b/tests/language_2/deferred/static_seperate_lib1.dart
index 07e9cf5..c126d4f 100644
--- a/tests/language_2/deferred/static_seperate_lib1.dart
+++ b/tests/language_2/deferred/static_seperate_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.9
+
 library lib1;
 
 class ConstClass {
diff --git a/tests/language_2/deferred/static_seperate_lib2.dart b/tests/language_2/deferred/static_seperate_lib2.dart
index 683b9a4..e4dd526 100644
--- a/tests/language_2/deferred/static_seperate_lib2.dart
+++ b/tests/language_2/deferred/static_seperate_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.9
+
 library lib2;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/deferred/static_seperate_test.dart b/tests/language_2/deferred/static_seperate_test.dart
index c920eb8..c609597 100644
--- a/tests/language_2/deferred/static_seperate_test.dart
+++ b/tests/language_2/deferred/static_seperate_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.9
+
 // The class lib1.C is referenced via lib1
 // The static function lib1.C.foo is referenced via lib2
 // Dart2js will put them in seperate hunks.
diff --git a/tests/language_2/deferred/super_dependency_lib.dart b/tests/language_2/deferred/super_dependency_lib.dart
index 8638a4f..3d1f2da 100644
--- a/tests/language_2/deferred/super_dependency_lib.dart
+++ b/tests/language_2/deferred/super_dependency_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class A {}
 
 class C extends A {
diff --git a/tests/language_2/deferred/super_dependency_runtime_test.dart b/tests/language_2/deferred/super_dependency_runtime_test.dart
index c09a7f8..f106998 100644
--- a/tests/language_2/deferred/super_dependency_runtime_test.dart
+++ b/tests/language_2/deferred/super_dependency_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/deferred/super_dependency_test.dart b/tests/language_2/deferred/super_dependency_test.dart
index cf5e811..73ebf0d 100644
--- a/tests/language_2/deferred/super_dependency_test.dart
+++ b/tests/language_2/deferred/super_dependency_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.9
+
 // Regression test.
 // lib.C.foo has code that references `super.foo=` that does not exist. This
 // used to cause a crash.
diff --git a/tests/language_2/deferred/type_dependency_lib1.dart b/tests/language_2/deferred/type_dependency_lib1.dart
index 491ecc6..36a06ef 100644
--- a/tests/language_2/deferred/type_dependency_lib1.dart
+++ b/tests/language_2/deferred/type_dependency_lib1.dart
@@ -2,6 +2,8 @@
 // source code is governed by a BSD-style license that can be found in
 // the LICENSE file.
 
+// @dart = 2.9
+
 library lib1;
 
 import "type_dependency_lib3.dart";
diff --git a/tests/language_2/deferred/type_dependency_lib2.dart b/tests/language_2/deferred/type_dependency_lib2.dart
index d20f4c0..3d4cb78 100644
--- a/tests/language_2/deferred/type_dependency_lib2.dart
+++ b/tests/language_2/deferred/type_dependency_lib2.dart
@@ -2,6 +2,8 @@
 // source code is governed by a BSD-style license that can be found in
 // the LICENSE file.
 
+// @dart = 2.9
+
 library lib2;
 
 import "type_dependency_lib3.dart";
diff --git a/tests/language_2/deferred/type_dependency_lib3.dart b/tests/language_2/deferred/type_dependency_lib3.dart
index ae8c258..29e229a 100644
--- a/tests/language_2/deferred/type_dependency_lib3.dart
+++ b/tests/language_2/deferred/type_dependency_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.9
+
 library lib3;
 
 class A {
diff --git a/tests/language_2/deferred/type_dependency_test.dart b/tests/language_2/deferred/type_dependency_test.dart
index 7d31d5f..7b73bd0 100644
--- a/tests/language_2/deferred/type_dependency_test.dart
+++ b/tests/language_2/deferred/type_dependency_test.dart
@@ -2,6 +2,8 @@
 // source code is governed by a BSD-style license that can be found in
 // the LICENSE file.
 
+// @dart = 2.9
+
 /// Checks that lib1.fooX's dependencies on [A] via is-checks, as-expressions
 /// and type-annotations(in checked-mode) is correctly tracked.
 
diff --git a/tests/language_2/deferred/unreachable_loading_unit_deferred.dart b/tests/language_2/deferred/unreachable_loading_unit_deferred.dart
index ca5f8bdc..cec6f71 100644
--- a/tests/language_2/deferred/unreachable_loading_unit_deferred.dart
+++ b/tests/language_2/deferred/unreachable_loading_unit_deferred.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 foo() {
   print("Foo");
 }
diff --git a/tests/language_2/deferred/unreachable_loading_unit_immediate.dart b/tests/language_2/deferred/unreachable_loading_unit_immediate.dart
index a320045..2b87a9f 100644
--- a/tests/language_2/deferred/unreachable_loading_unit_immediate.dart
+++ b/tests/language_2/deferred/unreachable_loading_unit_immediate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "unreachable_loading_unit_deferred.dart" deferred as lib;
 
 unreachable() async {
diff --git a/tests/language_2/deferred/unreachable_loading_unit_test.dart b/tests/language_2/deferred/unreachable_loading_unit_test.dart
index 8a66342..ebd82b3 100644
--- a/tests/language_2/deferred/unreachable_loading_unit_test.dart
+++ b/tests/language_2/deferred/unreachable_loading_unit_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.9
+
 import "unreachable_loading_unit_immediate.dart";
 
 main() {
diff --git a/tests/language_2/double/comparison_test.dart b/tests/language_2/double/comparison_test.dart
index cf00962..1372794 100644
--- a/tests/language_2/double/comparison_test.dart
+++ b/tests/language_2/double/comparison_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Tests VM optimizing compiler negate condition for doubles (bug 5376516).
 
+// @dart = 2.9
+
 loop() {
   for (double d = 0.0; d < 1100.0; d++) {}
   for (double d = 0.0; d <= 1100.0; d++) {}
diff --git a/tests/language_2/double/identical_test.dart b/tests/language_2/double/identical_test.dart
index 16b99fe..2a2e33a 100644
--- a/tests/language_2/double/identical_test.dart
+++ b/tests/language_2/double/identical_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/int_addition_test.dart b/tests/language_2/double/int_addition_test.dart
index 809fec5..b0cbe34 100644
--- a/tests/language_2/double/int_addition_test.dart
+++ b/tests/language_2/double/int_addition_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test that optimized code does not silently convert integers to doubles.
diff --git a/tests/language_2/double/int_to_string_test.dart b/tests/language_2/double/int_to_string_test.dart
index 04c7ef7..fb8ca5c 100644
--- a/tests/language_2/double/int_to_string_test.dart
+++ b/tests/language_2/double/int_to_string_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/invalid_runtime_test.dart b/tests/language_2/double/invalid_runtime_test.dart
index a47bfc7..273a9eb 100644
--- a/tests/language_2/double/invalid_runtime_test.dart
+++ b/tests/language_2/double/invalid_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/double/invalid_test.dart b/tests/language_2/double/invalid_test.dart
index dcfe3f4..bdea746 100644
--- a/tests/language_2/double/invalid_test.dart
+++ b/tests/language_2/double/invalid_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.9
+
 // Test an invalid double format
 
 main() {
diff --git a/tests/language_2/double/modulo_test.dart b/tests/language_2/double/modulo_test.dart
index d17bcc5..af08942 100644
--- a/tests/language_2/double/modulo_test.dart
+++ b/tests/language_2/double/modulo_test.dart
@@ -4,6 +4,8 @@
 // Dart test optimization of modulo operator on Double.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/nan_comparison_test.dart b/tests/language_2/double/nan_comparison_test.dart
index 64eb038..61b9a5d7 100644
--- a/tests/language_2/double/nan_comparison_test.dart
+++ b/tests/language_2/double/nan_comparison_test.dart
@@ -4,6 +4,8 @@
 // Tests double comparisons with NaN in different contexts.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 test_expr(a, b) => a != b;
diff --git a/tests/language_2/double/to_string_as_exponential2_runtime_test.dart b/tests/language_2/double/to_string_as_exponential2_runtime_test.dart
index 1c0a498..a9d1a11 100644
--- a/tests/language_2/double/to_string_as_exponential2_runtime_test.dart
+++ b/tests/language_2/double/to_string_as_exponential2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/double/to_string_as_exponential2_test.dart b/tests/language_2/double/to_string_as_exponential2_test.dart
index 6fa5cc2..4d72d12 100644
--- a/tests/language_2/double/to_string_as_exponential2_test.dart
+++ b/tests/language_2/double/to_string_as_exponential2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/to_string_as_exponential3_test.dart b/tests/language_2/double/to_string_as_exponential3_test.dart
index 7300013..97c38ee 100644
--- a/tests/language_2/double/to_string_as_exponential3_test.dart
+++ b/tests/language_2/double/to_string_as_exponential3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/to_string_as_exponential_test.dart b/tests/language_2/double/to_string_as_exponential_test.dart
index e201913..ff24d4e 100644
--- a/tests/language_2/double/to_string_as_exponential_test.dart
+++ b/tests/language_2/double/to_string_as_exponential_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/to_string_as_fixed2_runtime_test.dart b/tests/language_2/double/to_string_as_fixed2_runtime_test.dart
index e711f2d..08ea5b3 100644
--- a/tests/language_2/double/to_string_as_fixed2_runtime_test.dart
+++ b/tests/language_2/double/to_string_as_fixed2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/double/to_string_as_fixed2_test.dart b/tests/language_2/double/to_string_as_fixed2_test.dart
index 885d9fc..cd8feae 100644
--- a/tests/language_2/double/to_string_as_fixed2_test.dart
+++ b/tests/language_2/double/to_string_as_fixed2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 // [NNBD non-migrated]: This test has no language/ counterpart. The static
 // errors are just redundant tests of the static type system, and the runtime
 // errors are redundant with to_string_as_fixed2_runtime_test.dart.
diff --git a/tests/language_2/double/to_string_as_fixed_test.dart b/tests/language_2/double/to_string_as_fixed_test.dart
index 6e0aed2..0e57faf 100644
--- a/tests/language_2/double/to_string_as_fixed_test.dart
+++ b/tests/language_2/double/to_string_as_fixed_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ToStringAsFixedTest {
diff --git a/tests/language_2/double/to_string_as_precision2_runtime_test.dart b/tests/language_2/double/to_string_as_precision2_runtime_test.dart
index 42214dc..a758021 100644
--- a/tests/language_2/double/to_string_as_precision2_runtime_test.dart
+++ b/tests/language_2/double/to_string_as_precision2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/double/to_string_as_precision2_test.dart b/tests/language_2/double/to_string_as_precision2_test.dart
index 6df4222..2f56ce8 100644
--- a/tests/language_2/double/to_string_as_precision2_test.dart
+++ b/tests/language_2/double/to_string_as_precision2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 // [NNBD non-migrated]: This test has no language/ counterpart. The static
 // errors are just redundant tests of the static type system, and the runtime
 // errors are redundant with to_string_as_precision2_runtime_test.dart.
diff --git a/tests/language_2/double/to_string_as_precision3_test.dart b/tests/language_2/double/to_string_as_precision3_test.dart
index 19f390ca..69a97a1 100644
--- a/tests/language_2/double/to_string_as_precision3_test.dart
+++ b/tests/language_2/double/to_string_as_precision3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/to_string_as_precision_test.dart b/tests/language_2/double/to_string_as_precision_test.dart
index 6c048fe..d98ba66 100644
--- a/tests/language_2/double/to_string_as_precision_test.dart
+++ b/tests/language_2/double/to_string_as_precision_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double/to_string_test.dart b/tests/language_2/double/to_string_test.dart
index fcdafb9..04f1af9 100644
--- a/tests/language_2/double/to_string_test.dart
+++ b/tests/language_2/double/to_string_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/double_literals/double_literal_coercion_error_test.dart b/tests/language_2/double_literals/double_literal_coercion_error_test.dart
index ca112be..c3051cc 100644
--- a/tests/language_2/double_literals/double_literal_coercion_error_test.dart
+++ b/tests/language_2/double_literals/double_literal_coercion_error_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.9
+
 // Introduces a context with double as type.
 void notDouble([double value]) {
   if (value != null) throw "unreachable";
diff --git a/tests/language_2/double_literals/double_literal_coercion_test.dart b/tests/language_2/double_literals/double_literal_coercion_test.dart
index 2438bd4..1771aec 100644
--- a/tests/language_2/double_literals/double_literal_coercion_test.dart
+++ b/tests/language_2/double_literals/double_literal_coercion_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.9
+
 import "package:expect/expect.dart";
 
 // Pass expected value and then decimal literal value in a double context.
diff --git a/tests/language_2/double_literals/implicit_double_context_test.dart b/tests/language_2/double_literals/implicit_double_context_test.dart
index 50842f3..8a2bfff 100644
--- a/tests/language_2/double_literals/implicit_double_context_test.dart
+++ b/tests/language_2/double_literals/implicit_double_context_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.9
+
 import "dart:async" show FutureOr;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/dynamic/call_test.dart b/tests/language_2/dynamic/call_test.dart
index f7a760c..2ecd3a2 100644
--- a/tests/language_2/dynamic/call_test.dart
+++ b/tests/language_2/dynamic/call_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing dynamic calls.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/dynamic/dynamic2_runtime_test.dart b/tests/language_2/dynamic/dynamic2_runtime_test.dart
index d7159b8..12a4448 100644
--- a/tests/language_2/dynamic/dynamic2_runtime_test.dart
+++ b/tests/language_2/dynamic/dynamic2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/dynamic/dynamic2_test.dart b/tests/language_2/dynamic/dynamic2_test.dart
index 6871f9f..25e43d1 100644
--- a/tests/language_2/dynamic/dynamic2_test.dart
+++ b/tests/language_2/dynamic/dynamic2_test.dart
@@ -4,6 +4,8 @@
 //
 // Test the prohibited use of 'dynamic' in extending and implementing classes.
 
+// @dart = 2.9
+
 class A
 //    ^
 // [cfe] The type 'dynamic' can't be used as supertype.
diff --git a/tests/language_2/dynamic/dynamic_test.dart b/tests/language_2/dynamic/dynamic_test.dart
index e89b44e..1e88d2a 100644
--- a/tests/language_2/dynamic/dynamic_test.dart
+++ b/tests/language_2/dynamic/dynamic_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program testing the use of 'dynamic' in generic types.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class Iface<K, V> {}
diff --git a/tests/language_2/dynamic/field_runtime_test.dart b/tests/language_2/dynamic/field_runtime_test.dart
index aebfbf6..9bf48ef 100644
--- a/tests/language_2/dynamic/field_runtime_test.dart
+++ b/tests/language_2/dynamic/field_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/dynamic/field_test.dart b/tests/language_2/dynamic/field_test.dart
index 23190e0..5ac338e 100644
--- a/tests/language_2/dynamic/field_test.dart
+++ b/tests/language_2/dynamic/field_test.dart
@@ -4,6 +4,8 @@
 //
 // Test that ensures that fields can be accessed dynamically.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A extends C {
diff --git a/tests/language_2/dynamic/hash_code_test.dart b/tests/language_2/dynamic/hash_code_test.dart
index b705dd8..79e7eaa 100644
--- a/tests/language_2/dynamic/hash_code_test.dart
+++ b/tests/language_2/dynamic/hash_code_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/dynamic/invoke_test.dart b/tests/language_2/dynamic/invoke_test.dart
index d01beca..c142c29 100644
--- a/tests/language_2/dynamic/invoke_test.dart
+++ b/tests/language_2/dynamic/invoke_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing dynamic calls.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Make this something that DDC considers side effecting.
diff --git a/tests/language_2/dynamic/prefix_core_test.dart b/tests/language_2/dynamic/prefix_core_test.dart
index 65da032..dcb6c9d 100644
--- a/tests/language_2/dynamic/prefix_core_test.dart
+++ b/tests/language_2/dynamic/prefix_core_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test explicit import of dart:core in the source code..
 
+// @dart = 2.9
+
 library DynamicPrefixCoreTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/dynamic/set_test.dart b/tests/language_2/dynamic/set_test.dart
index 35f2b97..27bba81 100644
--- a/tests/language_2/dynamic/set_test.dart
+++ b/tests/language_2/dynamic/set_test.dart
@@ -4,6 +4,8 @@
 //
 // Test that ensures that fields can be accessed dynamically.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/dynamic/type_literal_test.dart b/tests/language_2/dynamic/type_literal_test.dart
index 335e9ae..d940916 100644
--- a/tests/language_2/dynamic/type_literal_test.dart
+++ b/tests/language_2/dynamic/type_literal_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.9
+
 // Test generation of 'dynamic' type literals.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/dynamic_type_helper.dart b/tests/language_2/dynamic_type_helper.dart
index 543ceba..69db346 100644
--- a/tests/language_2/dynamic_type_helper.dart
+++ b/tests/language_2/dynamic_type_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.9
+
 library dynamic_type_helper;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/enum/duplicate_lib.dart b/tests/language_2/enum/duplicate_lib.dart
index b9c84f5..9534b62 100644
--- a/tests/language_2/enum/duplicate_lib.dart
+++ b/tests/language_2/enum/duplicate_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library enum_duplicate_lib;
 
 enum Enum1 {
diff --git a/tests/language_2/enum/duplicate_test.dart b/tests/language_2/enum/duplicate_test.dart
index 7904652..0ae0bdd 100644
--- a/tests/language_2/enum/duplicate_test.dart
+++ b/tests/language_2/enum/duplicate_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.9
+
 // Test for duplicate enums.
 
 library enum_duplicate_test;
diff --git a/tests/language_2/enum/enum_test.dart b/tests/language_2/enum/enum_test.dart
index 4e1303d..eb0d039 100644
--- a/tests/language_2/enum/enum_test.dart
+++ b/tests/language_2/enum/enum_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.9
+
 import 'package:expect/expect.dart';
 
 enum Enum1 { _ }
diff --git a/tests/language_2/enum/index_test.dart b/tests/language_2/enum/index_test.dart
index ce6994b..fb1c5b3 100644
--- a/tests/language_2/enum/index_test.dart
+++ b/tests/language_2/enum/index_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.9
+
 // Test index access for enums.
 
 library enum_index_test;
diff --git a/tests/language_2/enum/initialization_near_stack_overflow_test.dart b/tests/language_2/enum/initialization_near_stack_overflow_test.dart
index 598b382..7e4ece8 100644
--- a/tests/language_2/enum/initialization_near_stack_overflow_test.dart
+++ b/tests/language_2/enum/initialization_near_stack_overflow_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.9
+
 // https://github.com/flutter/flutter/issues/25041
 
 // This test may produce a compile time exception from stack overflow during
diff --git a/tests/language_2/enum/is_keyword_runtime_test.dart b/tests/language_2/enum/is_keyword_runtime_test.dart
index 2e9a471..8ea644f 100644
--- a/tests/language_2/enum/is_keyword_runtime_test.dart
+++ b/tests/language_2/enum/is_keyword_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/enum/is_keyword_test.dart b/tests/language_2/enum/is_keyword_test.dart
index 4d37239..b57ee88 100644
--- a/tests/language_2/enum/is_keyword_test.dart
+++ b/tests/language_2/enum/is_keyword_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.9
+
 // Test that `enum` is considered a keyword and therefore invalid as the name of
 // declarations.
 
diff --git a/tests/language_2/enum/private_lib.dart b/tests/language_2/enum/private_lib.dart
index c8fb00f..dfce238 100644
--- a/tests/language_2/enum/private_lib.dart
+++ b/tests/language_2/enum/private_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library enum_private_lib;
 
 enum Enum2 {
diff --git a/tests/language_2/enum/private_runtime_1_test.dart b/tests/language_2/enum/private_runtime_1_test.dart
index 34af126..b2fbfee 100644
--- a/tests/language_2/enum/private_runtime_1_test.dart
+++ b/tests/language_2/enum/private_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/enum/private_runtime_test.dart b/tests/language_2/enum/private_runtime_test.dart
index adc8d7a..ad44d80 100644
--- a/tests/language_2/enum/private_runtime_test.dart
+++ b/tests/language_2/enum/private_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/enum/private_test.dart b/tests/language_2/enum/private_test.dart
index a24fec3..cf6f980 100644
--- a/tests/language_2/enum/private_test.dart
+++ b/tests/language_2/enum/private_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.9
+
 // Test privacy issue for enums.
 
 library enum_private_test;
diff --git a/tests/language_2/enum/syntax_test.dart b/tests/language_2/enum/syntax_test.dart
index 250e1ae..1c6ce18 100644
--- a/tests/language_2/enum/syntax_test.dart
+++ b/tests/language_2/enum/syntax_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.9
+
 // Basic syntax test for enumeration types
 
 enum Color { red, orange, yellow, green }
diff --git a/tests/language_2/enum/value_name_test.dart b/tests/language_2/enum/value_name_test.dart
index f4a0d8a..a6b46d5 100644
--- a/tests/language_2/enum/value_name_test.dart
+++ b/tests/language_2/enum/value_name_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.9
+
 import 'package:expect/expect.dart';
 
 enum ErrorContext { general, name, description, targets }
diff --git a/tests/language_2/exception/catch_liveness_test.dart b/tests/language_2/exception/catch_liveness_test.dart
index df9a3dd..da58334 100644
--- a/tests/language_2/exception/catch_liveness_test.dart
+++ b/tests/language_2/exception/catch_liveness_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.9
+
 import "package:expect/expect.dart";
 
 @pragma('dart2js:assumeDynamic')
diff --git a/tests/language_2/exception/code_after_try_is_executed_test.dart b/tests/language_2/exception/code_after_try_is_executed_test.dart
index 57ffd84..a1f3d6b 100644
--- a/tests/language_2/exception/code_after_try_is_executed_test.dart
+++ b/tests/language_2/exception/code_after_try_is_executed_test.dart
@@ -5,6 +5,8 @@
 // test cannot use Expect.throws, because Expect.throws uses the same
 // pattern.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/exception/exception_test.dart b/tests/language_2/exception/exception_test.dart
index 2cdab5e..805fadb 100644
--- a/tests/language_2/exception/exception_test.dart
+++ b/tests/language_2/exception/exception_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.9
+
 import "package:expect/expect.dart";
 
 class ExceptionTest {
diff --git a/tests/language_2/exception/finally10_test.dart b/tests/language_2/exception/finally10_test.dart
index dfe47b5..447f196 100644
--- a/tests/language_2/exception/finally10_test.dart
+++ b/tests/language_2/exception/finally10_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.9
+
 // Regression test for dart2js that used to not treat the finally
 // block as a successor of a catch block that throws.
 
diff --git a/tests/language_2/exception/finally11_test.dart b/tests/language_2/exception/finally11_test.dart
index dbe7288..73b6b73 100644
--- a/tests/language_2/exception/finally11_test.dart
+++ b/tests/language_2/exception/finally11_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.9
+
 // Regression test for dart2js that used to not treat the finally
 // block as a successor of a nested try block.
 
diff --git a/tests/language_2/exception/finally12_test.dart b/tests/language_2/exception/finally12_test.dart
index e4f56a0..8cf31c2 100644
--- a/tests/language_2/exception/finally12_test.dart
+++ b/tests/language_2/exception/finally12_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.9
+
 // Regression test for dart2js that used to not treat the finally
 // block as a successor of a nested try block.
 
diff --git a/tests/language_2/exception/finally1_test.dart b/tests/language_2/exception/finally1_test.dart
index 0e8510a..624b58f 100644
--- a/tests/language_2/exception/finally1_test.dart
+++ b/tests/language_2/exception/finally1_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally2_test.dart b/tests/language_2/exception/finally2_test.dart
index fd64f69..d6684e5 100644
--- a/tests/language_2/exception/finally2_test.dart
+++ b/tests/language_2/exception/finally2_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally3_test.dart b/tests/language_2/exception/finally3_test.dart
index c36ba0f..341b362 100644
--- a/tests/language_2/exception/finally3_test.dart
+++ b/tests/language_2/exception/finally3_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally4_test.dart b/tests/language_2/exception/finally4_test.dart
index fcc308c..ba159b7 100644
--- a/tests/language_2/exception/finally4_test.dart
+++ b/tests/language_2/exception/finally4_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally5_test.dart b/tests/language_2/exception/finally5_test.dart
index 09cbdc15..d5a052e 100644
--- a/tests/language_2/exception/finally5_test.dart
+++ b/tests/language_2/exception/finally5_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally6_test.dart b/tests/language_2/exception/finally6_test.dart
index e9c5ea5..1e8407b 100644
--- a/tests/language_2/exception/finally6_test.dart
+++ b/tests/language_2/exception/finally6_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks on
 // control flow breaks because of 'return', 'continue' etc.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/exception/finally7_test.dart b/tests/language_2/exception/finally7_test.dart
index 51e524f..53d93a1 100644
--- a/tests/language_2/exception/finally7_test.dart
+++ b/tests/language_2/exception/finally7_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing execution of finally blocks after an exception
 // is thrown from inside a local function capturing a variable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {
diff --git a/tests/language_2/exception/finally8_test.dart b/tests/language_2/exception/finally8_test.dart
index c697eee..f595151 100644
--- a/tests/language_2/exception/finally8_test.dart
+++ b/tests/language_2/exception/finally8_test.dart
@@ -4,6 +4,8 @@
 // This test ensures that the finally block executes correctly when
 // there are throw, break and return statements in the finally block.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Hello {
diff --git a/tests/language_2/exception/finally9_test.dart b/tests/language_2/exception/finally9_test.dart
index 5513466..d98f7b0 100644
--- a/tests/language_2/exception/finally9_test.dart
+++ b/tests/language_2/exception/finally9_test.dart
@@ -4,6 +4,8 @@
 // This test ensures that the finally block executes correctly when
 // there are throw, break and return statements in the finally block.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Hello {
diff --git a/tests/language_2/exception/finally_test.dart b/tests/language_2/exception/finally_test.dart
index 9277416..bf4c324 100644
--- a/tests/language_2/exception/finally_test.dart
+++ b/tests/language_2/exception/finally_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.9
+
 import "package:expect/expect.dart";
 
 // Test for a bug in dart2js where the update of a field in a try
diff --git a/tests/language_2/exception/identity_test.dart b/tests/language_2/exception/identity_test.dart
index 2b16607..ec680bfc 100644
--- a/tests/language_2/exception/identity_test.dart
+++ b/tests/language_2/exception/identity_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.9
+
 import "package:expect/expect.dart";
 
 // Test that an object when thrown stays the same.
diff --git a/tests/language_2/exception/in_increment_test.dart b/tests/language_2/exception/in_increment_test.dart
index 5e34a60..715bcee 100644
--- a/tests/language_2/exception/in_increment_test.dart
+++ b/tests/language_2/exception/in_increment_test.dart
@@ -5,6 +5,8 @@
 // part of the instance field increment never completes.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 main() {
   var a = new A();
   a.field = new A();
diff --git a/tests/language_2/exception/on_catch_malformed_type_test.dart b/tests/language_2/exception/on_catch_malformed_type_test.dart
index 8b49027..5b91b5a 100644
--- a/tests/language_2/exception/on_catch_malformed_type_test.dart
+++ b/tests/language_2/exception/on_catch_malformed_type_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.9
+
 // Check that malformed types in on-catch are handled correctly, that is,
 // throws a type error in both production and checked mode.
 
diff --git a/tests/language_2/exception/rethrow_test.dart b/tests/language_2/exception/rethrow_test.dart
index 4b535c9..2379a94 100644
--- a/tests/language_2/exception/rethrow_test.dart
+++ b/tests/language_2/exception/rethrow_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {
diff --git a/tests/language_2/exception/throw1_test.dart b/tests/language_2/exception/throw1_test.dart
index 1ae121e..60492b0 100644
--- a/tests/language_2/exception/throw1_test.dart
+++ b/tests/language_2/exception/throw1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class TestException {
diff --git a/tests/language_2/exception/throw2_test.dart b/tests/language_2/exception/throw2_test.dart
index eaade24..975ed78 100644
--- a/tests/language_2/exception/throw2_test.dart
+++ b/tests/language_2/exception/throw2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class TestException {
diff --git a/tests/language_2/exception/throw3_test.dart b/tests/language_2/exception/throw3_test.dart
index 1d72345..54c6b5c 100644
--- a/tests/language_2/exception/throw3_test.dart
+++ b/tests/language_2/exception/throw3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {
diff --git a/tests/language_2/exception/throw4_test.dart b/tests/language_2/exception/throw4_test.dart
index 6dd2f74..2d1f37a 100644
--- a/tests/language_2/exception/throw4_test.dart
+++ b/tests/language_2/exception/throw4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException1 {
diff --git a/tests/language_2/exception/throw5_test.dart b/tests/language_2/exception/throw5_test.dart
index 349ade7..d777022 100644
--- a/tests/language_2/exception/throw5_test.dart
+++ b/tests/language_2/exception/throw5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException1 {
diff --git a/tests/language_2/exception/throw6_test.dart b/tests/language_2/exception/throw6_test.dart
index 1433467..03385ba 100644
--- a/tests/language_2/exception/throw6_test.dart
+++ b/tests/language_2/exception/throw6_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException1 {
diff --git a/tests/language_2/exception/throw8_test.dart b/tests/language_2/exception/throw8_test.dart
index de84012..8512611 100644
--- a/tests/language_2/exception/throw8_test.dart
+++ b/tests/language_2/exception/throw8_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var finallyExecutionCount = 0;
diff --git a/tests/language_2/exception/throw_expr_test.dart b/tests/language_2/exception/throw_expr_test.dart
index c1f5044..ca11b65 100644
--- a/tests/language_2/exception/throw_expr_test.dart
+++ b/tests/language_2/exception/throw_expr_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing throw expressions.
diff --git a/tests/language_2/exception/throw_test.dart b/tests/language_2/exception/throw_test.dart
index 0c864cc..987a10b 100644
--- a/tests/language_2/exception/throw_test.dart
+++ b/tests/language_2/exception/throw_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {
diff --git a/tests/language_2/exception/try_catch2_test.dart b/tests/language_2/exception/try_catch2_test.dart
index 8da606c..1482009 100644
--- a/tests/language_2/exception/try_catch2_test.dart
+++ b/tests/language_2/exception/try_catch2_test.dart
@@ -5,6 +5,8 @@
 // being thrown. (Nested try/catch blocks).
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class TestException {
diff --git a/tests/language_2/exception/try_catch3_test.dart b/tests/language_2/exception/try_catch3_test.dart
index 6cff3f8..8cf79a7 100644
--- a/tests/language_2/exception/try_catch3_test.dart
+++ b/tests/language_2/exception/try_catch3_test.dart
@@ -5,6 +5,8 @@
 // being thrown.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class TestException {
diff --git a/tests/language_2/exception/try_catch4_test.dart b/tests/language_2/exception/try_catch4_test.dart
index a6cbe03..b1ed8cb 100644
--- a/tests/language_2/exception/try_catch4_test.dart
+++ b/tests/language_2/exception/try_catch4_test.dart
@@ -5,6 +5,8 @@
 // try/finally.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var a;
diff --git a/tests/language_2/exception/try_catch5_test.dart b/tests/language_2/exception/try_catch5_test.dart
index 6920b06..192c607 100644
--- a/tests/language_2/exception/try_catch5_test.dart
+++ b/tests/language_2/exception/try_catch5_test.dart
@@ -5,6 +5,8 @@
 // try/finally.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var a;
diff --git a/tests/language_2/exception/try_catch_on_syntax_test.dart b/tests/language_2/exception/try_catch_on_syntax_test.dart
index c19a94f..e58b43e 100644
--- a/tests/language_2/exception/try_catch_on_syntax_test.dart
+++ b/tests/language_2/exception/try_catch_on_syntax_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.9
+
 import "package:expect/expect.dart";
 
 class MyException {}
diff --git a/tests/language_2/exception/try_catch_optimized1_test.dart b/tests/language_2/exception/try_catch_optimized1_test.dart
index c405538..41b56b0 100644
--- a/tests/language_2/exception/try_catch_optimized1_test.dart
+++ b/tests/language_2/exception/try_catch_optimized1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 maythrow(x) {
diff --git a/tests/language_2/exception/try_catch_optimized2_test.dart b/tests/language_2/exception/try_catch_optimized2_test.dart
index 7b07176..45672e7 100644
--- a/tests/language_2/exception/try_catch_optimized2_test.dart
+++ b/tests/language_2/exception/try_catch_optimized2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test allocation sinking with optimized try-catch.
diff --git a/tests/language_2/exception/try_catch_optimized3_test.dart b/tests/language_2/exception/try_catch_optimized3_test.dart
index a2b03fc..95f4dc9 100644
--- a/tests/language_2/exception/try_catch_optimized3_test.dart
+++ b/tests/language_2/exception/try_catch_optimized3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test unboxed double operations inside try-catch.
diff --git a/tests/language_2/exception/try_catch_optimized4_test.dart b/tests/language_2/exception/try_catch_optimized4_test.dart
index dc98f31..0bad7ea 100644
--- a/tests/language_2/exception/try_catch_optimized4_test.dart
+++ b/tests/language_2/exception/try_catch_optimized4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test correct dead phi elimination with try catch.
diff --git a/tests/language_2/exception/try_catch_optimized5_test.dart b/tests/language_2/exception/try_catch_optimized5_test.dart
index a9f0789..90b61deb 100644
--- a/tests/language_2/exception/try_catch_optimized5_test.dart
+++ b/tests/language_2/exception/try_catch_optimized5_test.dart
@@ -5,6 +5,8 @@
 // being thrown.
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation
 
+// @dart = 2.9
+
 // Test optional parameters updated inside try-catch
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/exception/try_catch_osr_test.dart b/tests/language_2/exception/try_catch_osr_test.dart
index 085241f4..43eb3216 100644
--- a/tests/language_2/exception/try_catch_osr_test.dart
+++ b/tests/language_2/exception/try_catch_osr_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Test OSR in different places of a try-catch.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/exception/try_catch_regress_27483_test.dart b/tests/language_2/exception/try_catch_regress_27483_test.dart
index 06f1b00..abb0fdc 100644
--- a/tests/language_2/exception/try_catch_regress_27483_test.dart
+++ b/tests/language_2/exception/try_catch_regress_27483_test.dart
@@ -5,6 +5,8 @@
 // being thrown.
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation
 
+// @dart = 2.9
+
 // Test local variables updated inside try-catch.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/exception/try_catch_runtime_test.dart b/tests/language_2/exception/try_catch_runtime_test.dart
index 872f9d7..065a4aa 100644
--- a/tests/language_2/exception/try_catch_runtime_test.dart
+++ b/tests/language_2/exception/try_catch_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/exception/try_catch_syntax_test.dart b/tests/language_2/exception/try_catch_syntax_test.dart
index 5a192d1..66feac1 100644
--- a/tests/language_2/exception/try_catch_syntax_test.dart
+++ b/tests/language_2/exception/try_catch_syntax_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.9
+
 main() {
   testMissingCatch();
   testMissingTry();
diff --git a/tests/language_2/exception/try_catch_test.dart b/tests/language_2/exception/try_catch_test.dart
index 2b8fee2..8c38335 100644
--- a/tests/language_2/exception/try_catch_test.dart
+++ b/tests/language_2/exception/try_catch_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {}
diff --git a/tests/language_2/exception/try_finally_regress_25333_test.dart b/tests/language_2/exception/try_finally_regress_25333_test.dart
index 6318f7c..ba36836 100644
--- a/tests/language_2/exception/try_finally_regress_25333_test.dart
+++ b/tests/language_2/exception/try_finally_regress_25333_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.9
+
 // Test correct handling of try-catch inside try-finally.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/exception/try_finally_regress_25654_test.dart b/tests/language_2/exception/try_finally_regress_25654_test.dart
index 32a236f..a583556 100644
--- a/tests/language_2/exception/try_finally_regress_25654_test.dart
+++ b/tests/language_2/exception/try_finally_regress_25654_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.9
+
 // Test break out of try-finally.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/export/ambiguous_main_a.dart b/tests/language_2/export/ambiguous_main_a.dart
index 4a7b820..2a8a8d3 100644
--- a/tests/language_2/export/ambiguous_main_a.dart
+++ b/tests/language_2/export/ambiguous_main_a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_ambiguous_main_a;
 
 main() {
diff --git a/tests/language_2/export/ambiguous_main_b.dart b/tests/language_2/export/ambiguous_main_b.dart
index 734a620..f344b7b 100644
--- a/tests/language_2/export/ambiguous_main_b.dart
+++ b/tests/language_2/export/ambiguous_main_b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_ambiguous_main_b;
 
 main() {
diff --git a/tests/language_2/export/ambiguous_main_test.dart b/tests/language_2/export/ambiguous_main_test.dart
index b2a8a24..d61ca80 100644
--- a/tests/language_2/export/ambiguous_main_test.dart
+++ b/tests/language_2/export/ambiguous_main_test.dart
@@ -2,5 +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.9
+
 export 'ambiguous_main_a.dart';
 export 'ambiguous_main_b.dart'; /*@compile-error=unspecified*/
diff --git a/tests/language_2/export/cyclic_helper1.dart b/tests/language_2/export/cyclic_helper1.dart
index af3225b..d53f996 100644
--- a/tests/language_2/export/cyclic_helper1.dart
+++ b/tests/language_2/export/cyclic_helper1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_cyclic_helper1;
 
 import 'cyclic_helper2.dart';
diff --git a/tests/language_2/export/cyclic_helper2.dart b/tests/language_2/export/cyclic_helper2.dart
index 2ad239c..394f5da 100644
--- a/tests/language_2/export/cyclic_helper2.dart
+++ b/tests/language_2/export/cyclic_helper2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_cyclic_helper2;
 
 import 'cyclic_test.dart';
diff --git a/tests/language_2/export/cyclic_helper3.dart b/tests/language_2/export/cyclic_helper3.dart
index 17b9ff9..9458409 100644
--- a/tests/language_2/export/cyclic_helper3.dart
+++ b/tests/language_2/export/cyclic_helper3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_cyclic_helper3;
 
 class D {}
diff --git a/tests/language_2/export/cyclic_test.dart b/tests/language_2/export/cyclic_test.dart
index d854a39..4396788 100644
--- a/tests/language_2/export/cyclic_test.dart
+++ b/tests/language_2/export/cyclic_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.9
+
 // Test cyclic export and re-export.
 
 /**
diff --git a/tests/language_2/export/double_same_main_test.dart b/tests/language_2/export/double_same_main_test.dart
index 8923855..b6742d1 100644
--- a/tests/language_2/export/double_same_main_test.dart
+++ b/tests/language_2/export/double_same_main_test.dart
@@ -2,5 +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.9
+
 export 'top_level_entry_test.dart';
 export 'main_test.dart' show main;
diff --git a/tests/language_2/export/duplicate_collision_test.dart b/tests/language_2/export/duplicate_collision_test.dart
index 5948d9b..1f5a1a1 100644
--- a/tests/language_2/export/duplicate_collision_test.dart
+++ b/tests/language_2/export/duplicate_collision_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.9
+
 import 'duplicate_import_libd.dart'; //# 01: compile-time error
 
 void main() {}
diff --git a/tests/language_2/export/duplicate_export_test.dart b/tests/language_2/export/duplicate_export_test.dart
index 75f8a82..aac5fdc 100644
--- a/tests/language_2/export/duplicate_export_test.dart
+++ b/tests/language_2/export/duplicate_export_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.9
+
 // Test that it is not a compile-time error to reexport the same elements
 // through different paths.
 
diff --git a/tests/language_2/export/duplicate_import_liba.dart b/tests/language_2/export/duplicate_import_liba.dart
index b8af1a7..7913ee4 100644
--- a/tests/language_2/export/duplicate_import_liba.dart
+++ b/tests/language_2/export/duplicate_import_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.9
+
 library liba;
 
 var field;
diff --git a/tests/language_2/export/duplicate_import_libb.dart b/tests/language_2/export/duplicate_import_libb.dart
index 456147f..66a2379 100644
--- a/tests/language_2/export/duplicate_import_libb.dart
+++ b/tests/language_2/export/duplicate_import_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.9
+
 library libb;
 
 var field;
diff --git a/tests/language_2/export/duplicate_import_libc.dart b/tests/language_2/export/duplicate_import_libc.dart
index d1f1b41..10c17a7 100644
--- a/tests/language_2/export/duplicate_import_libc.dart
+++ b/tests/language_2/export/duplicate_import_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.9
+
 library libc;
 
 var field;
diff --git a/tests/language_2/export/duplicate_import_libd.dart b/tests/language_2/export/duplicate_import_libd.dart
index 14f1ff4..54bd35c 100644
--- a/tests/language_2/export/duplicate_import_libd.dart
+++ b/tests/language_2/export/duplicate_import_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.9
+
 library libd;
 
 import 'duplicate_import_liba.dart';
diff --git a/tests/language_2/export/duplicate_liba.dart b/tests/language_2/export/duplicate_liba.dart
index 7b68d42..a5c90d5 100644
--- a/tests/language_2/export/duplicate_liba.dart
+++ b/tests/language_2/export/duplicate_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.9
+
 library export_liba;
 
 export 'duplicate_import_liba.dart';
diff --git a/tests/language_2/export/export_test.dart b/tests/language_2/export/export_test.dart
index e1faa61..2af96a6 100644
--- a/tests/language_2/export/export_test.dart
+++ b/tests/language_2/export/export_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.9
+
 // Test export and re-export.
 
 library export_test;
diff --git a/tests/language_2/export/helper1.dart b/tests/language_2/export/helper1.dart
index 5b670f4..a2938ef 100644
--- a/tests/language_2/export/helper1.dart
+++ b/tests/language_2/export/helper1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_helper1;
 
 import 'helper2.dart';
diff --git a/tests/language_2/export/helper2.dart b/tests/language_2/export/helper2.dart
index 50dcc3d..7a21aba 100644
--- a/tests/language_2/export/helper2.dart
+++ b/tests/language_2/export/helper2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_helper2;
 
 class ReExported {}
diff --git a/tests/language_2/export/helper3.dart b/tests/language_2/export/helper3.dart
index 3b3bed9..b04cf9c 100644
--- a/tests/language_2/export/helper3.dart
+++ b/tests/language_2/export/helper3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_helper3;
 
 import 'helper4.dart';
diff --git a/tests/language_2/export/helper4.dart b/tests/language_2/export/helper4.dart
index 3ca68ec..e5d3577 100644
--- a/tests/language_2/export/helper4.dart
+++ b/tests/language_2/export/helper4.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export_helper4;
 
 class ReExported {}
diff --git a/tests/language_2/export/local_a.dart b/tests/language_2/export/local_a.dart
index dd6d039..2af72a3 100644
--- a/tests/language_2/export/local_a.dart
+++ b/tests/language_2/export/local_a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library local_export_a;
 
 export 'local_a_export.dart';
diff --git a/tests/language_2/export/local_a_export.dart b/tests/language_2/export/local_a_export.dart
index 1919d38..fb2d66a 100644
--- a/tests/language_2/export/local_a_export.dart
+++ b/tests/language_2/export/local_a_export.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library local_export_a_export;
 
 int A = 0;
diff --git a/tests/language_2/export/local_export_test.dart b/tests/language_2/export/local_export_test.dart
index 2ed4659..fd4f507 100644
--- a/tests/language_2/export/local_export_test.dart
+++ b/tests/language_2/export/local_export_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.9
+
 library localExportTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/export/main_override_test.dart b/tests/language_2/export/main_override_test.dart
index 6578288..b98c94d 100644
--- a/tests/language_2/export/main_override_test.dart
+++ b/tests/language_2/export/main_override_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.9
+
 export 'top_level_entry_test.dart';
 
 main() {
diff --git a/tests/language_2/export/main_test.dart b/tests/language_2/export/main_test.dart
index 1e920a7..3639eff 100644
--- a/tests/language_2/export/main_test.dart
+++ b/tests/language_2/export/main_test.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.9
+
 export 'top_level_entry_test.dart';
diff --git a/tests/language_2/export/not_shadowed_by_prefix_helper.dart b/tests/language_2/export/not_shadowed_by_prefix_helper.dart
index d6d44fd..78d0af5 100644
--- a/tests/language_2/export/not_shadowed_by_prefix_helper.dart
+++ b/tests/language_2/export/not_shadowed_by_prefix_helper.dart
@@ -2,5 +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.9
+
 export "not_shadowed_by_prefix_helper2.dart";
 import "dart:core" as f;
diff --git a/tests/language_2/export/not_shadowed_by_prefix_helper2.dart b/tests/language_2/export/not_shadowed_by_prefix_helper2.dart
index ae2dca5..1af4ed2 100644
--- a/tests/language_2/export/not_shadowed_by_prefix_helper2.dart
+++ b/tests/language_2/export/not_shadowed_by_prefix_helper2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 void f() {
   f_called = true;
 }
diff --git a/tests/language_2/export/not_shadowed_by_prefix_test.dart b/tests/language_2/export/not_shadowed_by_prefix_test.dart
index 6cebd57..134e29d 100644
--- a/tests/language_2/export/not_shadowed_by_prefix_test.dart
+++ b/tests/language_2/export/not_shadowed_by_prefix_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.9
+
 // Verify that import prefixes within an imported library don't shadow
 // names re-exported by that library.
 
diff --git a/tests/language_2/export/order_helper1.dart b/tests/language_2/export/order_helper1.dart
index 68dd448..22c5b74 100644
--- a/tests/language_2/export/order_helper1.dart
+++ b/tests/language_2/export/order_helper1.dart
@@ -2,5 +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.9
+
 export 'order_test.dart';
 export 'order_helper2.dart' show z;
diff --git a/tests/language_2/export/order_helper2.dart b/tests/language_2/export/order_helper2.dart
index 7effbfb..8ac3c08 100644
--- a/tests/language_2/export/order_helper2.dart
+++ b/tests/language_2/export/order_helper2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'order_helper1.dart';
 
 class Info {
diff --git a/tests/language_2/export/order_test.dart b/tests/language_2/export/order_test.dart
index 94cb915..b884508 100644
--- a/tests/language_2/export/order_test.dart
+++ b/tests/language_2/export/order_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.9
+
 import 'package:expect/expect.dart';
 import 'order_helper1.dart' as bar;
 import 'order_helper2.dart';
diff --git a/tests/language_2/export/private_runtime_test.dart b/tests/language_2/export/private_runtime_test.dart
index e78b2b1..d08a0b5 100644
--- a/tests/language_2/export/private_runtime_test.dart
+++ b/tests/language_2/export/private_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/export/private_test.dart b/tests/language_2/export/private_test.dart
index d152f32..c409ac7 100644
--- a/tests/language_2/export/private_test.dart
+++ b/tests/language_2/export/private_test.dart
@@ -3,8 +3,10 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that private dart:_ libraries cannot be imported.
 
+// @dart = 2.9
+
 export "dart:_internal";
-// [error line 6, column 1, length 24]
+// [error line 8, column 1, length 24]
 // [analyzer] COMPILE_TIME_ERROR.EXPORT_INTERNAL_LIBRARY
 // [cfe] Can't access platform private library.
 
diff --git a/tests/language_2/export/reexport_core_helper.dart b/tests/language_2/export/reexport_core_helper.dart
index 86c81bf5..d1f3f68 100644
--- a/tests/language_2/export/reexport_core_helper.dart
+++ b/tests/language_2/export/reexport_core_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.9
+
 library reexport_core_helper;
 
 export 'dart:core';
diff --git a/tests/language_2/export/reexport_core_test.dart b/tests/language_2/export/reexport_core_test.dart
index e4a17dd..0d138e8 100644
--- a/tests/language_2/export/reexport_core_test.dart
+++ b/tests/language_2/export/reexport_core_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.9
+
 // Tests that exports are handled for libraries loaded prior to the entry point
 // library.
 //
diff --git a/tests/language_2/export/top_level_entry.dart b/tests/language_2/export/top_level_entry.dart
index 4399b58..7b07bb2 100644
--- a/tests/language_2/export/top_level_entry.dart
+++ b/tests/language_2/export/top_level_entry.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of top_level_entry_test.dart;
 
 main() {}
diff --git a/tests/language_2/export/top_level_entry_test.dart b/tests/language_2/export/top_level_entry_test.dart
index 5f8c178..c585b96 100644
--- a/tests/language_2/export/top_level_entry_test.dart
+++ b/tests/language_2/export/top_level_entry_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.9
+
 library top_level_entry_test.dart;
 
 part 'top_level_entry.dart';
diff --git a/tests/language_2/extension_methods/basic_static_extension_test.dart b/tests/language_2/extension_methods/basic_static_extension_test.dart
index b8c3c33..70c0fc2 100644
--- a/tests/language_2/extension_methods/basic_static_extension_test.dart
+++ b/tests/language_2/extension_methods/basic_static_extension_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.9
+
 import "package:expect/expect.dart";
 
 // Tests the syntax of extension methods, and that the extensions are
diff --git a/tests/language_2/extension_methods/extension_operation_in_const_test.dart b/tests/language_2/extension_methods/extension_operation_in_const_test.dart
index 4dc4b6a..59edb86 100644
--- a/tests/language_2/extension_methods/extension_operation_in_const_test.dart
+++ b/tests/language_2/extension_methods/extension_operation_in_const_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.9
+
 import "package:expect/expect.dart";
 
 extension on Object {
diff --git a/tests/language_2/extension_methods/helpers/also_on_object.dart b/tests/language_2/extension_methods/helpers/also_on_object.dart
index afe30e34..c6be3cd 100644
--- a/tests/language_2/extension_methods/helpers/also_on_object.dart
+++ b/tests/language_2/extension_methods/helpers/also_on_object.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // An extension conflicting with the one from "on_object.dart";
 extension AlsoOnObject on Object {
   String get onObject => "also object";
diff --git a/tests/language_2/extension_methods/helpers/class_no_shadow.dart b/tests/language_2/extension_methods/helpers/class_no_shadow.dart
index 31e8195..8dd2ab2 100644
--- a/tests/language_2/extension_methods/helpers/class_no_shadow.dart
+++ b/tests/language_2/extension_methods/helpers/class_no_shadow.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 const String instanceValue = "1";
diff --git a/tests/language_2/extension_methods/helpers/class_shadow.dart b/tests/language_2/extension_methods/helpers/class_shadow.dart
index 2e603d1a..331d649 100644
--- a/tests/language_2/extension_methods/helpers/class_shadow.dart
+++ b/tests/language_2/extension_methods/helpers/class_shadow.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 import "class_no_shadow.dart";
diff --git a/tests/language_2/extension_methods/helpers/extension_all.dart b/tests/language_2/extension_methods/helpers/extension_all.dart
index 80656a7..3865252 100644
--- a/tests/language_2/extension_methods/helpers/extension_all.dart
+++ b/tests/language_2/extension_methods/helpers/extension_all.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "class_no_shadow.dart";
 
diff --git a/tests/language_2/extension_methods/helpers/extension_global_instance.dart b/tests/language_2/extension_methods/helpers/extension_global_instance.dart
index 1fbbe7b..3a263b0 100644
--- a/tests/language_2/extension_methods/helpers/extension_global_instance.dart
+++ b/tests/language_2/extension_methods/helpers/extension_global_instance.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "class_no_shadow.dart";
 
diff --git a/tests/language_2/extension_methods/helpers/extension_only.dart b/tests/language_2/extension_methods/helpers/extension_only.dart
index d625af7..07a1dad 100644
--- a/tests/language_2/extension_methods/helpers/extension_only.dart
+++ b/tests/language_2/extension_methods/helpers/extension_only.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "class_no_shadow.dart";
 
diff --git a/tests/language_2/extension_methods/helpers/global_scope.dart b/tests/language_2/extension_methods/helpers/global_scope.dart
index ae6f4fe..3f023b5 100644
--- a/tests/language_2/extension_methods/helpers/global_scope.dart
+++ b/tests/language_2/extension_methods/helpers/global_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.9
+
 import "package:expect/expect.dart";
 
 const int globalValue = 0;
diff --git a/tests/language_2/extension_methods/helpers/on_int.dart b/tests/language_2/extension_methods/helpers/on_int.dart
index a835f16..1eee2a7 100644
--- a/tests/language_2/extension_methods/helpers/on_int.dart
+++ b/tests/language_2/extension_methods/helpers/on_int.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 extension OnInt on int {
   String get onObject => "int";
   String get onInt => "int";
diff --git a/tests/language_2/extension_methods/helpers/on_object.dart b/tests/language_2/extension_methods/helpers/on_object.dart
index dfca4d6..135e4f3 100644
--- a/tests/language_2/extension_methods/helpers/on_object.dart
+++ b/tests/language_2/extension_methods/helpers/on_object.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 extension OnObject on Object {
   String get onObject => "object";
 }
diff --git a/tests/language_2/extension_methods/issue_45551_error_test.dart b/tests/language_2/extension_methods/issue_45551_error_test.dart
index 524b4f6..758aef1 100644
--- a/tests/language_2/extension_methods/issue_45551_error_test.dart
+++ b/tests/language_2/extension_methods/issue_45551_error_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.9
+
 // This test illustrates the error scenario described in
 // https://github.com/dart-lang/sdk/issues/45551
 
diff --git a/tests/language_2/extension_methods/static_extension_bounds_error_test.dart b/tests/language_2/extension_methods/static_extension_bounds_error_test.dart
index 2dc6ba0..3400ee6 100644
--- a/tests/language_2/extension_methods/static_extension_bounds_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_bounds_error_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.9
+
 // Tests bounds checking for extension methods
 
 extension E1<T extends num> on T {
diff --git a/tests/language_2/extension_methods/static_extension_constant_error_test.dart b/tests/language_2/extension_methods/static_extension_constant_error_test.dart
index a1bca72..b2eeb7a 100644
--- a/tests/language_2/extension_methods/static_extension_constant_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_constant_error_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.9
+
 import 'static_extension_constant_lib.dart';
 
 // Tests that it is an error to invoke an extension method during constant
diff --git a/tests/language_2/extension_methods/static_extension_constant_lib.dart b/tests/language_2/extension_methods/static_extension_constant_lib.dart
index 23d6de9..be388d1 100644
--- a/tests/language_2/extension_methods/static_extension_constant_lib.dart
+++ b/tests/language_2/extension_methods/static_extension_constant_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 extension ExtendObject on Object {
   int operator ~() => 1;
   bool operator &(Object other) => false;
diff --git a/tests/language_2/extension_methods/static_extension_constant_test.dart b/tests/language_2/extension_methods/static_extension_constant_test.dart
index 18fdad15..b5fadbd 100644
--- a/tests/language_2/extension_methods/static_extension_constant_test.dart
+++ b/tests/language_2/extension_methods/static_extension_constant_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.9
+
 import 'package:expect/expect.dart';
 import 'static_extension_constant_lib.dart' hide b, i, d, s;
 import 'static_extension_constant_lib.dart' as lib show b, i, d, s;
diff --git a/tests/language_2/extension_methods/static_extension_deferred_double_import_test.dart b/tests/language_2/extension_methods/static_extension_deferred_double_import_test.dart
index 0ef1f33..7facb87 100644
--- a/tests/language_2/extension_methods/static_extension_deferred_double_import_test.dart
+++ b/tests/language_2/extension_methods/static_extension_deferred_double_import_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_deferred_import_error_test.dart b/tests/language_2/extension_methods/static_extension_deferred_import_error_test.dart
index 3d0c5ba..566bcd1 100644
--- a/tests/language_2/extension_methods/static_extension_deferred_import_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_deferred_import_error_test.dart
@@ -2,12 +2,14 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // It is an error to import a deferred library containing extensions without
 // hiding them.
 import "helpers/on_object.dart" deferred as p1;
-// [error line 9, column 1]
+// [error line 11, column 1]
 // [cfe] Extension 'OnObject' cannot be imported through a deferred import.
 //     ^^^^^^^^^^^^^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.DEFERRED_IMPORT_OF_EXTENSION
diff --git a/tests/language_2/extension_methods/static_extension_deferred_import_resolution_error_test.dart b/tests/language_2/extension_methods/static_extension_deferred_import_resolution_error_test.dart
index 8dc19f1..7d193c5 100644
--- a/tests/language_2/extension_methods/static_extension_deferred_import_resolution_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_deferred_import_resolution_error_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" deferred as p1 hide OnObject;
diff --git a/tests/language_2/extension_methods/static_extension_deferred_import_test.dart b/tests/language_2/extension_methods/static_extension_deferred_import_test.dart
index 829a242..eae0d39 100644
--- a/tests/language_2/extension_methods/static_extension_deferred_import_test.dart
+++ b/tests/language_2/extension_methods/static_extension_deferred_import_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" deferred as p1 hide OnObject;
diff --git a/tests/language_2/extension_methods/static_extension_getter_setter_conflicts_test.dart b/tests/language_2/extension_methods/static_extension_getter_setter_conflicts_test.dart
index 7009a05..86c1f11 100644
--- a/tests/language_2/extension_methods/static_extension_getter_setter_conflicts_test.dart
+++ b/tests/language_2/extension_methods/static_extension_getter_setter_conflicts_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.9
+
 // Tests interactions between getters and setters where there is a conflict.
 
 // Conflicting class declarations.
diff --git a/tests/language_2/extension_methods/static_extension_getter_setter_test.dart b/tests/language_2/extension_methods/static_extension_getter_setter_test.dart
index fed3596..9a0e782 100644
--- a/tests/language_2/extension_methods/static_extension_getter_setter_test.dart
+++ b/tests/language_2/extension_methods/static_extension_getter_setter_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.9
+
 // Tests getters and setters where one or both is defined
 // by an extension.
 
diff --git a/tests/language_2/extension_methods/static_extension_import_hide_error_test.dart b/tests/language_2/extension_methods/static_extension_import_hide_error_test.dart
index 25b0461..04bb288 100644
--- a/tests/language_2/extension_methods/static_extension_import_hide_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_hide_error_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_import_hide_test.dart b/tests/language_2/extension_methods/static_extension_import_hide_test.dart
index 33efb80..8cde4da 100644
--- a/tests/language_2/extension_methods/static_extension_import_hide_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_hide_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_import_prefixed_hide_error_test.dart b/tests/language_2/extension_methods/static_extension_import_prefixed_hide_error_test.dart
index a146f12..af6d53e 100644
--- a/tests/language_2/extension_methods/static_extension_import_prefixed_hide_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_prefixed_hide_error_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_import_prefixed_hide_test.dart b/tests/language_2/extension_methods/static_extension_import_prefixed_hide_test.dart
index eb24f4d..904c54c 100644
--- a/tests/language_2/extension_methods/static_extension_import_prefixed_hide_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_prefixed_hide_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_import_prefixed_show_test.dart b/tests/language_2/extension_methods/static_extension_import_prefixed_show_test.dart
index caae31c..8cb537e 100644
--- a/tests/language_2/extension_methods/static_extension_import_prefixed_show_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_prefixed_show_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" as p1 show OnObject;
diff --git a/tests/language_2/extension_methods/static_extension_import_prefixed_test.dart b/tests/language_2/extension_methods/static_extension_import_prefixed_test.dart
index bc64023..18b37b1 100644
--- a/tests/language_2/extension_methods/static_extension_import_prefixed_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_prefixed_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" as p1;
diff --git a/tests/language_2/extension_methods/static_extension_import_test.dart b/tests/language_2/extension_methods/static_extension_import_test.dart
index 2585595..337cb87 100644
--- a/tests/language_2/extension_methods/static_extension_import_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_import_unprefixed_show_test.dart b/tests/language_2/extension_methods/static_extension_import_unprefixed_show_test.dart
index 5a45148..7b5cda0 100644
--- a/tests/language_2/extension_methods/static_extension_import_unprefixed_show_test.dart
+++ b/tests/language_2/extension_methods/static_extension_import_unprefixed_show_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" show OnObject;
diff --git a/tests/language_2/extension_methods/static_extension_inference_test.dart b/tests/language_2/extension_methods/static_extension_inference_test.dart
index 03d11d5..63426c2 100644
--- a/tests/language_2/extension_methods/static_extension_inference_test.dart
+++ b/tests/language_2/extension_methods/static_extension_inference_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.9
+
 // Tests extension method resolution type inference.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_error_test.dart
index 86941be..5eaaaa8 100644
--- a/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_error_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.9
+
 ///////////////////////////////////////////////////////////////////////
 // The following tests check that setters or getters in an extension
 // correctly shadow members with the same basename in the surrounding
diff --git a/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_test.dart b/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_test.dart
index 2e31d19..4d74924 100644
--- a/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_basename_shadowing_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.9
+
 import "package:expect/expect.dart";
 
 ///////////////////////////////////////////////////////////////////////
diff --git a/tests/language_2/extension_methods/static_extension_internal_name_conflict_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_name_conflict_error_test.dart
index f19b8e8..59776bd 100644
--- a/tests/language_2/extension_methods/static_extension_internal_name_conflict_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_name_conflict_error_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.9
+
 // Tests that errors are given for internal name conflicts in extension methods.
 
 // It is an error to have duplicate type parameter names.
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_0_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_0_test.dart
index 49433ea..5bcf11a 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_0_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_0_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test an extension MyExt with no members against:
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_1_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_1_test.dart
index 29f080f..9035ae3 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_1_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_1_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test an extension MyExt with no members against:
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_2_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_2_test.dart
index 88e5ed7..2276f39 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_2_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_2_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test an extension MyExt with members whose names overlap with names from the
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart
index 0e71bb2..f5de7e0 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_3_error_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test the error cases for an extension MyExt with member names
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_3_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_3_test.dart
index 4ef0021..ebe18c5 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_3_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_3_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test the non error cases for an extension MyExt with member names
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart
index 6f6944c..f880ded 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_4_error_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test the error cases for an extension MyExt with member names
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_4_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_4_test.dart
index 590a359..70e17ea 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_4_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_4_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test the non error cases for an extension MyExt with member names
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_5_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_5_test.dart
index 114959d..db25849 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_5_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_5_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test the non error cases for an extension MyExt with member names
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_6_error_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_6_error_test.dart
index dd18be3..0acc1d0 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_6_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_6_error_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test various static error corner cases around internal resolution.
diff --git a/tests/language_2/extension_methods/static_extension_internal_resolution_6_test.dart b/tests/language_2/extension_methods/static_extension_internal_resolution_6_test.dart
index 2e41798..60ec556 100644
--- a/tests/language_2/extension_methods/static_extension_internal_resolution_6_test.dart
+++ b/tests/language_2/extension_methods/static_extension_internal_resolution_6_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.9
+
 // Tests resolution of identifiers inside of extension methods
 
 // Test various non-error corner cases around internal resolution.
diff --git a/tests/language_2/extension_methods/static_extension_operator_override_error_test.dart b/tests/language_2/extension_methods/static_extension_operator_override_error_test.dart
index acd3ab5..ccf436f 100644
--- a/tests/language_2/extension_methods/static_extension_operator_override_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_operator_override_error_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.9
+
 /// Regression test for https://github.com/dart-lang/sdk/issues/43114.
 
 class A {}
diff --git a/tests/language_2/extension_methods/static_extension_operators_test.dart b/tests/language_2/extension_methods/static_extension_operators_test.dart
index e72f7b9..52f99e3 100644
--- a/tests/language_2/extension_methods/static_extension_operators_test.dart
+++ b/tests/language_2/extension_methods/static_extension_operators_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that static extensions can be used for all operators.
diff --git a/tests/language_2/extension_methods/static_extension_prefix_double_import_test.dart b/tests/language_2/extension_methods/static_extension_prefix_double_import_test.dart
index 3df4552..ce7c828 100644
--- a/tests/language_2/extension_methods/static_extension_prefix_double_import_test.dart
+++ b/tests/language_2/extension_methods/static_extension_prefix_double_import_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_prefix_import_conflict_test.dart b/tests/language_2/extension_methods/static_extension_prefix_import_conflict_test.dart
index 7f3993f..8984ed2 100644
--- a/tests/language_2/extension_methods/static_extension_prefix_import_conflict_test.dart
+++ b/tests/language_2/extension_methods/static_extension_prefix_import_conflict_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart";
diff --git a/tests/language_2/extension_methods/static_extension_prefix_import_show_test.dart b/tests/language_2/extension_methods/static_extension_prefix_import_show_test.dart
index 8f5cf73..8cc7e81 100644
--- a/tests/language_2/extension_methods/static_extension_prefix_import_show_test.dart
+++ b/tests/language_2/extension_methods/static_extension_prefix_import_show_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" as p1 show OnObject;
diff --git a/tests/language_2/extension_methods/static_extension_prefix_import_test.dart b/tests/language_2/extension_methods/static_extension_prefix_import_test.dart
index eba2e94..412b499 100644
--- a/tests/language_2/extension_methods/static_extension_prefix_import_test.dart
+++ b/tests/language_2/extension_methods/static_extension_prefix_import_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.9
+
 import "package:expect/expect.dart";
 
 import "helpers/on_object.dart" as p1;
diff --git a/tests/language_2/extension_methods/static_extension_resolution_failures_test.dart b/tests/language_2/extension_methods/static_extension_resolution_failures_test.dart
index ce822ac..0555d3d 100644
--- a/tests/language_2/extension_methods/static_extension_resolution_failures_test.dart
+++ b/tests/language_2/extension_methods/static_extension_resolution_failures_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.9
+
 // Tests extension method resolution failures.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/extension_methods/static_extension_resolution_test.dart b/tests/language_2/extension_methods/static_extension_resolution_test.dart
index c29e658..ffde669 100644
--- a/tests/language_2/extension_methods/static_extension_resolution_test.dart
+++ b/tests/language_2/extension_methods/static_extension_resolution_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.9
+
 import "package:expect/expect.dart";
 
 // Tests the resolution of multiple applicable extensions.
diff --git a/tests/language_2/extension_methods/static_extension_setter_getter_assignability_error_test.dart b/tests/language_2/extension_methods/static_extension_setter_getter_assignability_error_test.dart
index 8b05ada..f6e6854 100644
--- a/tests/language_2/extension_methods/static_extension_setter_getter_assignability_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_setter_getter_assignability_error_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.9
+
 // It is an error to have a setter and a getter in an extension where
 // the return type of the getter is not assignable to the argument type
 // of the setter.
diff --git a/tests/language_2/extension_methods/static_extension_silly_types_test.dart b/tests/language_2/extension_methods/static_extension_silly_types_test.dart
index bcb4e01..722e5ee 100644
--- a/tests/language_2/extension_methods/static_extension_silly_types_test.dart
+++ b/tests/language_2/extension_methods/static_extension_silly_types_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.9
+
 // Tests extension methods on the non-function, non-class types.
 
 import "dart:async" show FutureOr;
diff --git a/tests/language_2/extension_methods/static_extension_syntax_test.dart b/tests/language_2/extension_methods/static_extension_syntax_test.dart
index c400a88..495d297 100644
--- a/tests/language_2/extension_methods/static_extension_syntax_test.dart
+++ b/tests/language_2/extension_methods/static_extension_syntax_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.9
+
 // Tests extension declaration syntax combinations.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/extension_methods/static_extension_this_not_promoted_error_test.dart b/tests/language_2/extension_methods/static_extension_this_not_promoted_error_test.dart
index ed3e301..4e8f4a7 100644
--- a/tests/language_2/extension_methods/static_extension_this_not_promoted_error_test.dart
+++ b/tests/language_2/extension_methods/static_extension_this_not_promoted_error_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.9
+
 // This test verifies that attempts to promote the type of `this` inside an
 // extension method have no effect.
 
diff --git a/tests/language_2/extension_methods/syntax/extension_methods_test.dart b/tests/language_2/extension_methods/syntax/extension_methods_test.dart
index 079b344..d67a039 100644
--- a/tests/language_2/extension_methods/syntax/extension_methods_test.dart
+++ b/tests/language_2/extension_methods/syntax/extension_methods_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.9
+
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/tests/language_2/factory/and_instance_variable_runtime_test.dart b/tests/language_2/factory/and_instance_variable_runtime_test.dart
index f250fb8..13936d6 100644
--- a/tests/language_2/factory/and_instance_variable_runtime_test.dart
+++ b/tests/language_2/factory/and_instance_variable_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.md file.
diff --git a/tests/language_2/factory/and_instance_variable_test.dart b/tests/language_2/factory/and_instance_variable_test.dart
index b35c290..c421ef6 100644
--- a/tests/language_2/factory/and_instance_variable_test.dart
+++ b/tests/language_2/factory/and_instance_variable_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.md file.
 
+// @dart = 2.9
+
 abstract class A {
   var bar;
   factory A.bar() = B.bar;
diff --git a/tests/language_2/factory/arrow_test.dart b/tests/language_2/factory/arrow_test.dart
index d2cf528..6066f8a 100644
--- a/tests/language_2/factory/arrow_test.dart
+++ b/tests/language_2/factory/arrow_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/factory/factory1_test.dart b/tests/language_2/factory/factory1_test.dart
index cfe458b..d8b1dd7 100644
--- a/tests/language_2/factory/factory1_test.dart
+++ b/tests/language_2/factory/factory1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing factory generic result types.
 
+// @dart = 2.9
+
 class A<T> {
   A() {}
   factory A.factory() {
diff --git a/tests/language_2/factory/factory2_test.dart b/tests/language_2/factory/factory2_test.dart
index f8a2e3a..abaeeec 100644
--- a/tests/language_2/factory/factory2_test.dart
+++ b/tests/language_2/factory/factory2_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.9
+
 // Test compile time error for factories with parameterized types.
 
 import "dart:collection";
diff --git a/tests/language_2/factory/factory3_test.dart b/tests/language_2/factory/factory3_test.dart
index fe15ad9..dc9d4cc 100644
--- a/tests/language_2/factory/factory3_test.dart
+++ b/tests/language_2/factory/factory3_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.9
+
 import "dart:collection";
 
 // Test compile time error for factories with parameterized types.
diff --git a/tests/language_2/factory/factory4_runtime_test.dart b/tests/language_2/factory/factory4_runtime_test.dart
index 1d6ed5e7..7391e76 100644
--- a/tests/language_2/factory/factory4_runtime_test.dart
+++ b/tests/language_2/factory/factory4_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/factory/factory4_test.dart b/tests/language_2/factory/factory4_test.dart
index ad2dd27..220c014 100644
--- a/tests/language_2/factory/factory4_test.dart
+++ b/tests/language_2/factory/factory4_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.9
+
 abstract class Link<T> {
   factory Link.create() = LinkFactory.create;
   //                      ^^^^^^^^^^^^^^^^^^
diff --git a/tests/language_2/factory/factory5_runtime_test.dart b/tests/language_2/factory/factory5_runtime_test.dart
index 28b34b0..e7b8700 100644
--- a/tests/language_2/factory/factory5_runtime_test.dart
+++ b/tests/language_2/factory/factory5_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/factory/factory5_test.dart b/tests/language_2/factory/factory5_test.dart
index ee187a5..5b1e442 100644
--- a/tests/language_2/factory/factory5_test.dart
+++ b/tests/language_2/factory/factory5_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.9
+
 abstract class Link<T> {
   factory Link.create() = LinkFactory<T>.create;
   //                      ^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/language_2/factory/factory6_runtime_test.dart b/tests/language_2/factory/factory6_runtime_test.dart
index 8452028..68d4d7b 100644
--- a/tests/language_2/factory/factory6_runtime_test.dart
+++ b/tests/language_2/factory/factory6_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/factory/factory6_test.dart b/tests/language_2/factory/factory6_test.dart
index 6084e82..d89d521 100644
--- a/tests/language_2/factory/factory6_test.dart
+++ b/tests/language_2/factory/factory6_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.9
+
 import 'package:expect/expect.dart';
 
 abstract class Link<T> {
diff --git a/tests/language_2/factory/factory_test.dart b/tests/language_2/factory/factory_test.dart
index 5431241..423d390 100644
--- a/tests/language_2/factory/factory_test.dart
+++ b/tests/language_2/factory/factory_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing factories.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/factory/implementation_test.dart b/tests/language_2/factory/implementation_test.dart
index 7492df8..e381fbe 100644
--- a/tests/language_2/factory/implementation_test.dart
+++ b/tests/language_2/factory/implementation_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.9
+
 import "package:expect/expect.dart";
 
 abstract class A {
diff --git a/tests/language_2/factory/redirection2_runtime_test.dart b/tests/language_2/factory/redirection2_runtime_test.dart
index b00089c..ab1f3e5 100644
--- a/tests/language_2/factory/redirection2_runtime_test.dart
+++ b/tests/language_2/factory/redirection2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/factory/redirection2_test.dart b/tests/language_2/factory/redirection2_test.dart
index f2edbc9..44976a8 100644
--- a/tests/language_2/factory/redirection2_test.dart
+++ b/tests/language_2/factory/redirection2_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.9
+
 import "package:expect/expect.dart";
 
 // Test that it is a compile-time error to have a redirection in a
diff --git a/tests/language_2/factory/redirection3_cyclic_runtime_test.dart b/tests/language_2/factory/redirection3_cyclic_runtime_test.dart
index ecbccc2..14982d7 100644
--- a/tests/language_2/factory/redirection3_cyclic_runtime_test.dart
+++ b/tests/language_2/factory/redirection3_cyclic_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/factory/redirection3_cyclic_test.dart b/tests/language_2/factory/redirection3_cyclic_test.dart
index ab115cc..5b37ba0 100644
--- a/tests/language_2/factory/redirection3_cyclic_test.dart
+++ b/tests/language_2/factory/redirection3_cyclic_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.9
+
 // Test that a cycle in redirecting factories leads to a compile-time error.
 
 class A {
diff --git a/tests/language_2/factory/redirection_test.dart b/tests/language_2/factory/redirection_test.dart
index bddc5368..75d7071 100644
--- a/tests/language_2/factory/redirection_test.dart
+++ b/tests/language_2/factory/redirection_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/factory/return_type_checked_runtime_test.dart b/tests/language_2/factory/return_type_checked_runtime_test.dart
index 3bef4c2..0e2febd 100644
--- a/tests/language_2/factory/return_type_checked_runtime_test.dart
+++ b/tests/language_2/factory/return_type_checked_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/factory/return_type_checked_test.dart b/tests/language_2/factory/return_type_checked_test.dart
index 76e6f3a..069fe48 100644
--- a/tests/language_2/factory/return_type_checked_test.dart
+++ b/tests/language_2/factory/return_type_checked_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/factory/runtime_test.dart b/tests/language_2/factory/runtime_test.dart
index bac5c66..d22ba6f 100644
--- a/tests/language_2/factory/runtime_test.dart
+++ b/tests/language_2/factory/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/factory/type_parameter2_test.dart b/tests/language_2/factory/type_parameter2_test.dart
index 6536be8..9f50ff0 100644
--- a/tests/language_2/factory/type_parameter2_test.dart
+++ b/tests/language_2/factory/type_parameter2_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.9
+
 // Test that type variables are correctly set in instances created by factories.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/factory/type_parameter_test.dart b/tests/language_2/factory/type_parameter_test.dart
index c9e7a0b..88b4ef3 100644
--- a/tests/language_2/factory/type_parameter_test.dart
+++ b/tests/language_2/factory/type_parameter_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/factory/with_type_parameters_test.dart b/tests/language_2/factory/with_type_parameters_test.dart
index e0c1583..ec7e681 100644
--- a/tests/language_2/factory/with_type_parameters_test.dart
+++ b/tests/language_2/factory/with_type_parameters_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.9
+
 class Foo<T> {
   Foo._();
 
diff --git a/tests/language_2/field/decl_missing_var_type_runtime_test.dart b/tests/language_2/field/decl_missing_var_type_runtime_test.dart
index 3d31ad0..07f9d79 100644
--- a/tests/language_2/field/decl_missing_var_type_runtime_test.dart
+++ b/tests/language_2/field/decl_missing_var_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/field/decl_missing_var_type_test.dart b/tests/language_2/field/decl_missing_var_type_test.dart
index 6435dfb..9761b69 100644
--- a/tests/language_2/field/decl_missing_var_type_test.dart
+++ b/tests/language_2/field/decl_missing_var_type_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Exercises issue 2997, missing var or type on field declarations should
 // generate a compile-time error.
 
diff --git a/tests/language_2/field/field1_test.dart b/tests/language_2/field/field1_test.dart
index 1591ad1..07d4818 100644
--- a/tests/language_2/field/field1_test.dart
+++ b/tests/language_2/field/field1_test.dart
@@ -5,6 +5,8 @@
 // Should be an error because we have setter/getter functions and fields
 // in the class.
 
+// @dart = 2.9
+
 class C {
   var a;
 
diff --git a/tests/language_2/field/field2_test.dart b/tests/language_2/field/field2_test.dart
index a822357..a7baf4d 100644
--- a/tests/language_2/field/field2_test.dart
+++ b/tests/language_2/field/field2_test.dart
@@ -5,6 +5,8 @@
 // Should be an error because we have setter/getter functions and fields
 // in the class.
 
+// @dart = 2.9
+
 class C {
   get a {
     return 1;
diff --git a/tests/language_2/field/field3_test.dart b/tests/language_2/field/field3_test.dart
index 901dd06..f97d31b 100644
--- a/tests/language_2/field/field3_test.dart
+++ b/tests/language_2/field/field3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test to catch error reporting bugs in class fields declarations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/field/field4_test.dart b/tests/language_2/field/field4_test.dart
index 8c8ef6d..fbe0610 100644
--- a/tests/language_2/field/field4_test.dart
+++ b/tests/language_2/field/field4_test.dart
@@ -4,6 +4,8 @@
 // Dart test to catch error reporting bugs in class fields declarations.
 // Should be an error because we have a field overriding a function name.
 
+// @dart = 2.9
+
 class A {
   int a() {
     return 1;
diff --git a/tests/language_2/field/field5_test.dart b/tests/language_2/field/field5_test.dart
index 943e9bb..4002322 100644
--- a/tests/language_2/field/field5_test.dart
+++ b/tests/language_2/field/field5_test.dart
@@ -4,6 +4,8 @@
 // Dart test to catch error reporting bugs in class fields declarations.
 // Should be an error because we have a function overriding a field name.
 
+// @dart = 2.9
+
 class A {
   var a;
   int a() {/*@compile-error=unspecified*/
diff --git a/tests/language_2/field/field6_test.dart b/tests/language_2/field/field6_test.dart
index fcf0f40..459844a 100644
--- a/tests/language_2/field/field6_test.dart
+++ b/tests/language_2/field/field6_test.dart
@@ -4,6 +4,8 @@
 // Dart test to catch error reporting bugs in class fields declarations.
 // Should be an error because we have a getter overriding a function name.
 
+// @dart = 2.9
+
 class A {
   int a() { // //# 00: ok
     return 1;// //# 00: ok
diff --git a/tests/language_2/field/field_test.dart b/tests/language_2/field/field_test.dart
index 03e7085..cc8975c 100644
--- a/tests/language_2/field/field_test.dart
+++ b/tests/language_2/field/field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing setting/getting of instance fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/field/increment_bailout_test.dart b/tests/language_2/field/increment_bailout_test.dart
index 1ee4e5a..8ec5048 100644
--- a/tests/language_2/field/increment_bailout_test.dart
+++ b/tests/language_2/field/increment_bailout_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.9
+
 // dart2js regression test for issue 8781.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/field/inference_test.dart b/tests/language_2/field/inference_test.dart
index 7a0132b..ba4f160 100644
--- a/tests/language_2/field/inference_test.dart
+++ b/tests/language_2/field/inference_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.9
+
 // Regression test for dart2js and its SsaConstructionFieldTypes
 // phase.
 
diff --git a/tests/language_2/field/initialization_order_test.dart b/tests/language_2/field/initialization_order_test.dart
index dda70a7..3c9d091 100644
--- a/tests/language_2/field/initialization_order_test.dart
+++ b/tests/language_2/field/initialization_order_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.9
+
 import "package:expect/expect.dart";
 
 // Test that field initializers are evaluated in the right order.
diff --git a/tests/language_2/field/method4_test.dart b/tests/language_2/field/method4_test.dart
index c637241..9b96143 100644
--- a/tests/language_2/field/method4_test.dart
+++ b/tests/language_2/field/method4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test to catch error reporting bugs when using a field like a method.
 
+// @dart = 2.9
+
 class A {
   var foo;
   A() {
diff --git a/tests/language_2/field/method_test.dart b/tests/language_2/field/method_test.dart
index 012b60a..b311235 100644
--- a/tests/language_2/field/method_test.dart
+++ b/tests/language_2/field/method_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test. Fields can be invoked directly if they are unqualified.
 
+// @dart = 2.9
+
 class A {
   var foo;
   A() {
diff --git a/tests/language_2/field/optimization2_test.dart b/tests/language_2/field/optimization2_test.dart
index d0ee6bd..8013e35 100644
--- a/tests/language_2/field/optimization2_test.dart
+++ b/tests/language_2/field/optimization2_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program to test type-based optimization on fields.
diff --git a/tests/language_2/field/optimization3_test.dart b/tests/language_2/field/optimization3_test.dart
index bf2ec9a..a18821a 100644
--- a/tests/language_2/field/optimization3_test.dart
+++ b/tests/language_2/field/optimization3_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program to test type-based optimization on fields.
diff --git a/tests/language_2/field/optimization_test.dart b/tests/language_2/field/optimization_test.dart
index 58a1461..7779e16 100644
--- a/tests/language_2/field/optimization_test.dart
+++ b/tests/language_2/field/optimization_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program to test type-based optimization on fields.
diff --git a/tests/language_2/field/override2_test.dart b/tests/language_2/field/override2_test.dart
index d37a8ba..5aacd1d 100644
--- a/tests/language_2/field/override2_test.dart
+++ b/tests/language_2/field/override2_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.9
+
 // Test that we are accessing the right field in a method of a super
 // class, when that field is overridden.
 
diff --git a/tests/language_2/field/override3_test.dart b/tests/language_2/field/override3_test.dart
index 9b100be..ca175a7 100644
--- a/tests/language_2/field/override3_test.dart
+++ b/tests/language_2/field/override3_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.9
+
 // Test that we report a compile-time error when a static field conflicts with
 // an inherited instance member of the same name.
 
diff --git a/tests/language_2/field/override4_test.dart b/tests/language_2/field/override4_test.dart
index 0ccee61..4429c4c 100644
--- a/tests/language_2/field/override4_test.dart
+++ b/tests/language_2/field/override4_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.9
+
 // Test that we report a compile-time error when an instance field conflicts
 // with an inherited instance method of the same name.
 
diff --git a/tests/language_2/field/override_optimization_test.dart b/tests/language_2/field/override_optimization_test.dart
index ebb7656..7027a45 100644
--- a/tests/language_2/field/override_optimization_test.dart
+++ b/tests/language_2/field/override_optimization_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/field/override_test.dart b/tests/language_2/field/override_test.dart
index 187773b..b57f3d4 100644
--- a/tests/language_2/field/override_test.dart
+++ b/tests/language_2/field/override_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test overriding of fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/field/parameter_test.dart b/tests/language_2/field/parameter_test.dart
index 8363eb0..d51525a 100644
--- a/tests/language_2/field/parameter_test.dart
+++ b/tests/language_2/field/parameter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing setting/getting of instance fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/field/super_access2_test.dart b/tests/language_2/field/super_access2_test.dart
index e1decf8..84c9b62 100644
--- a/tests/language_2/field/super_access2_test.dart
+++ b/tests/language_2/field/super_access2_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.9
+
 // Tests that a super call to access a field in a super class is just a normal
 // field access.
 
diff --git a/tests/language_2/field/super_access_test.dart b/tests/language_2/field/super_access_test.dart
index 5a80ca9..8951668 100644
--- a/tests/language_2/field/super_access_test.dart
+++ b/tests/language_2/field/super_access_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.9
+
 // Tests that a super call to access a field in a super class is just a normal
 // field access.
 
diff --git a/tests/language_2/field/type_check2_test.dart b/tests/language_2/field/type_check2_test.dart
index a526be3..3189789 100644
--- a/tests/language_2/field/type_check2_test.dart
+++ b/tests/language_2/field/type_check2_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.9
+
 class A {
   A a;
 
diff --git a/tests/language_2/field/type_check_runtime_test.dart b/tests/language_2/field/type_check_runtime_test.dart
index 53fccb5..97085f2 100644
--- a/tests/language_2/field/type_check_runtime_test.dart
+++ b/tests/language_2/field/type_check_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/field/type_check_test.dart b/tests/language_2/field/type_check_test.dart
index c27d3d5..382bfdb 100644
--- a/tests/language_2/field/type_check_test.dart
+++ b/tests/language_2/field/type_check_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.9
+
 class A {
   int e;
 }
diff --git a/tests/language_2/field/wierd_name_test.dart b/tests/language_2/field/wierd_name_test.dart
index d76eaa8..1b50ebf 100644
--- a/tests/language_2/field/wierd_name_test.dart
+++ b/tests/language_2/field/wierd_name_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing setting/getting of instance fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // dart2js used to have a bug where a local called '_' in the constructor
diff --git a/tests/language_2/final/attempt_reinitialization_runtime_test.dart b/tests/language_2/final/attempt_reinitialization_runtime_test.dart
index b16a2c7..9cc11b5 100644
--- a/tests/language_2/final/attempt_reinitialization_runtime_test.dart
+++ b/tests/language_2/final/attempt_reinitialization_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/final/attempt_reinitialization_test.dart b/tests/language_2/final/attempt_reinitialization_test.dart
index 67c2de9..89cd75d 100644
--- a/tests/language_2/final/attempt_reinitialization_test.dart
+++ b/tests/language_2/final/attempt_reinitialization_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.9
+
 class Foo {
   Foo(this.x);
   //       ^
diff --git a/tests/language_2/final/field_initialization_order_test.dart b/tests/language_2/final/field_initialization_order_test.dart
index 85adacc..eb9cd2f 100644
--- a/tests/language_2/final/field_initialization_order_test.dart
+++ b/tests/language_2/final/field_initialization_order_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.9
+
 import "package:expect/expect.dart";
 
 // Test that initializers for final fields are evaluated in the right
diff --git a/tests/language_2/final/field_override_test.dart b/tests/language_2/final/field_override_test.dart
index 5548bdf..d17629f 100644
--- a/tests/language_2/final/field_override_test.dart
+++ b/tests/language_2/final/field_override_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/final/for_in_variable_test.dart b/tests/language_2/final/for_in_variable_test.dart
index 0365e67..8c5899d 100644
--- a/tests/language_2/final/for_in_variable_test.dart
+++ b/tests/language_2/final/for_in_variable_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.9
+
 main() {
   for (final i in [1, 2, 3]) {
     i = 4; /*@compile-error=unspecified*/
diff --git a/tests/language_2/final/initializer_instance_reference_test.dart b/tests/language_2/final/initializer_instance_reference_test.dart
index 1f17dfc..e61652e 100644
--- a/tests/language_2/final/initializer_instance_reference_test.dart
+++ b/tests/language_2/final/initializer_instance_reference_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.9
+
 // Dart2js regression test. Error in initializer might be report with the wrong
 // current element.
 
diff --git a/tests/language_2/final/is_not_const_test.dart b/tests/language_2/final/is_not_const_test.dart
index 798b40f..dae899e 100644
--- a/tests/language_2/final/is_not_const_test.dart
+++ b/tests/language_2/final/is_not_const_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.9
+
 import "package:expect/expect.dart";
 
 final F0 = 42;
diff --git a/tests/language_2/final/param_test.dart b/tests/language_2/final/param_test.dart
index 197e357..2bf807e 100644
--- a/tests/language_2/final/param_test.dart
+++ b/tests/language_2/final/param_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Disallow assignment of parameters marked as final.
 
+// @dart = 2.9
+
 class A {
   static void test(final x) {
     x = 2; /*@compile-error=unspecified*/
diff --git a/tests/language_2/final/super_field_set_test.dart b/tests/language_2/final/super_field_set_test.dart
index 227b272..765cbb3 100644
--- a/tests/language_2/final/super_field_set_test.dart
+++ b/tests/language_2/final/super_field_set_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.9
+
 class SuperClass {
   final field = 0;
   noSuchMethod(_) => 42;
diff --git a/tests/language_2/final/syntax_test.dart b/tests/language_2/final/syntax_test.dart
index 42b2163..c83d573 100644
--- a/tests/language_2/final/syntax_test.dart
+++ b/tests/language_2/final/syntax_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/final/used_in_try_test.dart b/tests/language_2/final/used_in_try_test.dart
index 259ba8d..3415c92 100644
--- a/tests/language_2/final/used_in_try_test.dart
+++ b/tests/language_2/final/used_in_try_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/final/variable_assignment_runtime_test.dart b/tests/language_2/final/variable_assignment_runtime_test.dart
index 1fabb8b..b4d4253 100644
--- a/tests/language_2/final/variable_assignment_runtime_test.dart
+++ b/tests/language_2/final/variable_assignment_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/final/variable_assignment_test.dart b/tests/language_2/final/variable_assignment_test.dart
index 840f0e6..9586f48 100644
--- a/tests/language_2/final/variable_assignment_test.dart
+++ b/tests/language_2/final/variable_assignment_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.9
+
 // Test to make sure we catch assignments to final local variables.
 
 main() {
diff --git a/tests/language_2/function/apply_generic2_test.dart b/tests/language_2/function/apply_generic2_test.dart
index caa7375..8bfaa55 100644
--- a/tests/language_2/function/apply_generic2_test.dart
+++ b/tests/language_2/function/apply_generic2_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.9
+
 import "package:expect/expect.dart";
 
 makeFn() {
diff --git a/tests/language_2/function/apply_generic_test.dart b/tests/language_2/function/apply_generic_test.dart
index 464f591..c5af4c1 100644
--- a/tests/language_2/function/apply_generic_test.dart
+++ b/tests/language_2/function/apply_generic_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.9
+
 import "package:expect/expect.dart";
 
 List<T> staticFn<T>(
diff --git a/tests/language_2/function/argument_test.dart b/tests/language_2/function/argument_test.dart
index f56861a..e07f5a7 100644
--- a/tests/language_2/function/argument_test.dart
+++ b/tests/language_2/function/argument_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for function passing.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class FunctionArgumentTest {
diff --git a/tests/language_2/function/call_generic_test.dart b/tests/language_2/function/call_generic_test.dart
index 3653c7a..f904806 100644
--- a/tests/language_2/function/call_generic_test.dart
+++ b/tests/language_2/function/call_generic_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // dart2jsOptions=-Ddart.isdart2js=true
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 @pragma('dart2js:noInline')
diff --git a/tests/language_2/function/field_test.dart b/tests/language_2/function/field_test.dart
index 42f6bad..2be3bae 100644
--- a/tests/language_2/function/field_test.dart
+++ b/tests/language_2/function/field_test.dart
@@ -5,6 +5,8 @@
 //
 // Test of calling Function, which is field of some class.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Wrapper {
diff --git a/tests/language_2/function/function_test.dart b/tests/language_2/function/function_test.dart
index aa5f087..8a40f58 100644
--- a/tests/language_2/function/function_test.dart
+++ b/tests/language_2/function/function_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.9
+
 import "package:expect/expect.dart";
 
 // Tests function statements and expressions.
diff --git a/tests/language_2/function/getter_test.dart b/tests/language_2/function/getter_test.dart
index efc483e..81a70a9 100644
--- a/tests/language_2/function/getter_test.dart
+++ b/tests/language_2/function/getter_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/function/literals2_test.dart b/tests/language_2/function/literals2_test.dart
index 14d71a3..0c99d59 100644
--- a/tests/language_2/function/literals2_test.dart
+++ b/tests/language_2/function/literals2_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test for new function type alias.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class FunctionLiteralsTest {
diff --git a/tests/language_2/function/literals_test.dart b/tests/language_2/function/literals_test.dart
index 2500461..f3eee9e 100644
--- a/tests/language_2/function/literals_test.dart
+++ b/tests/language_2/function/literals_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.9
+
 import "package:expect/expect.dart";
 
 /**
diff --git a/tests/language_2/function/local2_test.dart b/tests/language_2/function/local2_test.dart
index 44d2ef9..e7045da 100644
--- a/tests/language_2/function/local2_test.dart
+++ b/tests/language_2/function/local2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 typedef T F<T>(T t);
diff --git a/tests/language_2/function/local3_test.dart b/tests/language_2/function/local3_test.dart
index 0fc44b0..88d2878 100644
--- a/tests/language_2/function/local3_test.dart
+++ b/tests/language_2/function/local3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class LocalFunction3Test {
diff --git a/tests/language_2/function/local_function_test.dart b/tests/language_2/function/local_function_test.dart
index 100b7c4..982dcf9 100644
--- a/tests/language_2/function/local_function_test.dart
+++ b/tests/language_2/function/local_function_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class LocalFunctionTest {
diff --git a/tests/language_2/function/local_non_equal_test.dart b/tests/language_2/function/local_non_equal_test.dart
index 5fbaf57..8111821 100644
--- a/tests/language_2/function/local_non_equal_test.dart
+++ b/tests/language_2/function/local_non_equal_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.9
+
 import "package:expect/expect.dart";
 
 foo() => () => 42;
diff --git a/tests/language_2/function/malformed_result_type_runtime_test.dart b/tests/language_2/function/malformed_result_type_runtime_test.dart
index 02b26b4..e69b3fd 100644
--- a/tests/language_2/function/malformed_result_type_runtime_test.dart
+++ b/tests/language_2/function/malformed_result_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/function/malformed_result_type_test.dart b/tests/language_2/function/malformed_result_type_test.dart
index d149be5..99589d1 100644
--- a/tests/language_2/function/malformed_result_type_test.dart
+++ b/tests/language_2/function/malformed_result_type_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.9
+
 // Dart test for a function with a malformed result type.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/function/propagation_test.dart b/tests/language_2/function/propagation_test.dart
index 9c6f7e6..8803479 100644
--- a/tests/language_2/function/propagation_test.dart
+++ b/tests/language_2/function/propagation_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/function/regress_45601_test.dart b/tests/language_2/function/regress_45601_test.dart
index e1a8c19..758623a 100644
--- a/tests/language_2/function/regress_45601_test.dart
+++ b/tests/language_2/function/regress_45601_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for https://github.com/dart-lang/sdk/issues/45601
diff --git a/tests/language_2/function/syntax_test.dart b/tests/language_2/function/syntax_test.dart
index 3baf2df..f2529f0 100644
--- a/tests/language_2/function/syntax_test.dart
+++ b/tests/language_2/function/syntax_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.9
+
 import "package:expect/expect.dart";
 
 // Tests function statement and expression syntax.
diff --git a/tests/language_2/function/type2_test.dart b/tests/language_2/function/type2_test.dart
index 42ca6ff..dcfa499 100644
--- a/tests/language_2/function/type2_test.dart
+++ b/tests/language_2/function/type2_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/function/type3_test.dart b/tests/language_2/function/type3_test.dart
index 75322bc..c5d09dd 100644
--- a/tests/language_2/function/type3_test.dart
+++ b/tests/language_2/function/type3_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/function/type_alias10_test.dart b/tests/language_2/function/type_alias10_test.dart
index cc48705..5f2add1 100644
--- a/tests/language_2/function/type_alias10_test.dart
+++ b/tests/language_2/function/type_alias10_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/30912.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/function/type_alias2_test.dart b/tests/language_2/function/type_alias2_test.dart
index fdc0b00..ac35279 100644
--- a/tests/language_2/function/type_alias2_test.dart
+++ b/tests/language_2/function/type_alias2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--enable_type_checks
 
+// @dart = 2.9
+
 // Dart test for function type alias with optional parameters.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/function/type_alias3_test.dart b/tests/language_2/function/type_alias3_test.dart
index 01b82f4..1d24143 100644
--- a/tests/language_2/function/type_alias3_test.dart
+++ b/tests/language_2/function/type_alias3_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.9
+
 // Dart test for function type alias with an imported result type that happens
 // to have the same name as a type parameter.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/function/type_alias4_test.dart b/tests/language_2/function/type_alias4_test.dart
index 3d68fd4..5e0e652 100644
--- a/tests/language_2/function/type_alias4_test.dart
+++ b/tests/language_2/function/type_alias4_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.9
+
 // Dart test for function type alias with a type parameter as result type.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/function/type_alias5_test.dart b/tests/language_2/function/type_alias5_test.dart
index 40d6309..42d10e6 100644
--- a/tests/language_2/function/type_alias5_test.dart
+++ b/tests/language_2/function/type_alias5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for illegally self referencing function type alias.
 
+// @dart = 2.9
+
 typedef Handle Handle(String command); //# 00: compile-time error
 
 typedef F(F x); //# 01: compile-time error
diff --git a/tests/language_2/function/type_alias6_runtime_test.dart b/tests/language_2/function/type_alias6_runtime_test.dart
index 7b54ee4..4017e5b 100644
--- a/tests/language_2/function/type_alias6_runtime_test.dart
+++ b/tests/language_2/function/type_alias6_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/function/type_alias6_test.dart b/tests/language_2/function/type_alias6_test.dart
index 8a27555..b9a8704 100644
--- a/tests/language_2/function/type_alias6_test.dart
+++ b/tests/language_2/function/type_alias6_test.dart
@@ -3,10 +3,12 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for legally self referencing function type alias.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 typedef F(List<F> x);
-// [error line 8, column 1, length 21]
+// [error line 10, column 1, length 21]
 // [analyzer] COMPILE_TIME_ERROR.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
 //      ^
 // [cfe] The typedef 'F' has a reference to itself.
diff --git a/tests/language_2/function/type_alias7_test.dart b/tests/language_2/function/type_alias7_test.dart
index 79bd6e7..49616a9 100644
--- a/tests/language_2/function/type_alias7_test.dart
+++ b/tests/language_2/function/type_alias7_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.9
+
 typedef void funcType([int arg]);
 
 typedef void badFuncType([int arg = 0]); //# 00: compile-time error
diff --git a/tests/language_2/function/type_alias8_test.dart b/tests/language_2/function/type_alias8_test.dart
index 10f3f8e..9b93f34 100644
--- a/tests/language_2/function/type_alias8_test.dart
+++ b/tests/language_2/function/type_alias8_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.9
+
 // Regression test for issue 9442.
 
 typedef dynamic GetFromThing<T extends Thing>(T target);
diff --git a/tests/language_2/function/type_alias9_runtime_test.dart b/tests/language_2/function/type_alias9_runtime_test.dart
index 366a477..ffab778 100644
--- a/tests/language_2/function/type_alias9_runtime_test.dart
+++ b/tests/language_2/function/type_alias9_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/function/type_alias9_test.dart b/tests/language_2/function/type_alias9_test.dart
index fa15400..bfb0db5 100644
--- a/tests/language_2/function/type_alias9_test.dart
+++ b/tests/language_2/function/type_alias9_test.dart
@@ -3,13 +3,15 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for legally self referencing function type alias.
 
+// @dart = 2.9
+
 typedef void F(List<G> l);
-// [error line 6, column 1, length 26]
+// [error line 8, column 1, length 26]
 // [analyzer] COMPILE_TIME_ERROR.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
 //           ^
 // [cfe] The typedef 'F' has a reference to itself.
 typedef void G(List<F> l);
-// [error line 11, column 1, length 26]
+// [error line 13, column 1, length 26]
 // [analyzer] COMPILE_TIME_ERROR.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
 
 main() {
diff --git a/tests/language_2/function/type_alias_test.dart b/tests/language_2/function/type_alias_test.dart
index b725a5f..4ecdbf7 100644
--- a/tests/language_2/function/type_alias_test.dart
+++ b/tests/language_2/function/type_alias_test.dart
@@ -5,6 +5,8 @@
 //
 // Dart test for function type alias.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 typedef Fun(Null a, Null b);
diff --git a/tests/language_2/function/type_call_getter2_runtime_test.dart b/tests/language_2/function/type_call_getter2_runtime_test.dart
index 689328b..5cbfd1f 100644
--- a/tests/language_2/function/type_call_getter2_runtime_test.dart
+++ b/tests/language_2/function/type_call_getter2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/function/type_call_getter2_test.dart b/tests/language_2/function/type_call_getter2_test.dart
index 789f22e..023b14c 100644
--- a/tests/language_2/function/type_call_getter2_test.dart
+++ b/tests/language_2/function/type_call_getter2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/function/type_call_getter_test.dart b/tests/language_2/function/type_call_getter_test.dart
index 52ecbaa..792fd39 100644
--- a/tests/language_2/function/type_call_getter_test.dart
+++ b/tests/language_2/function/type_call_getter_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/function/type_in_constant_test.dart b/tests/language_2/function/type_in_constant_test.dart
index ca9db12..9b967ef 100644
--- a/tests/language_2/function/type_in_constant_test.dart
+++ b/tests/language_2/function/type_in_constant_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.9
+
 /// Test that consts can be created with inlined function types as type
 /// arguments.
 
diff --git a/tests/language_2/function/type_parameter2_test.dart b/tests/language_2/function/type_parameter2_test.dart
index c3fd41b..0ca6000 100644
--- a/tests/language_2/function/type_parameter2_test.dart
+++ b/tests/language_2/function/type_parameter2_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.9
+
 // Test to check that we can parse closure type formal parameters with
 // default value.
 
diff --git a/tests/language_2/function/type_parameter3_test.dart b/tests/language_2/function/type_parameter3_test.dart
index cb79201..67a06c9 100644
--- a/tests/language_2/function/type_parameter3_test.dart
+++ b/tests/language_2/function/type_parameter3_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.9
+
 /// Test that we detect that a function literal is not
 /// a compile time constant.
 
diff --git a/tests/language_2/function/type_parameter_bound_object_test.dart b/tests/language_2/function/type_parameter_bound_object_test.dart
index ba58f75..f20d2fb 100644
--- a/tests/language_2/function/type_parameter_bound_object_test.dart
+++ b/tests/language_2/function/type_parameter_bound_object_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.9
+
 Q hest<Q>(dynamic x) {
   if (x is Q) return x;
   return null;
diff --git a/tests/language_2/function/type_parameter_test.dart b/tests/language_2/function/type_parameter_test.dart
index 586f836..0393ed5 100644
--- a/tests/language_2/function/type_parameter_test.dart
+++ b/tests/language_2/function/type_parameter_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.9
+
 import "package:expect/expect.dart";
 
 // Test to check that we can parse closure type formal parameters with
diff --git a/tests/language_2/function/type_test.dart b/tests/language_2/function/type_test.dart
index 0812e71..96c2550 100644
--- a/tests/language_2/function/type_test.dart
+++ b/tests/language_2/function/type_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.9
+
 // Dart test for a function type test that cannot be eliminated at compile time.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/function/type_this_parameter_test.dart b/tests/language_2/function/type_this_parameter_test.dart
index 4ce65c7..78b5f3c 100644
--- a/tests/language_2/function/type_this_parameter_test.dart
+++ b/tests/language_2/function/type_this_parameter_test.dart
@@ -4,6 +4,8 @@
 // Check that function types are accepted for constructor arguments that
 // initialize fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/function_subtype/bound_closure0_test.dart b/tests/language_2/function_subtype/bound_closure0_test.dart
index fc993e02..394f8af 100644
--- a/tests/language_2/function_subtype/bound_closure0_test.dart
+++ b/tests/language_2/function_subtype/bound_closure0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/bound_closure1_test.dart b/tests/language_2/function_subtype/bound_closure1_test.dart
index 01363e0..4c84632 100644
--- a/tests/language_2/function_subtype/bound_closure1_test.dart
+++ b/tests/language_2/function_subtype/bound_closure1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures against generic typedefs.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/bound_closure2_test.dart b/tests/language_2/function_subtype/bound_closure2_test.dart
index d8f4a40..db2f3ac 100644
--- a/tests/language_2/function_subtype/bound_closure2_test.dart
+++ b/tests/language_2/function_subtype/bound_closure2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/bound_closure3_test.dart b/tests/language_2/function_subtype/bound_closure3_test.dart
index 471f2ca..50adafb 100644
--- a/tests/language_2/function_subtype/bound_closure3_test.dart
+++ b/tests/language_2/function_subtype/bound_closure3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for generic bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/bound_closure4_test.dart b/tests/language_2/function_subtype/bound_closure4_test.dart
index a48fb94..25f436e 100644
--- a/tests/language_2/function_subtype/bound_closure4_test.dart
+++ b/tests/language_2/function_subtype/bound_closure4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for generic bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/bound_closure5_test.dart b/tests/language_2/function_subtype/bound_closure5_test.dart
index 4c6d36c..29e8a81 100644
--- a/tests/language_2/function_subtype/bound_closure5_test.dart
+++ b/tests/language_2/function_subtype/bound_closure5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/bound_closure5a_test.dart b/tests/language_2/function_subtype/bound_closure5a_test.dart
index 6b240ed..57d7858 100644
--- a/tests/language_2/function_subtype/bound_closure5a_test.dart
+++ b/tests/language_2/function_subtype/bound_closure5a_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/bound_closure6_test.dart b/tests/language_2/function_subtype/bound_closure6_test.dart
index 721d78b..34e71ea4 100644
--- a/tests/language_2/function_subtype/bound_closure6_test.dart
+++ b/tests/language_2/function_subtype/bound_closure6_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/bound_closure7_test.dart b/tests/language_2/function_subtype/bound_closure7_test.dart
index 2e16207..a9a7060 100644
--- a/tests/language_2/function_subtype/bound_closure7_test.dart
+++ b/tests/language_2/function_subtype/bound_closure7_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/call0_test.dart b/tests/language_2/function_subtype/call0_test.dart
index bacced1..ad24bb2 100644
--- a/tests/language_2/function_subtype/call0_test.dart
+++ b/tests/language_2/function_subtype/call0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for classes with call functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/call1_test.dart b/tests/language_2/function_subtype/call1_test.dart
index 179f9f0..0df346a 100644
--- a/tests/language_2/function_subtype/call1_test.dart
+++ b/tests/language_2/function_subtype/call1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for classes with call functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/call2_test.dart b/tests/language_2/function_subtype/call2_test.dart
index ed16fe7..da64f65 100644
--- a/tests/language_2/function_subtype/call2_test.dart
+++ b/tests/language_2/function_subtype/call2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for classes with call functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/call_type_variable_test.dart b/tests/language_2/function_subtype/call_type_variable_test.dart
index dc1a811..a33cea3 100644
--- a/tests/language_2/function_subtype/call_type_variable_test.dart
+++ b/tests/language_2/function_subtype/call_type_variable_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.9
+
 import "package:expect/expect.dart";
 
 // Test that it is possible to invoke an object whose type is a proper subtype
diff --git a/tests/language_2/function_subtype/cast0_test.dart b/tests/language_2/function_subtype/cast0_test.dart
index f93ffc8..4a8b80c 100644
--- a/tests/language_2/function_subtype/cast0_test.dart
+++ b/tests/language_2/function_subtype/cast0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping casts.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/cast1_test.dart b/tests/language_2/function_subtype/cast1_test.dart
index e23eb0f..d98d2cb 100644
--- a/tests/language_2/function_subtype/cast1_test.dart
+++ b/tests/language_2/function_subtype/cast1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping casts.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/cast2_test.dart b/tests/language_2/function_subtype/cast2_test.dart
index 123af74..b71394f 100644
--- a/tests/language_2/function_subtype/cast2_test.dart
+++ b/tests/language_2/function_subtype/cast2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping casts.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/cast3_test.dart b/tests/language_2/function_subtype/cast3_test.dart
index ec222ac..801f0fe 100644
--- a/tests/language_2/function_subtype/cast3_test.dart
+++ b/tests/language_2/function_subtype/cast3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping casts.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/checked0_test.dart b/tests/language_2/function_subtype/checked0_test.dart
index 0ded8d0..9cc46de 100644
--- a/tests/language_2/function_subtype/checked0_test.dart
+++ b/tests/language_2/function_subtype/checked0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of typedef vs. inlined function types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/closure0_test.dart b/tests/language_2/function_subtype/closure0_test.dart
index 42125a2..4bc8462 100644
--- a/tests/language_2/function_subtype/closure0_test.dart
+++ b/tests/language_2/function_subtype/closure0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of static functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/closure1_test.dart b/tests/language_2/function_subtype/closure1_test.dart
index 098f4f5..8f1fccfd 100644
--- a/tests/language_2/function_subtype/closure1_test.dart
+++ b/tests/language_2/function_subtype/closure1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of dynamic closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/factory0_test.dart b/tests/language_2/function_subtype/factory0_test.dart
index 91d6056..acda285 100644
--- a/tests/language_2/function_subtype/factory0_test.dart
+++ b/tests/language_2/function_subtype/factory0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping with type variables in factory constructors.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/factory1_test.dart b/tests/language_2/function_subtype/factory1_test.dart
index dd7022a..79f8e9a 100644
--- a/tests/language_2/function_subtype/factory1_test.dart
+++ b/tests/language_2/function_subtype/factory1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping with type variables in factory constructors.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/function_subtype0_test.dart b/tests/language_2/function_subtype/function_subtype0_test.dart
index 1a39d92..86fdab1 100644
--- a/tests/language_2/function_subtype/function_subtype0_test.dart
+++ b/tests/language_2/function_subtype/function_subtype0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/function_subtype1_test.dart b/tests/language_2/function_subtype/function_subtype1_test.dart
index a7bd199..b7b7b65 100644
--- a/tests/language_2/function_subtype/function_subtype1_test.dart
+++ b/tests/language_2/function_subtype/function_subtype1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/function_subtype2_test.dart b/tests/language_2/function_subtype/function_subtype2_test.dart
index 0f92421..571cd8e 100644
--- a/tests/language_2/function_subtype/function_subtype2_test.dart
+++ b/tests/language_2/function_subtype/function_subtype2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for optional parameters.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/function_subtype3_test.dart b/tests/language_2/function_subtype/function_subtype3_test.dart
index 09bc65f..9a7f30a 100644
--- a/tests/language_2/function_subtype/function_subtype3_test.dart
+++ b/tests/language_2/function_subtype/function_subtype3_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.9
+
 import 'package:expect/expect.dart';
 
 class FunctionLike<T> {
diff --git a/tests/language_2/function_subtype/inline0_test.dart b/tests/language_2/function_subtype/inline0_test.dart
index 3e1db32..19edeed 100644
--- a/tests/language_2/function_subtype/inline0_test.dart
+++ b/tests/language_2/function_subtype/inline0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for generic bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/inline1_test.dart b/tests/language_2/function_subtype/inline1_test.dart
index 487c63d..55e1414 100644
--- a/tests/language_2/function_subtype/inline1_test.dart
+++ b/tests/language_2/function_subtype/inline1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/inline2_test.dart b/tests/language_2/function_subtype/inline2_test.dart
index 80ab193..95a9e92 100644
--- a/tests/language_2/function_subtype/inline2_test.dart
+++ b/tests/language_2/function_subtype/inline2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of inlined function typed parameters.
 
 import '../dynamic_type_helper.dart';
diff --git a/tests/language_2/function_subtype/local0_test.dart b/tests/language_2/function_subtype/local0_test.dart
index 51d3269..f8805c2 100644
--- a/tests/language_2/function_subtype/local0_test.dart
+++ b/tests/language_2/function_subtype/local0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for local functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/local1_test.dart b/tests/language_2/function_subtype/local1_test.dart
index 83f9350..9f05b28 100644
--- a/tests/language_2/function_subtype/local1_test.dart
+++ b/tests/language_2/function_subtype/local1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for local functions against generic typedefs.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/local2_test.dart b/tests/language_2/function_subtype/local2_test.dart
index 0f774fb..7ea39c8 100644
--- a/tests/language_2/function_subtype/local2_test.dart
+++ b/tests/language_2/function_subtype/local2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for local functions on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/local3_test.dart b/tests/language_2/function_subtype/local3_test.dart
index e491dde..dcb9d9a 100644
--- a/tests/language_2/function_subtype/local3_test.dart
+++ b/tests/language_2/function_subtype/local3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for generic bound closures.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/local4_test.dart b/tests/language_2/function_subtype/local4_test.dart
index 5219757..1a66f21 100644
--- a/tests/language_2/function_subtype/local4_test.dart
+++ b/tests/language_2/function_subtype/local4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for generic bound closures. This also tests
 // type argument substitution.
 
diff --git a/tests/language_2/function_subtype/local5_test.dart b/tests/language_2/function_subtype/local5_test.dart
index 00f18af..450174f 100644
--- a/tests/language_2/function_subtype/local5_test.dart
+++ b/tests/language_2/function_subtype/local5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for local functions on generic type against generic
 // typedefs.
 
diff --git a/tests/language_2/function_subtype/local6_test.dart b/tests/language_2/function_subtype/local6_test.dart
index 95817d1..9ef9ac6 100644
--- a/tests/language_2/function_subtype/local6_test.dart
+++ b/tests/language_2/function_subtype/local6_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for constructors and initializers.
 // VMOptions=--no-eliminate-type-checks
 
+// @dart = 2.9
+
 // Regression test for issue 12127.
 
 class C<T> {
diff --git a/tests/language_2/function_subtype/named1_test.dart b/tests/language_2/function_subtype/named1_test.dart
index 917d3c8..0934c5a 100644
--- a/tests/language_2/function_subtype/named1_test.dart
+++ b/tests/language_2/function_subtype/named1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/named2_test.dart b/tests/language_2/function_subtype/named2_test.dart
index c74a4d4..c24ec8d 100644
--- a/tests/language_2/function_subtype/named2_test.dart
+++ b/tests/language_2/function_subtype/named2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/not0_test.dart b/tests/language_2/function_subtype/not0_test.dart
index 4959ece..8b06b8b 100644
--- a/tests/language_2/function_subtype/not0_test.dart
+++ b/tests/language_2/function_subtype/not0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check negative function subtyping tests.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/not1_test.dart b/tests/language_2/function_subtype/not1_test.dart
index 431bb76..b4fbaac 100644
--- a/tests/language_2/function_subtype/not1_test.dart
+++ b/tests/language_2/function_subtype/not1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check negative function subtyping tests.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/not2_test.dart b/tests/language_2/function_subtype/not2_test.dart
index 218c04d..cd1120e 100644
--- a/tests/language_2/function_subtype/not2_test.dart
+++ b/tests/language_2/function_subtype/not2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check negative function subtyping tests.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/not3_test.dart b/tests/language_2/function_subtype/not3_test.dart
index 07c40ea..dde3cd1 100644
--- a/tests/language_2/function_subtype/not3_test.dart
+++ b/tests/language_2/function_subtype/not3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check negative function subtyping tests.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/null.dart b/tests/language_2/function_subtype/null.dart
index 44bdec4..a11cde3 100644
--- a/tests/language_2/function_subtype/null.dart
+++ b/tests/language_2/function_subtype/null.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for null.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/optional1_test.dart b/tests/language_2/function_subtype/optional1_test.dart
index be14976..8ba13ec 100644
--- a/tests/language_2/function_subtype/optional1_test.dart
+++ b/tests/language_2/function_subtype/optional1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/optional2_test.dart b/tests/language_2/function_subtype/optional2_test.dart
index 197dc0c..b2101f6 100644
--- a/tests/language_2/function_subtype/optional2_test.dart
+++ b/tests/language_2/function_subtype/optional2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/regress41680_test.dart b/tests/language_2/function_subtype/regress41680_test.dart
index 696e9ec..f37f573 100644
--- a/tests/language_2/function_subtype/regress41680_test.dart
+++ b/tests/language_2/function_subtype/regress41680_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.9
+
 // [NNBD non-migrated]: This test is migrated to regress41680_strong_test.dart
 // and regress41680_weak_test.dart.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/function_subtype/regression_ddc_588_test.dart b/tests/language_2/function_subtype/regression_ddc_588_test.dart
index a55dd6d..6ac60ac 100644
--- a/tests/language_2/function_subtype/regression_ddc_588_test.dart
+++ b/tests/language_2/function_subtype/regression_ddc_588_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 // regression test for ddc #588
diff --git a/tests/language_2/function_subtype/setter0_test.dart b/tests/language_2/function_subtype/setter0_test.dart
index fcc848b..d052b62 100644
--- a/tests/language_2/function_subtype/setter0_test.dart
+++ b/tests/language_2/function_subtype/setter0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for implicit setters.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/simple0_test.dart b/tests/language_2/function_subtype/simple0_test.dart
index 929be52..a8671c7 100644
--- a/tests/language_2/function_subtype/simple0_test.dart
+++ b/tests/language_2/function_subtype/simple0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of simple function types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/simple1_test.dart b/tests/language_2/function_subtype/simple1_test.dart
index 1d0b053..a35751a 100644
--- a/tests/language_2/function_subtype/simple1_test.dart
+++ b/tests/language_2/function_subtype/simple1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of simple function types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/simple2_test.dart b/tests/language_2/function_subtype/simple2_test.dart
index 119869b..9eb7549 100644
--- a/tests/language_2/function_subtype/simple2_test.dart
+++ b/tests/language_2/function_subtype/simple2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of simple function types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/top_level0_test.dart b/tests/language_2/function_subtype/top_level0_test.dart
index ddc66f3..491dbfb 100644
--- a/tests/language_2/function_subtype/top_level0_test.dart
+++ b/tests/language_2/function_subtype/top_level0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for top level functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/top_level1_test.dart b/tests/language_2/function_subtype/top_level1_test.dart
index d522349..0334e76 100644
--- a/tests/language_2/function_subtype/top_level1_test.dart
+++ b/tests/language_2/function_subtype/top_level1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping for top level functions.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/typearg0_test.dart b/tests/language_2/function_subtype/typearg0_test.dart
index ef39ba9..f1eb40d 100644
--- a/tests/language_2/function_subtype/typearg0_test.dart
+++ b/tests/language_2/function_subtype/typearg0_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping with type variables in factory constructors.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/typearg1_test.dart b/tests/language_2/function_subtype/typearg1_test.dart
index 1d6e473..8e48557 100644
--- a/tests/language_2/function_subtype/typearg1_test.dart
+++ b/tests/language_2/function_subtype/typearg1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of type arguments.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/typearg2_test.dart b/tests/language_2/function_subtype/typearg2_test.dart
index e23c88f..2a60811 100644
--- a/tests/language_2/function_subtype/typearg2_test.dart
+++ b/tests/language_2/function_subtype/typearg2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of type arguments.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/typearg3_test.dart b/tests/language_2/function_subtype/typearg3_test.dart
index b2208af..8af7af9 100644
--- a/tests/language_2/function_subtype/typearg3_test.dart
+++ b/tests/language_2/function_subtype/typearg3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check function subtyping of type arguments.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/function_subtype/typearg5_test.dart b/tests/language_2/function_subtype/typearg5_test.dart
index bd6e2bd..bcada20 100644
--- a/tests/language_2/function_subtype/typearg5_test.dart
+++ b/tests/language_2/function_subtype/typearg5_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.9
+
 // Check function subtyping of type arguments. These cases use typedefs as type
 // arguments, and the typedefs have type parameters that are used more than
 // once.
diff --git a/tests/language_2/function_type/function_type0_test.dart b/tests/language_2/function_type/function_type0_test.dart
index 9bcf990..3678a19 100644
--- a/tests/language_2/function_type/function_type0_test.dart
+++ b/tests/language_2/function_type/function_type0_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type10_test.dart b/tests/language_2/function_type/function_type10_test.dart
index 9ec7737..d54897a 100644
--- a/tests/language_2/function_type/function_type10_test.dart
+++ b/tests/language_2/function_type/function_type10_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type11_test.dart b/tests/language_2/function_type/function_type11_test.dart
index 202a918..8f3439c 100644
--- a/tests/language_2/function_type/function_type11_test.dart
+++ b/tests/language_2/function_type/function_type11_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type12_test.dart b/tests/language_2/function_type/function_type12_test.dart
index c5eecf5..24eefa3 100644
--- a/tests/language_2/function_type/function_type12_test.dart
+++ b/tests/language_2/function_type/function_type12_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type13_test.dart b/tests/language_2/function_type/function_type13_test.dart
index e97c219..4c47ae7 100644
--- a/tests/language_2/function_type/function_type13_test.dart
+++ b/tests/language_2/function_type/function_type13_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type14_test.dart b/tests/language_2/function_type/function_type14_test.dart
index 0e5cb1a..15bc6c9 100644
--- a/tests/language_2/function_type/function_type14_test.dart
+++ b/tests/language_2/function_type/function_type14_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type15_test.dart b/tests/language_2/function_type/function_type15_test.dart
index b1c26fa..69bcf21 100644
--- a/tests/language_2/function_type/function_type15_test.dart
+++ b/tests/language_2/function_type/function_type15_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type16_test.dart b/tests/language_2/function_type/function_type16_test.dart
index fb657f2..e64fc26 100644
--- a/tests/language_2/function_type/function_type16_test.dart
+++ b/tests/language_2/function_type/function_type16_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type17_test.dart b/tests/language_2/function_type/function_type17_test.dart
index 058d1c1..8fdee38 100644
--- a/tests/language_2/function_type/function_type17_test.dart
+++ b/tests/language_2/function_type/function_type17_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type18_test.dart b/tests/language_2/function_type/function_type18_test.dart
index e336db6..c1c9bcb 100644
--- a/tests/language_2/function_type/function_type18_test.dart
+++ b/tests/language_2/function_type/function_type18_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type19_test.dart b/tests/language_2/function_type/function_type19_test.dart
index 2639304..546f1ab 100644
--- a/tests/language_2/function_type/function_type19_test.dart
+++ b/tests/language_2/function_type/function_type19_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type1_test.dart b/tests/language_2/function_type/function_type1_test.dart
index 7d3515a..7e267fd 100644
--- a/tests/language_2/function_type/function_type1_test.dart
+++ b/tests/language_2/function_type/function_type1_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type20_test.dart b/tests/language_2/function_type/function_type20_test.dart
index 446bf0a..ab83275 100644
--- a/tests/language_2/function_type/function_type20_test.dart
+++ b/tests/language_2/function_type/function_type20_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type21_test.dart b/tests/language_2/function_type/function_type21_test.dart
index 0e9eed4..163cb84 100644
--- a/tests/language_2/function_type/function_type21_test.dart
+++ b/tests/language_2/function_type/function_type21_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type22_test.dart b/tests/language_2/function_type/function_type22_test.dart
index a746455..f4df66f 100644
--- a/tests/language_2/function_type/function_type22_test.dart
+++ b/tests/language_2/function_type/function_type22_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type23_test.dart b/tests/language_2/function_type/function_type23_test.dart
index da420f9..9d8ea27 100644
--- a/tests/language_2/function_type/function_type23_test.dart
+++ b/tests/language_2/function_type/function_type23_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type24_test.dart b/tests/language_2/function_type/function_type24_test.dart
index ab89f88..458c3c5 100644
--- a/tests/language_2/function_type/function_type24_test.dart
+++ b/tests/language_2/function_type/function_type24_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type25_test.dart b/tests/language_2/function_type/function_type25_test.dart
index dfa26f3..567f2aa 100644
--- a/tests/language_2/function_type/function_type25_test.dart
+++ b/tests/language_2/function_type/function_type25_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type26_test.dart b/tests/language_2/function_type/function_type26_test.dart
index 5d6141a..8c5f5ce 100644
--- a/tests/language_2/function_type/function_type26_test.dart
+++ b/tests/language_2/function_type/function_type26_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type27_test.dart b/tests/language_2/function_type/function_type27_test.dart
index 79a07bd7..ef6da7f 100644
--- a/tests/language_2/function_type/function_type27_test.dart
+++ b/tests/language_2/function_type/function_type27_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type28_test.dart b/tests/language_2/function_type/function_type28_test.dart
index f40ad19..c885055 100644
--- a/tests/language_2/function_type/function_type28_test.dart
+++ b/tests/language_2/function_type/function_type28_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type29_test.dart b/tests/language_2/function_type/function_type29_test.dart
index dfc8fdf..81740b1 100644
--- a/tests/language_2/function_type/function_type29_test.dart
+++ b/tests/language_2/function_type/function_type29_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type2_test.dart b/tests/language_2/function_type/function_type2_test.dart
index bb0b4f0..ed1eab9 100644
--- a/tests/language_2/function_type/function_type2_test.dart
+++ b/tests/language_2/function_type/function_type2_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type30_test.dart b/tests/language_2/function_type/function_type30_test.dart
index 5662b44..3fbb971 100644
--- a/tests/language_2/function_type/function_type30_test.dart
+++ b/tests/language_2/function_type/function_type30_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type31_test.dart b/tests/language_2/function_type/function_type31_test.dart
index 29248f9..0009980 100644
--- a/tests/language_2/function_type/function_type31_test.dart
+++ b/tests/language_2/function_type/function_type31_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type32_test.dart b/tests/language_2/function_type/function_type32_test.dart
index 0186636..2714ce9 100644
--- a/tests/language_2/function_type/function_type32_test.dart
+++ b/tests/language_2/function_type/function_type32_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type33_test.dart b/tests/language_2/function_type/function_type33_test.dart
index 78c3361..17ad658 100644
--- a/tests/language_2/function_type/function_type33_test.dart
+++ b/tests/language_2/function_type/function_type33_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type34_test.dart b/tests/language_2/function_type/function_type34_test.dart
index 0a8f873..1bc1dda 100644
--- a/tests/language_2/function_type/function_type34_test.dart
+++ b/tests/language_2/function_type/function_type34_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type35_test.dart b/tests/language_2/function_type/function_type35_test.dart
index 9894b76..f9362f0 100644
--- a/tests/language_2/function_type/function_type35_test.dart
+++ b/tests/language_2/function_type/function_type35_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type36_test.dart b/tests/language_2/function_type/function_type36_test.dart
index fda0c2d..5ba9e98 100644
--- a/tests/language_2/function_type/function_type36_test.dart
+++ b/tests/language_2/function_type/function_type36_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type37_test.dart b/tests/language_2/function_type/function_type37_test.dart
index cb342f4..9f2b14d 100644
--- a/tests/language_2/function_type/function_type37_test.dart
+++ b/tests/language_2/function_type/function_type37_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type38_test.dart b/tests/language_2/function_type/function_type38_test.dart
index b21a02f..26cc22a 100644
--- a/tests/language_2/function_type/function_type38_test.dart
+++ b/tests/language_2/function_type/function_type38_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type39_test.dart b/tests/language_2/function_type/function_type39_test.dart
index b42345c..a079267 100644
--- a/tests/language_2/function_type/function_type39_test.dart
+++ b/tests/language_2/function_type/function_type39_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type3_test.dart b/tests/language_2/function_type/function_type3_test.dart
index 5a6511e..52ae455 100644
--- a/tests/language_2/function_type/function_type3_test.dart
+++ b/tests/language_2/function_type/function_type3_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type40_test.dart b/tests/language_2/function_type/function_type40_test.dart
index e19b28b..9bf6910 100644
--- a/tests/language_2/function_type/function_type40_test.dart
+++ b/tests/language_2/function_type/function_type40_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type41_test.dart b/tests/language_2/function_type/function_type41_test.dart
index e7cacec..784144b 100644
--- a/tests/language_2/function_type/function_type41_test.dart
+++ b/tests/language_2/function_type/function_type41_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type42_test.dart b/tests/language_2/function_type/function_type42_test.dart
index be92a16..b7bd2e9 100644
--- a/tests/language_2/function_type/function_type42_test.dart
+++ b/tests/language_2/function_type/function_type42_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type43_test.dart b/tests/language_2/function_type/function_type43_test.dart
index 31f94f2..e7171e8 100644
--- a/tests/language_2/function_type/function_type43_test.dart
+++ b/tests/language_2/function_type/function_type43_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type44_test.dart b/tests/language_2/function_type/function_type44_test.dart
index 2af4fd2..8b470c3 100644
--- a/tests/language_2/function_type/function_type44_test.dart
+++ b/tests/language_2/function_type/function_type44_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type45_test.dart b/tests/language_2/function_type/function_type45_test.dart
index 70af4a7..6282399 100644
--- a/tests/language_2/function_type/function_type45_test.dart
+++ b/tests/language_2/function_type/function_type45_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type46_test.dart b/tests/language_2/function_type/function_type46_test.dart
index 60760e3..7349efb 100644
--- a/tests/language_2/function_type/function_type46_test.dart
+++ b/tests/language_2/function_type/function_type46_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type47_test.dart b/tests/language_2/function_type/function_type47_test.dart
index 999e76c..3a49d25 100644
--- a/tests/language_2/function_type/function_type47_test.dart
+++ b/tests/language_2/function_type/function_type47_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type48_test.dart b/tests/language_2/function_type/function_type48_test.dart
index da44e79..07487ca 100644
--- a/tests/language_2/function_type/function_type48_test.dart
+++ b/tests/language_2/function_type/function_type48_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type49_test.dart b/tests/language_2/function_type/function_type49_test.dart
index 8e7e84b..570f24e 100644
--- a/tests/language_2/function_type/function_type49_test.dart
+++ b/tests/language_2/function_type/function_type49_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type4_test.dart b/tests/language_2/function_type/function_type4_test.dart
index 6eafe68..0d8bf38 100644
--- a/tests/language_2/function_type/function_type4_test.dart
+++ b/tests/language_2/function_type/function_type4_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type50_test.dart b/tests/language_2/function_type/function_type50_test.dart
index ca0d344..43fd72e 100644
--- a/tests/language_2/function_type/function_type50_test.dart
+++ b/tests/language_2/function_type/function_type50_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type51_test.dart b/tests/language_2/function_type/function_type51_test.dart
index e642bb5..a466411 100644
--- a/tests/language_2/function_type/function_type51_test.dart
+++ b/tests/language_2/function_type/function_type51_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type52_test.dart b/tests/language_2/function_type/function_type52_test.dart
index 3df824e..1cd849b 100644
--- a/tests/language_2/function_type/function_type52_test.dart
+++ b/tests/language_2/function_type/function_type52_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type53_test.dart b/tests/language_2/function_type/function_type53_test.dart
index fc6c8ca..b16845f 100644
--- a/tests/language_2/function_type/function_type53_test.dart
+++ b/tests/language_2/function_type/function_type53_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type54_test.dart b/tests/language_2/function_type/function_type54_test.dart
index a940fdc..bf5da70 100644
--- a/tests/language_2/function_type/function_type54_test.dart
+++ b/tests/language_2/function_type/function_type54_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type55_test.dart b/tests/language_2/function_type/function_type55_test.dart
index 333f42b..2c771d2 100644
--- a/tests/language_2/function_type/function_type55_test.dart
+++ b/tests/language_2/function_type/function_type55_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type56_test.dart b/tests/language_2/function_type/function_type56_test.dart
index 622b5d5..4a805e9 100644
--- a/tests/language_2/function_type/function_type56_test.dart
+++ b/tests/language_2/function_type/function_type56_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type57_test.dart b/tests/language_2/function_type/function_type57_test.dart
index ecf15d4..869755c 100644
--- a/tests/language_2/function_type/function_type57_test.dart
+++ b/tests/language_2/function_type/function_type57_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type58_test.dart b/tests/language_2/function_type/function_type58_test.dart
index 52ceae9..afcd6ff 100644
--- a/tests/language_2/function_type/function_type58_test.dart
+++ b/tests/language_2/function_type/function_type58_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type59_test.dart b/tests/language_2/function_type/function_type59_test.dart
index 4431f9b..c92f612 100644
--- a/tests/language_2/function_type/function_type59_test.dart
+++ b/tests/language_2/function_type/function_type59_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type5_test.dart b/tests/language_2/function_type/function_type5_test.dart
index b159028..ef9245a 100644
--- a/tests/language_2/function_type/function_type5_test.dart
+++ b/tests/language_2/function_type/function_type5_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type60_test.dart b/tests/language_2/function_type/function_type60_test.dart
index dae537b..0f85e50 100644
--- a/tests/language_2/function_type/function_type60_test.dart
+++ b/tests/language_2/function_type/function_type60_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type61_test.dart b/tests/language_2/function_type/function_type61_test.dart
index 3cee969..319b52e 100644
--- a/tests/language_2/function_type/function_type61_test.dart
+++ b/tests/language_2/function_type/function_type61_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type62_test.dart b/tests/language_2/function_type/function_type62_test.dart
index ac4114d..6f8946d 100644
--- a/tests/language_2/function_type/function_type62_test.dart
+++ b/tests/language_2/function_type/function_type62_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type63_test.dart b/tests/language_2/function_type/function_type63_test.dart
index ff72ac9..9816044 100644
--- a/tests/language_2/function_type/function_type63_test.dart
+++ b/tests/language_2/function_type/function_type63_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type64_test.dart b/tests/language_2/function_type/function_type64_test.dart
index e0a1c6d..83ec553 100644
--- a/tests/language_2/function_type/function_type64_test.dart
+++ b/tests/language_2/function_type/function_type64_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type65_test.dart b/tests/language_2/function_type/function_type65_test.dart
index e479189..5711664 100644
--- a/tests/language_2/function_type/function_type65_test.dart
+++ b/tests/language_2/function_type/function_type65_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type66_test.dart b/tests/language_2/function_type/function_type66_test.dart
index c168c04..783881e 100644
--- a/tests/language_2/function_type/function_type66_test.dart
+++ b/tests/language_2/function_type/function_type66_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type67_test.dart b/tests/language_2/function_type/function_type67_test.dart
index 9ca375d..8c12381 100644
--- a/tests/language_2/function_type/function_type67_test.dart
+++ b/tests/language_2/function_type/function_type67_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type68_test.dart b/tests/language_2/function_type/function_type68_test.dart
index feaab1f..39aad38 100644
--- a/tests/language_2/function_type/function_type68_test.dart
+++ b/tests/language_2/function_type/function_type68_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type69_test.dart b/tests/language_2/function_type/function_type69_test.dart
index da77405..8ad28c6 100644
--- a/tests/language_2/function_type/function_type69_test.dart
+++ b/tests/language_2/function_type/function_type69_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type6_test.dart b/tests/language_2/function_type/function_type6_test.dart
index 8695a26..761ecec 100644
--- a/tests/language_2/function_type/function_type6_test.dart
+++ b/tests/language_2/function_type/function_type6_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type70_test.dart b/tests/language_2/function_type/function_type70_test.dart
index 369e679..b8e7487 100644
--- a/tests/language_2/function_type/function_type70_test.dart
+++ b/tests/language_2/function_type/function_type70_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type71_test.dart b/tests/language_2/function_type/function_type71_test.dart
index 85e3986..1198b38 100644
--- a/tests/language_2/function_type/function_type71_test.dart
+++ b/tests/language_2/function_type/function_type71_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type72_test.dart b/tests/language_2/function_type/function_type72_test.dart
index 1f67b50..8afc187 100644
--- a/tests/language_2/function_type/function_type72_test.dart
+++ b/tests/language_2/function_type/function_type72_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type73_test.dart b/tests/language_2/function_type/function_type73_test.dart
index de51f95..f89804e 100644
--- a/tests/language_2/function_type/function_type73_test.dart
+++ b/tests/language_2/function_type/function_type73_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type74_test.dart b/tests/language_2/function_type/function_type74_test.dart
index d6b9dee..f5fe919 100644
--- a/tests/language_2/function_type/function_type74_test.dart
+++ b/tests/language_2/function_type/function_type74_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type75_test.dart b/tests/language_2/function_type/function_type75_test.dart
index 2e277f9..f6f2054 100644
--- a/tests/language_2/function_type/function_type75_test.dart
+++ b/tests/language_2/function_type/function_type75_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type76_test.dart b/tests/language_2/function_type/function_type76_test.dart
index b5df005..f1c1ef9 100644
--- a/tests/language_2/function_type/function_type76_test.dart
+++ b/tests/language_2/function_type/function_type76_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type77_test.dart b/tests/language_2/function_type/function_type77_test.dart
index 6ffd0bd..fd10013 100644
--- a/tests/language_2/function_type/function_type77_test.dart
+++ b/tests/language_2/function_type/function_type77_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type78_test.dart b/tests/language_2/function_type/function_type78_test.dart
index 2d78785..2052c5e 100644
--- a/tests/language_2/function_type/function_type78_test.dart
+++ b/tests/language_2/function_type/function_type78_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type79_test.dart b/tests/language_2/function_type/function_type79_test.dart
index 3fb7995..9a17252 100644
--- a/tests/language_2/function_type/function_type79_test.dart
+++ b/tests/language_2/function_type/function_type79_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type7_test.dart b/tests/language_2/function_type/function_type7_test.dart
index 5a56e1e..7c8bf2b 100644
--- a/tests/language_2/function_type/function_type7_test.dart
+++ b/tests/language_2/function_type/function_type7_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type80_test.dart b/tests/language_2/function_type/function_type80_test.dart
index 631c3ec..0527832 100644
--- a/tests/language_2/function_type/function_type80_test.dart
+++ b/tests/language_2/function_type/function_type80_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type81_test.dart b/tests/language_2/function_type/function_type81_test.dart
index 5803180..26c7a93 100644
--- a/tests/language_2/function_type/function_type81_test.dart
+++ b/tests/language_2/function_type/function_type81_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type82_test.dart b/tests/language_2/function_type/function_type82_test.dart
index 3b37480..ea17429 100644
--- a/tests/language_2/function_type/function_type82_test.dart
+++ b/tests/language_2/function_type/function_type82_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type83_test.dart b/tests/language_2/function_type/function_type83_test.dart
index 7713741..01b39ab 100644
--- a/tests/language_2/function_type/function_type83_test.dart
+++ b/tests/language_2/function_type/function_type83_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type84_test.dart b/tests/language_2/function_type/function_type84_test.dart
index 12f5a59..6db3eb6 100644
--- a/tests/language_2/function_type/function_type84_test.dart
+++ b/tests/language_2/function_type/function_type84_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type85_test.dart b/tests/language_2/function_type/function_type85_test.dart
index 34a5836..d601257 100644
--- a/tests/language_2/function_type/function_type85_test.dart
+++ b/tests/language_2/function_type/function_type85_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type86_test.dart b/tests/language_2/function_type/function_type86_test.dart
index 62da594..12c841c 100644
--- a/tests/language_2/function_type/function_type86_test.dart
+++ b/tests/language_2/function_type/function_type86_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type87_test.dart b/tests/language_2/function_type/function_type87_test.dart
index b422aab..f597bf5 100644
--- a/tests/language_2/function_type/function_type87_test.dart
+++ b/tests/language_2/function_type/function_type87_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type88_test.dart b/tests/language_2/function_type/function_type88_test.dart
index ef7b6ed..f855e7d 100644
--- a/tests/language_2/function_type/function_type88_test.dart
+++ b/tests/language_2/function_type/function_type88_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type89_test.dart b/tests/language_2/function_type/function_type89_test.dart
index 0db0109..1a4d3b0 100644
--- a/tests/language_2/function_type/function_type89_test.dart
+++ b/tests/language_2/function_type/function_type89_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type8_test.dart b/tests/language_2/function_type/function_type8_test.dart
index 09a6382..800b1b1 100644
--- a/tests/language_2/function_type/function_type8_test.dart
+++ b/tests/language_2/function_type/function_type8_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type90_test.dart b/tests/language_2/function_type/function_type90_test.dart
index 0e79526..98b1ca3 100644
--- a/tests/language_2/function_type/function_type90_test.dart
+++ b/tests/language_2/function_type/function_type90_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type91_test.dart b/tests/language_2/function_type/function_type91_test.dart
index 3470fb1..784144e 100644
--- a/tests/language_2/function_type/function_type91_test.dart
+++ b/tests/language_2/function_type/function_type91_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type92_test.dart b/tests/language_2/function_type/function_type92_test.dart
index 81c3b6e..823ee3e 100644
--- a/tests/language_2/function_type/function_type92_test.dart
+++ b/tests/language_2/function_type/function_type92_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type93_test.dart b/tests/language_2/function_type/function_type93_test.dart
index 88541fd..93913ce 100644
--- a/tests/language_2/function_type/function_type93_test.dart
+++ b/tests/language_2/function_type/function_type93_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type94_test.dart b/tests/language_2/function_type/function_type94_test.dart
index e7ebcdf..d8c9432 100644
--- a/tests/language_2/function_type/function_type94_test.dart
+++ b/tests/language_2/function_type/function_type94_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type95_test.dart b/tests/language_2/function_type/function_type95_test.dart
index 16b9e08..a4902c6 100644
--- a/tests/language_2/function_type/function_type95_test.dart
+++ b/tests/language_2/function_type/function_type95_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type96_test.dart b/tests/language_2/function_type/function_type96_test.dart
index 65abf5d..f6beecd 100644
--- a/tests/language_2/function_type/function_type96_test.dart
+++ b/tests/language_2/function_type/function_type96_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type97_test.dart b/tests/language_2/function_type/function_type97_test.dart
index 78df65f..1e90015 100644
--- a/tests/language_2/function_type/function_type97_test.dart
+++ b/tests/language_2/function_type/function_type97_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type98_test.dart b/tests/language_2/function_type/function_type98_test.dart
index 1ea40a6..212d5fe 100644
--- a/tests/language_2/function_type/function_type98_test.dart
+++ b/tests/language_2/function_type/function_type98_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type99_test.dart b/tests/language_2/function_type/function_type99_test.dart
index 3404851..0bceaaa 100644
--- a/tests/language_2/function_type/function_type99_test.dart
+++ b/tests/language_2/function_type/function_type99_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/function_type9_test.dart b/tests/language_2/function_type/function_type9_test.dart
index bfcd9fa..e447cac 100644
--- a/tests/language_2/function_type/function_type9_test.dart
+++ b/tests/language_2/function_type/function_type9_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.9
+
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
 // GENERATED - DON'T EDIT.
diff --git a/tests/language_2/function_type/test_generator.dart b/tests/language_2/function_type/test_generator.dart
index 74b1884..48265aa 100644
--- a/tests/language_2/function_type/test_generator.dart
+++ b/tests/language_2/function_type/test_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.9
+
 import 'dart:io';
 
 // By convention:
diff --git a/tests/language_2/generic/async_star_test.dart b/tests/language_2/generic/async_star_test.dart
index da88b9a..66b6eb3 100644
--- a/tests/language_2/generic/async_star_test.dart
+++ b/tests/language_2/generic/async_star_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/generic/async_test.dart b/tests/language_2/generic/async_test.dart
index 8f86031..10310a8 100644
--- a/tests/language_2/generic/async_test.dart
+++ b/tests/language_2/generic/async_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/generic/cascaded_forwarding_stubs_generic_test.dart b/tests/language_2/generic/cascaded_forwarding_stubs_generic_test.dart
index 9dc502b..d97fa3d 100644
--- a/tests/language_2/generic/cascaded_forwarding_stubs_generic_test.dart
+++ b/tests/language_2/generic/cascaded_forwarding_stubs_generic_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/generic/closure_test.dart b/tests/language_2/generic/closure_test.dart
index 333ba2f..91845ef 100644
--- a/tests/language_2/generic/closure_test.dart
+++ b/tests/language_2/generic/closure_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 // Check that generic closures are properly instantiated.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_infinite_test.dart b/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_infinite_test.dart
index f3f4473..1be0236 100644
--- a/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_infinite_test.dart
+++ b/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_infinite_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 // There is an interface conflict here due to a loop in the class
 // hierarchy leading to an infinite set of implemented types; this loop
 // shouldn't cause non-termination.
diff --git a/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_test.dart b/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_test.dart
index e24aaa8..f5e7566 100644
--- a/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_test.dart
+++ b/tests/language_2/generic/conflicting_generic_interfaces_hierarchy_loop_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 // There is no interface conflict here, but there is a loop in the class
 // hierarchy leading to a finite set of implemented types; this loop
 // shouldn't cause non-termination.
diff --git a/tests/language_2/generic/conflicting_generic_interfaces_no_conflict_test.dart b/tests/language_2/generic/conflicting_generic_interfaces_no_conflict_test.dart
index f52d32b..61d4b0c 100644
--- a/tests/language_2/generic/conflicting_generic_interfaces_no_conflict_test.dart
+++ b/tests/language_2/generic/conflicting_generic_interfaces_no_conflict_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 class I<T> {}
 
 class A implements I<int> {}
diff --git a/tests/language_2/generic/conflicting_generic_interfaces_simple_test.dart b/tests/language_2/generic/conflicting_generic_interfaces_simple_test.dart
index fe319b2..b9b6108 100644
--- a/tests/language_2/generic/conflicting_generic_interfaces_simple_test.dart
+++ b/tests/language_2/generic/conflicting_generic_interfaces_simple_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 class I<T> {}
 
 class A implements I<int> {}
diff --git a/tests/language_2/generic/constructor_mixin2_runtime_test.dart b/tests/language_2/generic/constructor_mixin2_runtime_test.dart
index 969c893..dd4cbf7 100644
--- a/tests/language_2/generic/constructor_mixin2_runtime_test.dart
+++ b/tests/language_2/generic/constructor_mixin2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/constructor_mixin2_test.dart b/tests/language_2/generic/constructor_mixin2_test.dart
index 88281e3..a2d8f29 100644
--- a/tests/language_2/generic/constructor_mixin2_test.dart
+++ b/tests/language_2/generic/constructor_mixin2_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.9
+
 // Test that parameter types types are checked correctly in the face of
 // mixin application upon a generic constructor.
 
diff --git a/tests/language_2/generic/constructor_mixin3_runtime_test.dart b/tests/language_2/generic/constructor_mixin3_runtime_test.dart
index dfdd2bf..ed04a8a 100644
--- a/tests/language_2/generic/constructor_mixin3_runtime_test.dart
+++ b/tests/language_2/generic/constructor_mixin3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/constructor_mixin3_test.dart b/tests/language_2/generic/constructor_mixin3_test.dart
index 04e86a1..6f847d3 100644
--- a/tests/language_2/generic/constructor_mixin3_test.dart
+++ b/tests/language_2/generic/constructor_mixin3_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.9
+
 // Test that parameter types types are checked correctly in the face of
 // mixin application upon a generic constructor.
 
diff --git a/tests/language_2/generic/constructor_mixin_runtime_test.dart b/tests/language_2/generic/constructor_mixin_runtime_test.dart
index 31d7fd2..c0898b7 100644
--- a/tests/language_2/generic/constructor_mixin_runtime_test.dart
+++ b/tests/language_2/generic/constructor_mixin_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/constructor_mixin_test.dart b/tests/language_2/generic/constructor_mixin_test.dart
index f79f865..1848573 100644
--- a/tests/language_2/generic/constructor_mixin_test.dart
+++ b/tests/language_2/generic/constructor_mixin_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.9
+
 // Test that parameter types types are checked correctly in the face of
 // mixin application upon a generic constructor.
 
diff --git a/tests/language_2/generic/creation_test.dart b/tests/language_2/generic/creation_test.dart
index eb3c4ef..40cb4b6 100644
--- a/tests/language_2/generic/creation_test.dart
+++ b/tests/language_2/generic/creation_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.9
+
 import "package:expect/expect.dart";
 
 class A<X, Y, Z> {
diff --git a/tests/language_2/generic/deep_test.dart b/tests/language_2/generic/deep_test.dart
index f907cea..7ebf7ea 100644
--- a/tests/language_2/generic/deep_test.dart
+++ b/tests/language_2/generic/deep_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test for deeply nested generic types.
diff --git a/tests/language_2/generic/f_bounded_equality_test.dart b/tests/language_2/generic/f_bounded_equality_test.dart
index 43fadfc..6d33996 100644
--- a/tests/language_2/generic/f_bounded_equality_test.dart
+++ b/tests/language_2/generic/f_bounded_equality_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.9
+
 import "package:expect/expect.dart";
 
 class Magnitude<T> {
diff --git a/tests/language_2/generic/f_bounded_quantification2_test.dart b/tests/language_2/generic/f_bounded_quantification2_test.dart
index b55977b..9c3dc43 100644
--- a/tests/language_2/generic/f_bounded_quantification2_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification2_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.9
+
 // Test for F-Bounded Quantification. Regression test for issue 9291.
 
 class Entities<T extends ConceptEntity<T>> implements EntitiesApi<T> {}
diff --git a/tests/language_2/generic/f_bounded_quantification3_test.dart b/tests/language_2/generic/f_bounded_quantification3_test.dart
index 6c6f81c..e8a7da5 100644
--- a/tests/language_2/generic/f_bounded_quantification3_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification3_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.9
+
 // Test for F-Bounded Quantification.
 
 class FBound1<F1 extends FBound1<F1, F2>, F2 extends FBound2<F1, F2>> {
diff --git a/tests/language_2/generic/f_bounded_quantification4_test.dart b/tests/language_2/generic/f_bounded_quantification4_test.dart
index c3f7dec..1546286 100644
--- a/tests/language_2/generic/f_bounded_quantification4_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification4_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.9
+
 // Test for F-Bounded Quantification.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/f_bounded_quantification5_test.dart b/tests/language_2/generic/f_bounded_quantification5_test.dart
index 412cc95..3d68ea4 100644
--- a/tests/language_2/generic/f_bounded_quantification5_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification5_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.9
+
 // Test for F-Bounded Quantification.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/f_bounded_quantification_runtime_test.dart b/tests/language_2/generic/f_bounded_quantification_runtime_test.dart
index 77a3466..b425012 100644
--- a/tests/language_2/generic/f_bounded_quantification_runtime_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/generic/f_bounded_quantification_test.dart b/tests/language_2/generic/f_bounded_quantification_test.dart
index 4247e7d..055e05a 100644
--- a/tests/language_2/generic/f_bounded_quantification_test.dart
+++ b/tests/language_2/generic/f_bounded_quantification_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.9
+
 // Test for F-Bounded Quantification.
 
 class FBound<F extends FBound<F>> {}
diff --git a/tests/language_2/generic/field_mixin2_test.dart b/tests/language_2/generic/field_mixin2_test.dart
index 99e2d92..425dec9 100644
--- a/tests/language_2/generic/field_mixin2_test.dart
+++ b/tests/language_2/generic/field_mixin2_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/field_mixin3_test.dart b/tests/language_2/generic/field_mixin3_test.dart
index d8e78f3..f801244 100644
--- a/tests/language_2/generic/field_mixin3_test.dart
+++ b/tests/language_2/generic/field_mixin3_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/field_mixin4_test.dart b/tests/language_2/generic/field_mixin4_test.dart
index 137fa1b..df4cfaa 100644
--- a/tests/language_2/generic/field_mixin4_test.dart
+++ b/tests/language_2/generic/field_mixin4_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/field_mixin5_test.dart b/tests/language_2/generic/field_mixin5_test.dart
index a684903b..0a44e4e 100644
--- a/tests/language_2/generic/field_mixin5_test.dart
+++ b/tests/language_2/generic/field_mixin5_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/field_mixin6_runtime_test.dart b/tests/language_2/generic/field_mixin6_runtime_test.dart
index 7fa746b..24a6fde 100644
--- a/tests/language_2/generic/field_mixin6_runtime_test.dart
+++ b/tests/language_2/generic/field_mixin6_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/field_mixin6_test.dart b/tests/language_2/generic/field_mixin6_test.dart
index 303df88..8bd5366 100644
--- a/tests/language_2/generic/field_mixin6_test.dart
+++ b/tests/language_2/generic/field_mixin6_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/field_mixin_test.dart b/tests/language_2/generic/field_mixin_test.dart
index ea34a9e..c208d19 100644
--- a/tests/language_2/generic/field_mixin_test.dart
+++ b/tests/language_2/generic/field_mixin_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.9
+
 // Test that generic types in mixins are handled.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/function_bounds_test.dart b/tests/language_2/generic/function_bounds_test.dart
index f361f64..f5690ef 100644
--- a/tests/language_2/generic/function_bounds_test.dart
+++ b/tests/language_2/generic/function_bounds_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.9
+
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
diff --git a/tests/language_2/generic/function_dcall_test.dart b/tests/language_2/generic/function_dcall_test.dart
index 28fa0dc..bc73b00 100644
--- a/tests/language_2/generic/function_dcall_test.dart
+++ b/tests/language_2/generic/function_dcall_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.9
+
 import 'package:expect/expect.dart';
 
 void testCallsToGenericFn() {
diff --git a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_1_test.dart b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_1_test.dart
index 568b6c7..56e3910 100644
--- a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_1_test.dart
+++ b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_2_test.dart b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_2_test.dart
index c3226fb..9f93afa 100644
--- a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_2_test.dart
+++ b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_3_test.dart b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_3_test.dart
index fbdd29a..9c86107 100644
--- a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_3_test.dart
+++ b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_test.dart b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_test.dart
index 9749428..7bb124b 100644
--- a/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_test.dart
+++ b/tests/language_2/generic/function_subtype_parametrized_typedef_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_parametrized_typedef_test.dart b/tests/language_2/generic/function_subtype_parametrized_typedef_test.dart
index 10775ef..1df3b9d 100644
--- a/tests/language_2/generic/function_subtype_parametrized_typedef_test.dart
+++ b/tests/language_2/generic/function_subtype_parametrized_typedef_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.9
+
 // Test of the subtype relationship that includes parametrized typedefs and
 // invariant occurrences of types.
 
diff --git a/tests/language_2/generic/function_subtype_runtime_1_test.dart b/tests/language_2/generic/function_subtype_runtime_1_test.dart
index 1153373..a69ca1c 100644
--- a/tests/language_2/generic/function_subtype_runtime_1_test.dart
+++ b/tests/language_2/generic/function_subtype_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_runtime_2_test.dart b/tests/language_2/generic/function_subtype_runtime_2_test.dart
index 44aeb53..18f4910 100644
--- a/tests/language_2/generic/function_subtype_runtime_2_test.dart
+++ b/tests/language_2/generic/function_subtype_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_runtime_test.dart b/tests/language_2/generic/function_subtype_runtime_test.dart
index eb7163a..9f45d65 100644
--- a/tests/language_2/generic/function_subtype_runtime_test.dart
+++ b/tests/language_2/generic/function_subtype_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/generic/function_subtype_test.dart b/tests/language_2/generic/function_subtype_test.dart
index d392f6d..35e543c 100644
--- a/tests/language_2/generic/function_subtype_test.dart
+++ b/tests/language_2/generic/function_subtype_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.9
+
 // Simple test of the subtype relationship on generic function types.
 
 typedef F1 = void Function<X1 extends num>();
diff --git a/tests/language_2/generic/function_type_as_type_argument_runtime_1_test.dart b/tests/language_2/generic/function_type_as_type_argument_runtime_1_test.dart
index e0074f5..0feeeb1 100644
--- a/tests/language_2/generic/function_type_as_type_argument_runtime_1_test.dart
+++ b/tests/language_2/generic/function_type_as_type_argument_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/generic/function_type_as_type_argument_runtime_test.dart b/tests/language_2/generic/function_type_as_type_argument_runtime_test.dart
index 0ad5dad..c5f4911 100644
--- a/tests/language_2/generic/function_type_as_type_argument_runtime_test.dart
+++ b/tests/language_2/generic/function_type_as_type_argument_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/generic/function_type_as_type_argument_test.dart b/tests/language_2/generic/function_type_as_type_argument_test.dart
index c59dce7..130d1b2 100644
--- a/tests/language_2/generic/function_type_as_type_argument_test.dart
+++ b/tests/language_2/generic/function_type_as_type_argument_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--reify-generic-functions
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 T foo<T>(T i) => i;
diff --git a/tests/language_2/generic/function_typedef2_runtime_test.dart b/tests/language_2/generic/function_typedef2_runtime_test.dart
index 195bc41..9e39010 100644
--- a/tests/language_2/generic/function_typedef2_runtime_test.dart
+++ b/tests/language_2/generic/function_typedef2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/generic/function_typedef2_test.dart b/tests/language_2/generic/function_typedef2_test.dart
index b7ae03a..b82b29c 100644
--- a/tests/language_2/generic/function_typedef2_test.dart
+++ b/tests/language_2/generic/function_typedef2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for a function type test that cannot be eliminated at compile time.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/generic/function_typedef_test.dart b/tests/language_2/generic/function_typedef_test.dart
index a61b0b6..1902ad1 100644
--- a/tests/language_2/generic/function_typedef_test.dart
+++ b/tests/language_2/generic/function_typedef_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for a function type test that cannot be eliminated at compile time.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/generic/functions_test.dart b/tests/language_2/generic/functions_test.dart
index 529a7e9..16f674a 100644
--- a/tests/language_2/generic/functions_test.dart
+++ b/tests/language_2/generic/functions_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.9
+
 /// Dart test verifying that the parser can handle type parameterization of
 /// function declarations and function invocations. Variant of code from
 /// DEP #22, adjusted to use generic top level functions.
diff --git a/tests/language_2/generic/generic2_test.dart b/tests/language_2/generic/generic2_test.dart
index 00cf5e6..362fdba 100644
--- a/tests/language_2/generic/generic2_test.dart
+++ b/tests/language_2/generic/generic2_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.9
+
 // Test is-tests with type variables.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/generic_test.dart b/tests/language_2/generic/generic_test.dart
index 16742d5..9f4820e 100644
--- a/tests/language_2/generic/generic_test.dart
+++ b/tests/language_2/generic/generic_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.9
+
 /// Dart test program testing generic type allocations and generic type tests.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/generic/generics2_test.dart b/tests/language_2/generic/generics2_test.dart
index a492e55..c2699dd 100644
--- a/tests/language_2/generic/generics2_test.dart
+++ b/tests/language_2/generic/generics2_test.dart
@@ -5,6 +5,8 @@
 //
 // Dart test program testing generic type allocations and generic type tests.
 
+// @dart = 2.9
+
 class A<E> {}
 
 class Pair<P, Q> extends A /* i.e. extends A<dynamic> */ {
diff --git a/tests/language_2/generic/generics3_test.dart b/tests/language_2/generic/generics3_test.dart
index 0a25732..0d7f775 100644
--- a/tests/language_2/generic/generics3_test.dart
+++ b/tests/language_2/generic/generics3_test.dart
@@ -5,6 +5,8 @@
 // Dart test program testing generic type allocations and generic type tests.
 // Regression test for issue 8710.
 
+// @dart = 2.9
+
 class C1<T> {}
 
 class C2<T> {}
diff --git a/tests/language_2/generic/generics_test.dart b/tests/language_2/generic/generics_test.dart
index e676434..2d65309 100644
--- a/tests/language_2/generic/generics_test.dart
+++ b/tests/language_2/generic/generics_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for generic types.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class GenericsTest<T, V> implements Map<int, int> {
diff --git a/tests/language_2/generic/inheritance_test.dart b/tests/language_2/generic/inheritance_test.dart
index 404723a..a46f3f9 100644
--- a/tests/language_2/generic/inheritance_test.dart
+++ b/tests/language_2/generic/inheritance_test.dart
@@ -5,6 +5,8 @@
 // Test verifying that the type argument vector of subclasses are properly
 // initialized by the class finalizer.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/generic/instanceof.dart b/tests/language_2/generic/instanceof.dart
index 9e25e5d..a03f3cc 100644
--- a/tests/language_2/generic/instanceof.dart
+++ b/tests/language_2/generic/instanceof.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that instanceof works correctly with type variables.
 
+// @dart = 2.9
+
 part of GenericInstanceofTest.dart;
 
 class Foo<T> {
diff --git a/tests/language_2/generic/instanceof2_test.dart b/tests/language_2/generic/instanceof2_test.dart
index e8a28e3..36dbf28 100644
--- a/tests/language_2/generic/instanceof2_test.dart
+++ b/tests/language_2/generic/instanceof2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that instanceof works correctly with type variables.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test that partially typed generic instances are correctly constructed.
diff --git a/tests/language_2/generic/instanceof3_test.dart b/tests/language_2/generic/instanceof3_test.dart
index 28aa882..3d89638 100644
--- a/tests/language_2/generic/instanceof3_test.dart
+++ b/tests/language_2/generic/instanceof3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing the instanceof operation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Tests involving generics.
diff --git a/tests/language_2/generic/instanceof4_test.dart b/tests/language_2/generic/instanceof4_test.dart
index 15896cb..fca5b80 100644
--- a/tests/language_2/generic/instanceof4_test.dart
+++ b/tests/language_2/generic/instanceof4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that instanceof works correctly with type variables.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/generic/instanceof5_test.dart b/tests/language_2/generic/instanceof5_test.dart
index 5df4087..425011a 100644
--- a/tests/language_2/generic/instanceof5_test.dart
+++ b/tests/language_2/generic/instanceof5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that instanceof works correctly with type variables.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/generic/instanceof_test.dart b/tests/language_2/generic/instanceof_test.dart
index 46eda64..49f6f5b 100644
--- a/tests/language_2/generic/instanceof_test.dart
+++ b/tests/language_2/generic/instanceof_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that instanceof works correctly with type variables.
 
+// @dart = 2.9
+
 library GenericInstanceofTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/instantiate_tearoff_after_contravariance_check_test.dart b/tests/language_2/generic/instantiate_tearoff_after_contravariance_check_test.dart
index cb0fa33..2ed97b2 100644
--- a/tests/language_2/generic/instantiate_tearoff_after_contravariance_check_test.dart
+++ b/tests/language_2/generic/instantiate_tearoff_after_contravariance_check_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/generic/instantiate_tearoff_of_call_test.dart b/tests/language_2/generic/instantiate_tearoff_of_call_test.dart
index 665a271..55643be 100644
--- a/tests/language_2/generic/instantiate_tearoff_of_call_test.dart
+++ b/tests/language_2/generic/instantiate_tearoff_of_call_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.9
+
 import "package:expect/expect.dart";
 
 T f<T>(T x) => x;
diff --git a/tests/language_2/generic/instantiate_tearoff_test.dart b/tests/language_2/generic/instantiate_tearoff_test.dart
index dc1afd4..ed27adb 100644
--- a/tests/language_2/generic/instantiate_tearoff_test.dart
+++ b/tests/language_2/generic/instantiate_tearoff_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.9
+
 // VMOptions=--lazy-dispatchers
 // VMOptions=--no-lazy-dispatchers
 
diff --git a/tests/language_2/generic/instantiate_to_bounds_super_bounded_test.dart b/tests/language_2/generic/instantiate_to_bounds_super_bounded_test.dart
index 7990480..3d8c9f9 100644
--- a/tests/language_2/generic/instantiate_to_bounds_super_bounded_test.dart
+++ b/tests/language_2/generic/instantiate_to_bounds_super_bounded_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.9
+
 // Verify that when a super-bounded type is produced by instantiate-to-bounds,
 // it's properly allowed or rejected depending on the context in which it's
 // used.
diff --git a/tests/language_2/generic/instantiate_type_variable_runtime_test.dart b/tests/language_2/generic/instantiate_type_variable_runtime_test.dart
index 973da61..3527416 100644
--- a/tests/language_2/generic/instantiate_type_variable_runtime_test.dart
+++ b/tests/language_2/generic/instantiate_type_variable_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/generic/instantiate_type_variable_test.dart b/tests/language_2/generic/instantiate_type_variable_test.dart
index 8eb9c7a..1ce7ae8 100644
--- a/tests/language_2/generic/instantiate_type_variable_test.dart
+++ b/tests/language_2/generic/instantiate_type_variable_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.9
+
 // Test that you cannot instantiate a type variable.
 
 class Foo<T> {
diff --git a/tests/language_2/generic/is_check_test.dart b/tests/language_2/generic/is_check_test.dart
index 5cfa38a..505c700 100644
--- a/tests/language_2/generic/is_check_test.dart
+++ b/tests/language_2/generic/is_check_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/generic/list_checked_test.dart b/tests/language_2/generic/list_checked_test.dart
index 6dc688a..c492689 100644
--- a/tests/language_2/generic/list_checked_test.dart
+++ b/tests/language_2/generic/list_checked_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/language_2/generic/local_functions_test.dart b/tests/language_2/generic/local_functions_test.dart
index b587677..c05359c 100644
--- a/tests/language_2/generic/local_functions_test.dart
+++ b/tests/language_2/generic/local_functions_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.9
+
 /// Dart test verifying that the parser can handle type parameterization of
 /// local function declarations, and declarations of function parameters.
 
diff --git a/tests/language_2/generic/many_generic_instanceof_test.dart b/tests/language_2/generic/many_generic_instanceof_test.dart
index ea9e1eb..917bd6e 100644
--- a/tests/language_2/generic/many_generic_instanceof_test.dart
+++ b/tests/language_2/generic/many_generic_instanceof_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 library GenericInstanceofTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/metadata_in_function_body_test.dart b/tests/language_2/generic/metadata_in_function_body_test.dart
index e6be65f..1b7fe3c 100644
--- a/tests/language_2/generic/metadata_in_function_body_test.dart
+++ b/tests/language_2/generic/metadata_in_function_body_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.9
+
 // Check that annotations inside function bodies cannot use type arguments, but
 // can be raw.
 
diff --git a/tests/language_2/generic/metadata_runtime_1_test.dart b/tests/language_2/generic/metadata_runtime_1_test.dart
index f411bd2..754aa7b 100644
--- a/tests/language_2/generic/metadata_runtime_1_test.dart
+++ b/tests/language_2/generic/metadata_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/generic/metadata_runtime_test.dart b/tests/language_2/generic/metadata_runtime_test.dart
index bee4c44..003da95 100644
--- a/tests/language_2/generic/metadata_runtime_test.dart
+++ b/tests/language_2/generic/metadata_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/generic/metadata_test.dart b/tests/language_2/generic/metadata_test.dart
index a6a5ad8..18d6b86 100644
--- a/tests/language_2/generic/metadata_test.dart
+++ b/tests/language_2/generic/metadata_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.9
+
 // Check that annotations cannot use type arguments, but can be raw.
 
 class C<T> {
diff --git a/tests/language_2/generic/method_types_test.dart b/tests/language_2/generic/method_types_test.dart
index 8fc355c..aeafb77 100644
--- a/tests/language_2/generic/method_types_test.dart
+++ b/tests/language_2/generic/method_types_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.9
+
 import 'package:expect/expect.dart';
 
 typedef Convert1<O> = O Function<I>(I input);
diff --git a/tests/language_2/generic/mock_test.dart b/tests/language_2/generic/mock_test.dart
index f30e43e..2828933 100644
--- a/tests/language_2/generic/mock_test.dart
+++ b/tests/language_2/generic/mock_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/38384
 
 class Built<X, Y> {}
diff --git a/tests/language_2/generic/native_test.dart b/tests/language_2/generic/native_test.dart
index 80eb8fe..d3fc095 100644
--- a/tests/language_2/generic/native_test.dart
+++ b/tests/language_2/generic/native_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.9
+
 // Test is-tests with type variables on native subclasses.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic/no_such_method_dispatcher_test.dart b/tests/language_2/generic/no_such_method_dispatcher_test.dart
index 336e7b9..aa0fce9 100644
--- a/tests/language_2/generic/no_such_method_dispatcher_test.dart
+++ b/tests/language_2/generic/no_such_method_dispatcher_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--reify-generic-functions --optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test that noSuchMethod dispatching and auto-closurization work correctly
diff --git a/tests/language_2/generic/object_type_test.dart b/tests/language_2/generic/object_type_test.dart
index 4b1733a..0af0abf 100644
--- a/tests/language_2/generic/object_type_test.dart
+++ b/tests/language_2/generic/object_type_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.9
+
 import "package:expect/expect.dart";
 
 class Tester<T> {
diff --git a/tests/language_2/generic/parameterized_extends_test.dart b/tests/language_2/generic/parameterized_extends_test.dart
index 0d85fe9..a333de6 100644
--- a/tests/language_2/generic/parameterized_extends_test.dart
+++ b/tests/language_2/generic/parameterized_extends_test.dart
@@ -4,6 +4,8 @@
 //
 // Test verifying that generic extends are processed correctly.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A<T> {}
diff --git a/tests/language_2/generic/recursive_generic_test.dart b/tests/language_2/generic/recursive_generic_test.dart
index 6f56104..28d5515 100644
--- a/tests/language_2/generic/recursive_generic_test.dart
+++ b/tests/language_2/generic/recursive_generic_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.9
+
 import "package:expect/expect.dart";
 
 abstract class S<T extends S<T>> {
diff --git a/tests/language_2/generic/reify_typevar_runtime_1_test.dart b/tests/language_2/generic/reify_typevar_runtime_1_test.dart
index d2f11b2..2eebebc 100644
--- a/tests/language_2/generic/reify_typevar_runtime_1_test.dart
+++ b/tests/language_2/generic/reify_typevar_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/reify_typevar_runtime_2_test.dart b/tests/language_2/generic/reify_typevar_runtime_2_test.dart
index 568cc93..5b37d7f 100644
--- a/tests/language_2/generic/reify_typevar_runtime_2_test.dart
+++ b/tests/language_2/generic/reify_typevar_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/reify_typevar_runtime_3_test.dart b/tests/language_2/generic/reify_typevar_runtime_3_test.dart
index 712db2ef..3908383 100644
--- a/tests/language_2/generic/reify_typevar_runtime_3_test.dart
+++ b/tests/language_2/generic/reify_typevar_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/reify_typevar_runtime_test.dart b/tests/language_2/generic/reify_typevar_runtime_test.dart
index 02131f0..9b3c94b 100644
--- a/tests/language_2/generic/reify_typevar_runtime_test.dart
+++ b/tests/language_2/generic/reify_typevar_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/generic/reify_typevar_static_test.dart b/tests/language_2/generic/reify_typevar_static_test.dart
index c589aff..338e2fb 100644
--- a/tests/language_2/generic/reify_typevar_static_test.dart
+++ b/tests/language_2/generic/reify_typevar_static_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/generic/self_reference_test.dart b/tests/language_2/generic/self_reference_test.dart
index e5e60e8..5ffd2eb 100644
--- a/tests/language_2/generic/self_reference_test.dart
+++ b/tests/language_2/generic/self_reference_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.9
+
 import "package:expect/expect.dart";
 
 class Bar<T> {}
diff --git a/tests/language_2/generic/sends_test.dart b/tests/language_2/generic/sends_test.dart
index 57befee..ddfd241 100644
--- a/tests/language_2/generic/sends_test.dart
+++ b/tests/language_2/generic/sends_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.9
+
 /// Dart test verifying that the parser can handle certain cases where
 /// grammar ambiguity is resolved in favor of generic sends, not
 /// relational expressions.
diff --git a/tests/language_2/generic/sync_star_test.dart b/tests/language_2/generic/sync_star_test.dart
index cf61d92..088ee58 100644
--- a/tests/language_2/generic/sync_star_test.dart
+++ b/tests/language_2/generic/sync_star_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.9
+
 import "package:expect/expect.dart";
 
 Iterable<T> foo<T>(T x) sync* {
diff --git a/tests/language_2/generic/syntax_test.dart b/tests/language_2/generic/syntax_test.dart
index 7ccc039..99ff230 100644
--- a/tests/language_2/generic/syntax_test.dart
+++ b/tests/language_2/generic/syntax_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test verifying that the parser does not confuse parameterized types with
diff --git a/tests/language_2/generic/tearoff_test.dart b/tests/language_2/generic/tearoff_test.dart
index 06c863f..e633ffb 100644
--- a/tests/language_2/generic/tearoff_test.dart
+++ b/tests/language_2/generic/tearoff_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.9
+
 import 'dart:math' as math;
 import 'dart:math' show min; // <-- generic: <T extends num>(T, T) -> T
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/generic/type_argument_in_super_type_test.dart b/tests/language_2/generic/type_argument_in_super_type_test.dart
index 1d9a2a0..8007470 100644
--- a/tests/language_2/generic/type_argument_in_super_type_test.dart
+++ b/tests/language_2/generic/type_argument_in_super_type_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.9
+
 import "package:expect/expect.dart";
 
 class C {}
diff --git a/tests/language_2/generic/type_argument_substitution_test.dart b/tests/language_2/generic/type_argument_substitution_test.dart
index cca72f0..946e561 100644
--- a/tests/language_2/generic/type_argument_substitution_test.dart
+++ b/tests/language_2/generic/type_argument_substitution_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.9
+
 // Test that substitutions are emitted for classes that are only used as
 // type arguments.
 
diff --git a/tests/language_2/generic/type_parameter_literal_test.dart b/tests/language_2/generic/type_parameter_literal_test.dart
index 452b535..7aa7f92 100644
--- a/tests/language_2/generic/type_parameter_literal_test.dart
+++ b/tests/language_2/generic/type_parameter_literal_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.9
+
 import "package:expect/expect.dart";
 
 // Test type parameter literal expressions.
diff --git a/tests/language_2/generic/type_parameter_test.dart b/tests/language_2/generic/type_parameter_test.dart
index 1b0e880..25f06e5 100644
--- a/tests/language_2/generic/type_parameter_test.dart
+++ b/tests/language_2/generic/type_parameter_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/generic/typedef_test.dart b/tests/language_2/generic/typedef_test.dart
index 09dce80..7622f43 100644
--- a/tests/language_2/generic/typedef_test.dart
+++ b/tests/language_2/generic/typedef_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.9
+
 import 'package:expect/expect.dart';
 
 // Test runtime behavior of generic function typedefs:
diff --git a/tests/language_2/generic/wrong_number_type_arguments_runtime_test.dart b/tests/language_2/generic/wrong_number_type_arguments_runtime_test.dart
index 3a8f42c..9884079 100644
--- a/tests/language_2/generic/wrong_number_type_arguments_runtime_test.dart
+++ b/tests/language_2/generic/wrong_number_type_arguments_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/generic/wrong_number_type_arguments_test.dart b/tests/language_2/generic/wrong_number_type_arguments_test.dart
index 53e9627..bc9b1e9 100644
--- a/tests/language_2/generic/wrong_number_type_arguments_test.dart
+++ b/tests/language_2/generic/wrong_number_type_arguments_test.dart
@@ -2,13 +2,15 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Map takes 2 type arguments.
 Map<String> foo;
-// [error line 6, column 1, length 11]
+// [error line 8, column 1, length 11]
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 2 type arguments.
 Map<String> baz;
-// [error line 10, column 1, length 11]
+// [error line 12, column 1, length 11]
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 2 type arguments.
 
diff --git a/tests/language_2/generic_methods/bounds_test.dart b/tests/language_2/generic_methods/bounds_test.dart
index 365d0ef..faadde6 100644
--- a/tests/language_2/generic_methods/bounds_test.dart
+++ b/tests/language_2/generic_methods/bounds_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.9
+
 // Test that a dynamic call to a generic function checks the type argument
 // against its bound.
 
diff --git a/tests/language_2/generic_methods/closure_test.dart b/tests/language_2/generic_methods/closure_test.dart
index 131105d..c13cd1d 100644
--- a/tests/language_2/generic_methods/closure_test.dart
+++ b/tests/language_2/generic_methods/closure_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.9
+
 // Test that a generic closure is correctly constructed.
 
 library generic_methods_closure_test;
diff --git a/tests/language_2/generic_methods/dynamic_test.dart b/tests/language_2/generic_methods/dynamic_test.dart
index 6b92dc3..68033f5 100644
--- a/tests/language_2/generic_methods/dynamic_test.dart
+++ b/tests/language_2/generic_methods/dynamic_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.9
+
 // Test that if the type of a parameter of a generic method is a type parameter,
 // the type of the passed argument is checked (01) at compile time
 // if the receiver is given via an interface-type variable, and (02) at runtime
diff --git a/tests/language_2/generic_methods/function_type_test.dart b/tests/language_2/generic_methods/function_type_test.dart
index 4941c43..e8f5ad7 100644
--- a/tests/language_2/generic_methods/function_type_test.dart
+++ b/tests/language_2/generic_methods/function_type_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.9
+
 /// Dart test on the usage of method type arguments in a function typed
 /// parameter declaration.
 
diff --git a/tests/language_2/generic_methods/generic_class_tearoff_test.dart b/tests/language_2/generic_methods/generic_class_tearoff_test.dart
index d60d300..57b923c 100644
--- a/tests/language_2/generic_methods/generic_class_tearoff_test.dart
+++ b/tests/language_2/generic_methods/generic_class_tearoff_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.9
+
 // Test that a torn off method of a generic class is not a generic method,
 // and that it is correctly specialized.
 
diff --git a/tests/language_2/generic_methods/generic_function_parameter_test.dart b/tests/language_2/generic_methods/generic_function_parameter_test.dart
index 3c4c2c7..99fcff3 100644
--- a/tests/language_2/generic_methods/generic_function_parameter_test.dart
+++ b/tests/language_2/generic_methods/generic_function_parameter_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/generic_methods/generic_function_result_runtime_test.dart b/tests/language_2/generic_methods/generic_function_result_runtime_test.dart
index e382965..8eb8217 100644
--- a/tests/language_2/generic_methods/generic_function_result_runtime_test.dart
+++ b/tests/language_2/generic_methods/generic_function_result_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/generic_methods/generic_function_result_test.dart b/tests/language_2/generic_methods/generic_function_result_test.dart
index 41d4742..9e24263 100644
--- a/tests/language_2/generic_methods/generic_function_result_test.dart
+++ b/tests/language_2/generic_methods/generic_function_result_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.9
+
 // Verify that function type parameter S can be resolved in bar's result type.
 // Verify that generic function types are not allowed as type arguments.
 
diff --git a/tests/language_2/generic_methods/generic_methods_test.dart b/tests/language_2/generic_methods/generic_methods_test.dart
index 3e2ae8b..f664656 100644
--- a/tests/language_2/generic_methods/generic_methods_test.dart
+++ b/tests/language_2/generic_methods/generic_methods_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.9
+
 /// Dart test verifying that the parser can handle type parameterization of
 /// method declarations and method invocations. Slightly adjusted version of
 /// code from DEP #22.
diff --git a/tests/language_2/generic_methods/local_variable_declaration_test.dart b/tests/language_2/generic_methods/local_variable_declaration_test.dart
index 46b22df..d2f9841 100644
--- a/tests/language_2/generic_methods/local_variable_declaration_test.dart
+++ b/tests/language_2/generic_methods/local_variable_declaration_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.9
+
 // Test that a type variable can be used to declare local variables, and that
 // these local variables are of correct type.
 
diff --git a/tests/language_2/generic_methods/named_parameters_test.dart b/tests/language_2/generic_methods/named_parameters_test.dart
index 08b4a63..7a51955 100644
--- a/tests/language_2/generic_methods/named_parameters_test.dart
+++ b/tests/language_2/generic_methods/named_parameters_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.9
+
 // Test that generic methods with named parameters are of correct type.
 
 library generic_methods_named_parameters_test;
diff --git a/tests/language_2/generic_methods/new_test.dart b/tests/language_2/generic_methods/new_test.dart
index 31d62ed..e2bcc09 100644
--- a/tests/language_2/generic_methods/new_test.dart
+++ b/tests/language_2/generic_methods/new_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import "package:expect/expect.dart";
 
 class C<E> {
diff --git a/tests/language_2/generic_methods/optional_parameters_test.dart b/tests/language_2/generic_methods/optional_parameters_test.dart
index 2718d40..f6250b7 100644
--- a/tests/language_2/generic_methods/optional_parameters_test.dart
+++ b/tests/language_2/generic_methods/optional_parameters_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.9
+
 // Test that generic methods with optional parameters are of correct type.
 
 library generic_methods_optional_parameters_test;
diff --git a/tests/language_2/generic_methods/overriding_test.dart b/tests/language_2/generic_methods/overriding_test.dart
index 2ef1def..ffa4f50 100644
--- a/tests/language_2/generic_methods/overriding_test.dart
+++ b/tests/language_2/generic_methods/overriding_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.9
+
 // Test that generic methods can be overloaded (a) with widened type bounds, and
 // (b) using the bound as the type of the parameter in the overloaded method.
 
diff --git a/tests/language_2/generic_methods/recursive_bound_test.dart b/tests/language_2/generic_methods/recursive_bound_test.dart
index f79ce20..a6ab155 100644
--- a/tests/language_2/generic_methods/recursive_bound_test.dart
+++ b/tests/language_2/generic_methods/recursive_bound_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.9
+
 // Test that F-bounded quantification works for generic methods, and that types
 // that are passed to generic methods in dynamic calls are checked for being
 // recursively defined.
diff --git a/tests/language_2/generic_methods/reuse_type_variables_test.dart b/tests/language_2/generic_methods/reuse_type_variables_test.dart
index c885116..aca75f9 100644
--- a/tests/language_2/generic_methods/reuse_type_variables_test.dart
+++ b/tests/language_2/generic_methods/reuse_type_variables_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.9
+
 // Test that type parameter can be passed as a type argument in a definition of
 // a local variable, and that this local variable is correctly constructed.
 
diff --git a/tests/language_2/generic_methods/shadowing_test.dart b/tests/language_2/generic_methods/shadowing_test.dart
index ae6a69d..ea975dc 100644
--- a/tests/language_2/generic_methods/shadowing_test.dart
+++ b/tests/language_2/generic_methods/shadowing_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.9
+
 // Test that type parameters in generic methods can be shadowed.
 
 library generic_methods_shadowing_test;
diff --git a/tests/language_2/generic_methods/simple_as_expression_test.dart b/tests/language_2/generic_methods/simple_as_expression_test.dart
index d6b3c48..947d02f 100644
--- a/tests/language_2/generic_methods/simple_as_expression_test.dart
+++ b/tests/language_2/generic_methods/simple_as_expression_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.9
+
 // Test that type parameters in generic methods can be used in as-expressions.
 
 library generic_methods_simple_as_expression_test;
diff --git a/tests/language_2/generic_methods/simple_is_expression_test.dart b/tests/language_2/generic_methods/simple_is_expression_test.dart
index 5e9dced..bf3e583 100644
--- a/tests/language_2/generic_methods/simple_is_expression_test.dart
+++ b/tests/language_2/generic_methods/simple_is_expression_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.9
+
 // Test that type parameters in generic methods can be used in is-expressions.
 
 library generic_methods_simple_is_expression_test;
diff --git a/tests/language_2/generic_methods/tearoff_specialization_test.dart b/tests/language_2/generic_methods/tearoff_specialization_test.dart
index 5c03297..db4e2cf 100644
--- a/tests/language_2/generic_methods/tearoff_specialization_test.dart
+++ b/tests/language_2/generic_methods/tearoff_specialization_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.9
+
 // Test that generic methods can be specialized after being torn off, and that
 // their specialized versions are correctly constructed.
 
diff --git a/tests/language_2/generic_methods/type_expression_test.dart b/tests/language_2/generic_methods/type_expression_test.dart
index e809704..b39a673 100644
--- a/tests/language_2/generic_methods/type_expression_test.dart
+++ b/tests/language_2/generic_methods/type_expression_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.9
+
 /// Dart test on the usage of method type arguments in type expressions.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/generic_methods/unused_parameter_test.dart b/tests/language_2/generic_methods/unused_parameter_test.dart
index c0c2641..f39af16 100644
--- a/tests/language_2/generic_methods/unused_parameter_test.dart
+++ b/tests/language_2/generic_methods/unused_parameter_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.9
+
 // Test that generic methods with unused parameters aren't treated as
 // non-generic methods, but can be specialized as such.
 
diff --git a/tests/language_2/getter/closure_execution_order_test.dart b/tests/language_2/getter/closure_execution_order_test.dart
index 0b5196b..9eebed6 100644
--- a/tests/language_2/getter/closure_execution_order_test.dart
+++ b/tests/language_2/getter/closure_execution_order_test.dart
@@ -5,6 +5,8 @@
 // Test that a getter is evaluated after the arguments, when a getter is
 // for invoking a method. See chapter 'Method Invocation' in specification.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var counter = 0;
diff --git a/tests/language_2/getter/declaration_test.dart b/tests/language_2/getter/declaration_test.dart
index 6ccc137..eeab6b7 100644
--- a/tests/language_2/getter/declaration_test.dart
+++ b/tests/language_2/getter/declaration_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.9
+
 /// Test that a getter takes no parameters.
 get m(extraParam) {
 //   ^
diff --git a/tests/language_2/getter/no_setter2_runtime_test.dart b/tests/language_2/getter/no_setter2_runtime_test.dart
index 3e7567b..b7724cb 100644
--- a/tests/language_2/getter/no_setter2_runtime_test.dart
+++ b/tests/language_2/getter/no_setter2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/no_setter2_test.dart b/tests/language_2/getter/no_setter2_test.dart
index 22ad07e..42af459 100644
--- a/tests/language_2/getter/no_setter2_test.dart
+++ b/tests/language_2/getter/no_setter2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Verifies behavior with a static getter, but no field and no setter.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Example {
diff --git a/tests/language_2/getter/no_setter_runtime_test.dart b/tests/language_2/getter/no_setter_runtime_test.dart
index 3e7567b..b7724cb 100644
--- a/tests/language_2/getter/no_setter_runtime_test.dart
+++ b/tests/language_2/getter/no_setter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/no_setter_test.dart b/tests/language_2/getter/no_setter_test.dart
index 260b5fc..02bc833 100644
--- a/tests/language_2/getter/no_setter_test.dart
+++ b/tests/language_2/getter/no_setter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Verifies behavior with a static getter, but no field and no setter.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Example {
diff --git a/tests/language_2/getter/override2_test.dart b/tests/language_2/getter/override2_test.dart
index 95519a2..548f4f9 100644
--- a/tests/language_2/getter/override2_test.dart
+++ b/tests/language_2/getter/override2_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.9
+
 // Test that we report a compile-time error when an instance getter conflicts
 // with an inherited instance method of the same name.
 
diff --git a/tests/language_2/getter/override3_test.dart b/tests/language_2/getter/override3_test.dart
index c17b27e..787ab7a 100644
--- a/tests/language_2/getter/override3_test.dart
+++ b/tests/language_2/getter/override3_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.9
+
 // Tests that a getter in a subclass does not shadow the setter in the
 // superclass.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/getter/override_test.dart b/tests/language_2/getter/override_test.dart
index 8e17d33..713e5d9 100644
--- a/tests/language_2/getter/override_test.dart
+++ b/tests/language_2/getter/override_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.9
+
 // Test that we report a compile-time error when a static getter conflicts with
 // an inherited instance member of the same name.
 
diff --git a/tests/language_2/getter/parameters_runtime_test.dart b/tests/language_2/getter/parameters_runtime_test.dart
index f61f2fc..4d9a128 100644
--- a/tests/language_2/getter/parameters_runtime_test.dart
+++ b/tests/language_2/getter/parameters_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/getter/parameters_test.dart b/tests/language_2/getter/parameters_test.dart
index 0ff6eac..12ce7e8 100644
--- a/tests/language_2/getter/parameters_test.dart
+++ b/tests/language_2/getter/parameters_test.dart
@@ -4,28 +4,30 @@
 //
 // Test that a getter has no parameters.
 
+// @dart = 2.9
+
 get f1 => null;
 get f2
 ()
-// [error line 9, column 1, length 1]
+// [error line 11, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.GETTER_WITH_PARAMETERS
 // [cfe] A getter can't have formal parameters.
     => null;
 get f3
 (arg)
-// [error line 15, column 1, length 1]
+// [error line 17, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.GETTER_WITH_PARAMETERS
 // [cfe] A getter can't have formal parameters.
     => null;
 get f4
 ([arg])
-// [error line 21, column 1, length 1]
+// [error line 23, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.GETTER_WITH_PARAMETERS
 // [cfe] A getter can't have formal parameters.
     => null;
 get f5
 ({arg})
-// [error line 27, column 1, length 1]
+// [error line 29, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.GETTER_WITH_PARAMETERS
 // [cfe] A getter can't have formal parameters.
     => null;
diff --git a/tests/language_2/getter/setter2_runtime_test.dart b/tests/language_2/getter/setter2_runtime_test.dart
index 85cbfa0..5debd8f 100644
--- a/tests/language_2/getter/setter2_runtime_test.dart
+++ b/tests/language_2/getter/setter2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/setter2_test.dart b/tests/language_2/getter/setter2_test.dart
index ad8700b..5fd8248 100644
--- a/tests/language_2/getter/setter2_test.dart
+++ b/tests/language_2/getter/setter2_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.9
+
 import "package:expect/expect.dart";
 
 // Tests classes with getters and setters that do not have the same type.
diff --git a/tests/language_2/getter/setter_getters_setters_test.dart b/tests/language_2/getter/setter_getters_setters_test.dart
index 2524aa5..453ab5f 100644
--- a/tests/language_2/getter/setter_getters_setters_test.dart
+++ b/tests/language_2/getter/setter_getters_setters_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.9
+
 import "package:expect/expect.dart";
 
 class GettersSettersTest {
diff --git a/tests/language_2/getter/setter_in_lib.dart b/tests/language_2/getter/setter_in_lib.dart
index 9761ab2..f19c973 100644
--- a/tests/language_2/getter/setter_in_lib.dart
+++ b/tests/language_2/getter/setter_in_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library GetterSetterInLib;
 
 get foo => 42;
diff --git a/tests/language_2/getter/setter_in_lib2.dart b/tests/language_2/getter/setter_in_lib2.dart
index 46a23b3..e3b5879 100644
--- a/tests/language_2/getter/setter_in_lib2.dart
+++ b/tests/language_2/getter/setter_in_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.9
+
 library GetterSetterInLib2;
 
 set bar(a) {}
diff --git a/tests/language_2/getter/setter_in_lib3.dart b/tests/language_2/getter/setter_in_lib3.dart
index 2d05421..3d1270e 100644
--- a/tests/language_2/getter/setter_in_lib3.dart
+++ b/tests/language_2/getter/setter_in_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.9
+
 library GetterSetterInLib3;
 
 var _f = 33;
diff --git a/tests/language_2/getter/setter_in_lib_test.dart b/tests/language_2/getter/setter_in_lib_test.dart
index f9803e0..1ac76cb 100644
--- a/tests/language_2/getter/setter_in_lib_test.dart
+++ b/tests/language_2/getter/setter_in_lib_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.9
+
 library GetterSetterInLibTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/getter/setter_interceptor_test.dart b/tests/language_2/getter/setter_interceptor_test.dart
index f0ee972..1b165eb 100644
--- a/tests/language_2/getter/setter_interceptor_test.dart
+++ b/tests/language_2/getter/setter_interceptor_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/getter/setter_order_test.dart b/tests/language_2/getter/setter_order_test.dart
index 0050b7e..8f3ff6b 100644
--- a/tests/language_2/getter/setter_order_test.dart
+++ b/tests/language_2/getter/setter_order_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.9
+
 // Test for the evaluation order of getters and setters.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/getter/setter_type2_test.dart b/tests/language_2/getter/setter_type2_test.dart
index 33bf18b..2eb953a 100644
--- a/tests/language_2/getter/setter_type2_test.dart
+++ b/tests/language_2/getter/setter_type2_test.dart
@@ -4,6 +4,8 @@
 // Getters and setters can have different types, and it is not a warning if the
 // two types are assignable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 int bar = 499;
diff --git a/tests/language_2/getter/setter_type3_test.dart b/tests/language_2/getter/setter_type3_test.dart
index 3fa6ac6..0637d17 100644
--- a/tests/language_2/getter/setter_type3_test.dart
+++ b/tests/language_2/getter/setter_type3_test.dart
@@ -4,6 +4,8 @@
 // Getters and setters can have different types, and it is not a warning if the
 // two types are assignable.
 
+// @dart = 2.9
+
 // [NNBD non-migrated]: NNBD requires a getter's return type to be a subtype of
 // the corresponding setter's parameter type. So this test would be a static
 // error, and hence there is no corresponding NNBD version.
diff --git a/tests/language_2/getter/setter_type_runtime_test.dart b/tests/language_2/getter/setter_type_runtime_test.dart
index 150f1737..4348bff 100644
--- a/tests/language_2/getter/setter_type_runtime_test.dart
+++ b/tests/language_2/getter/setter_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/setter_type_test.dart b/tests/language_2/getter/setter_type_test.dart
index c813ca8..118366b 100644
--- a/tests/language_2/getter/setter_type_test.dart
+++ b/tests/language_2/getter/setter_type_test.dart
@@ -4,6 +4,8 @@
 // Getters and setters can have different types, but it is a warning if the
 // two types are not assignable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 int bar = 499;
diff --git a/tests/language_2/getter/syntax_get_set_syntax_test.dart b/tests/language_2/getter/syntax_get_set_syntax_test.dart
index a275ea8..31bcf4e 100644
--- a/tests/language_2/getter/syntax_get_set_syntax_test.dart
+++ b/tests/language_2/getter/syntax_get_set_syntax_test.dart
@@ -2,27 +2,26 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var get;
 var get a;
-// [error line 6, column 1, length 3]
+// [error line 8, column 1, length 3]
 // [analyzer] SYNTACTIC_ERROR.VAR_RETURN_TYPE
 // [cfe] The return type can't be 'var'.
 //       ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
 // [cfe] Expected a function body or '=>'.
 var get b, c;
-// [error line 13, column 1, length 3]
+// [error line 15, column 1, length 3]
 // [analyzer] SYNTACTIC_ERROR.VAR_RETURN_TYPE
 // [cfe] The return type can't be 'var'.
 //       ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] Expected '{' before this.
-//       ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] Expected '{' before this.
 // [cfe] Expected a declaration, but got ','.
-//       ^
 // [cfe] Expected a function body, but got ','.
-//       ^
 // [cfe] Expected a function body, but got '{'.
 //         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -30,35 +29,30 @@
 
 var set;
 var set d;
-// [error line 32, column 1, length 3]
+// [error line 31, column 1, length 3]
 // [analyzer] SYNTACTIC_ERROR.VAR_RETURN_TYPE
 // [cfe] The return type can't be 'var'.
 //      ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A function declaration needs an explicit list of parameters.
-//      ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_PARAMETERS
+// [cfe] A function declaration needs an explicit list of parameters.
 //       ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
 // [cfe] A setter should have exactly one formal parameter.
-//       ^
 // [cfe] Expected a function body or '=>'.
 var set e, f;
-// [error line 46, column 1, length 3]
+// [error line 43, column 1, length 3]
 // [analyzer] SYNTACTIC_ERROR.VAR_RETURN_TYPE
 // [cfe] The return type can't be 'var'.
 //      ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A function declaration needs an explicit list of parameters.
-//      ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_PARAMETERS
+// [cfe] A function declaration needs an explicit list of parameters.
 //       ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] A setter should have exactly one formal parameter.
-//       ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] A setter should have exactly one formal parameter.
 // [cfe] Expected '{' before this.
-//       ^
 // [cfe] Expected a declaration, but got ','.
 //         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -80,9 +74,8 @@
 // [cfe] The return type can't be 'var'.
 //         ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-// [cfe] Expected '{' before this.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] Expected '{' before this.
 // [cfe] Expected a class member, but got ','.
 //           ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -97,9 +90,8 @@
 // [analyzer] COMPILE_TIME_ERROR.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER
 //        ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//        ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //         ^
 // [cfe] A setter should have exactly one formal parameter.
   var set e, f;
@@ -108,16 +100,13 @@
 // [cfe] The return type can't be 'var'.
 //        ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//        ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //         ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-// [cfe] A setter should have exactly one formal parameter.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] A setter should have exactly one formal parameter.
 // [cfe] Expected '{' before this.
-//         ^
 // [cfe] Expected a class member, but got ','.
 //           ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -130,9 +119,8 @@
   List get b, c;
   //        ^
   // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-  // [cfe] Expected '{' before this.
-  //        ^
   // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+  // [cfe] Expected '{' before this.
   // [cfe] Expected a class member, but got ','.
   //          ^
   // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -142,14 +130,13 @@
   List set d;
 //^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_VOID_RETURN_FOR_SETTER
-// [cfe] The return type of the setter must be 'void' or absent.
 //^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER
+// [cfe] The return type of the setter must be 'void' or absent.
 //         ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //          ^
 // [cfe] A setter should have exactly one formal parameter.
   List set e, f;
@@ -158,16 +145,13 @@
 // [cfe] The return type of the setter must be 'void' or absent.
 //         ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //          ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-// [cfe] A setter should have exactly one formal parameter.
-//          ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] A setter should have exactly one formal parameter.
 // [cfe] Expected '{' before this.
-//          ^
 // [cfe] Expected a class member, but got ','.
 //            ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -180,9 +164,8 @@
   List<int> get b, c;
   //             ^
   // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-  // [cfe] Expected '{' before this.
-  //             ^
   // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+  // [cfe] Expected '{' before this.
   // [cfe] Expected a class member, but got ','.
   //               ^
   // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
@@ -192,14 +175,13 @@
   List<int> set d;
 //^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_VOID_RETURN_FOR_SETTER
-// [cfe] The return type of the setter must be 'void' or absent.
 //^^^^^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.CONCRETE_CLASS_WITH_ABSTRACT_MEMBER
+// [cfe] The return type of the setter must be 'void' or absent.
 //              ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//              ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //               ^
 // [cfe] A setter should have exactly one formal parameter.
   List<int> set e, f;
@@ -208,16 +190,13 @@
 // [cfe] The return type of the setter must be 'void' or absent.
 //              ^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER
-// [cfe] A method declaration needs an explicit list of parameters.
-//              ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_METHOD_PARAMETERS
+// [cfe] A method declaration needs an explicit list of parameters.
 //               ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_CLASS_MEMBER
-// [cfe] A setter should have exactly one formal parameter.
-//               ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
+// [cfe] A setter should have exactly one formal parameter.
 // [cfe] Expected '{' before this.
-//               ^
 // [cfe] Expected a class member, but got ','.
 //                 ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
diff --git a/tests/language_2/getter/syntax_runtime_1_test.dart b/tests/language_2/getter/syntax_runtime_1_test.dart
index c64ac20..0fd7fcc 100644
--- a/tests/language_2/getter/syntax_runtime_1_test.dart
+++ b/tests/language_2/getter/syntax_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/syntax_runtime_test.dart b/tests/language_2/getter/syntax_runtime_test.dart
index baf1437..abd575c 100644
--- a/tests/language_2/getter/syntax_runtime_test.dart
+++ b/tests/language_2/getter/syntax_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/getter/unbound_test.dart b/tests/language_2/getter/unbound_test.dart
index 8eb2120..eb4d297 100644
--- a/tests/language_2/getter/unbound_test.dart
+++ b/tests/language_2/getter/unbound_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Verify that an unbound getter is properly resolved at runtime.
 
+// @dart = 2.9
+
 class A {
   const A();
   foo() {
diff --git a/tests/language_2/identifier/built_in_identifier_test.dart b/tests/language_2/identifier/built_in_identifier_test.dart
index 50cc344..a19d893 100644
--- a/tests/language_2/identifier/built_in_identifier_test.dart
+++ b/tests/language_2/identifier/built_in_identifier_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that we can use pseudo keywords as names in function level code.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class PseudoKWTest {
diff --git a/tests/language_2/identifier/built_in_illegal_runtime_test.dart b/tests/language_2/identifier/built_in_illegal_runtime_test.dart
index ab96118..667aa87 100644
--- a/tests/language_2/identifier/built_in_illegal_runtime_test.dart
+++ b/tests/language_2/identifier/built_in_illegal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/identifier/built_in_illegal_test.dart b/tests/language_2/identifier/built_in_illegal_test.dart
index 12be975..822bfc9 100644
--- a/tests/language_2/identifier/built_in_illegal_test.dart
+++ b/tests/language_2/identifier/built_in_illegal_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that we cannot use a pseudo keyword at the class level code.
 
+// @dart = 2.9
+
 // Pseudo keywords are not allowed to be used as class names.
 class abstract { }
 //    ^^^^^^^^
@@ -19,23 +21,18 @@
 class export { }
 //    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.DIRECTIVE_AFTER_DECLARATION
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] Directives must appear before any declarations.
-//    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] Directives must appear before any declarations.
 // [cfe] Expected an identifier, but got 'export'.
-// [error line 19, column 14, length 0]
-// [cfe] Expected ';' after this.
 //           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] Expected a String, but got '{'.
-//           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_STRING_LITERAL
-// [cfe] Expected a declaration, but got '{'.
-//           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+// [cfe] Expected ';' after this.
+// [cfe] Expected a String, but got '{'.
+// [cfe] Expected a declaration, but got '{'.
 class external { }
 //    ^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.BUILT_IN_IDENTIFIER_IN_DECLARATION
@@ -47,12 +44,10 @@
 class get { }
 //    ^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_PARAMETERS
-// [cfe] A function declaration needs an explicit list of parameters.
-//    ^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] A function declaration needs an explicit list of parameters.
 // [cfe] Expected an identifier, but got 'get'.
 class interface { }
 //    ^^^^^^^^^
@@ -62,37 +57,31 @@
 //    ^^^^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
 // [cfe] Expected an identifier, but got 'implements'.
-// [error line 61, column 18, length 0]
+// [error line 56, column 18, length 0]
 // [analyzer] COMPILE_TIME_ERROR.IMPLEMENTS_NON_CLASS
-// [cfe] Expected a type, but got '{'.
 //               ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TYPE_NAME
+// [cfe] Expected a type, but got '{'.
 class import { }
 //    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.DIRECTIVE_AFTER_DECLARATION
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] Directives must appear before any declarations.
-//    ^^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] Directives must appear before any declarations.
 // [cfe] Expected an identifier, but got 'import'.
-// [error line 70, column 14, length 0]
-// [cfe] Expected ';' after this.
 //           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] Expected a String, but got '{'.
-//           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_STRING_LITERAL
-// [cfe] Expected a declaration, but got '{'.
-//           ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+// [cfe] Expected ';' after this.
+// [cfe] Expected a String, but got '{'.
+// [cfe] Expected a declaration, but got '{'.
 class mixin { }
 //    ^^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
 // [cfe] Expected an identifier, but got 'mixin'.
 //          ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
@@ -100,21 +89,18 @@
 class library { }
 //    ^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.LIBRARY_DIRECTIVE_NOT_FIRST
-// [cfe] Expected an identifier, but got 'library'.
-//    ^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] Expected an identifier, but got 'library'.
 // [cfe] The library directive must appear before all other directives.
 //            ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
 // [cfe] Expected an identifier, but got '{'.
 //              ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] Expected ';' after this.
-//              ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+// [cfe] Expected ';' after this.
 // [cfe] Expected a declaration, but got '}'.
 class operator { }
 //    ^^^^^^^^
@@ -123,32 +109,25 @@
 class part { }
 //    ^^^^
 // [analyzer] SYNTACTIC_ERROR.DIRECTIVE_AFTER_DECLARATION
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] Directives must appear before any declarations.
-//    ^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] Directives must appear before any declarations.
 // [cfe] Expected an identifier, but got 'part'.
-// [error line 123, column 12, length 0]
-// [cfe] Expected ';' after this.
 //         ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] Expected a String, but got '{'.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_STRING_LITERAL
-// [cfe] Expected a declaration, but got '{'.
-//         ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+// [cfe] Expected ';' after this.
+// [cfe] Expected a String, but got '{'.
+// [cfe] Expected a declaration, but got '{'.
 class set { }
 //    ^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_PARAMETERS
-// [cfe] A function declaration needs an explicit list of parameters.
-//    ^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
+// [cfe] A function declaration needs an explicit list of parameters.
 // [cfe] Expected an identifier, but got 'set'.
 class static { }
 //    ^^^^^^
@@ -157,21 +136,18 @@
 class typedef { }
 //    ^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_BODY
-// [cfe] A class declaration must have a body, even if it is empty.
-//    ^^^^^^^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+// [cfe] A class declaration must have a body, even if it is empty.
 // [cfe] Expected an identifier, but got 'typedef'.
 //            ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
 // [cfe] Expected an identifier, but got '{'.
 //              ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
-// [cfe] A typedef needs an explicit list of parameters.
-//              ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-// [cfe] Expected ';' after this.
-//              ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_TYPEDEF_PARAMETERS
+// [cfe] A typedef needs an explicit list of parameters.
+// [cfe] Expected ';' after this.
 // [cfe] Expected a declaration, but got '}'.
 
 main() {}
diff --git a/tests/language_2/identifier/built_in_not_prefix_test.dart b/tests/language_2/identifier/built_in_not_prefix_test.dart
index db1e856..d6f22b6 100644
--- a/tests/language_2/identifier/built_in_not_prefix_test.dart
+++ b/tests/language_2/identifier/built_in_not_prefix_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.9
+
 // From The Dart Programming Language Specification, section 16.33
 // "Identifier Reference":
 //
diff --git a/tests/language_2/identifier/built_in_prefix_library_async.dart b/tests/language_2/identifier/built_in_prefix_library_async.dart
index 5662dae..88994e7 100644
--- a/tests/language_2/identifier/built_in_prefix_library_async.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_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.9
+
 library async;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_await.dart b/tests/language_2/identifier/built_in_prefix_library_await.dart
index c4f5d37..9508b84 100644
--- a/tests/language_2/identifier/built_in_prefix_library_await.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_await.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library await;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_hide.dart b/tests/language_2/identifier/built_in_prefix_library_hide.dart
index 6c686a0..e91272c 100644
--- a/tests/language_2/identifier/built_in_prefix_library_hide.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_hide.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library hide;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_library.dart b/tests/language_2/identifier/built_in_prefix_library_library.dart
index 6565cec..3a69301 100644
--- a/tests/language_2/identifier/built_in_prefix_library_library.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_of.dart b/tests/language_2/identifier/built_in_prefix_library_of.dart
index e2fec7d..fb061ca 100644
--- a/tests/language_2/identifier/built_in_prefix_library_of.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_of.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library of;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_on.dart b/tests/language_2/identifier/built_in_prefix_library_on.dart
index 861eac9..48658f5 100644
--- a/tests/language_2/identifier/built_in_prefix_library_on.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_on.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library on;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_show.dart b/tests/language_2/identifier/built_in_prefix_library_show.dart
index 12f2e7b..54bcc77 100644
--- a/tests/language_2/identifier/built_in_prefix_library_show.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_show.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library show;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_sync.dart b/tests/language_2/identifier/built_in_prefix_library_sync.dart
index e63a2b2..004c3fb 100644
--- a/tests/language_2/identifier/built_in_prefix_library_sync.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_sync.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library sync;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_prefix_library_yield.dart b/tests/language_2/identifier/built_in_prefix_library_yield.dart
index 2b97a2c..f3193be 100644
--- a/tests/language_2/identifier/built_in_prefix_library_yield.dart
+++ b/tests/language_2/identifier/built_in_prefix_library_yield.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library yield;
 
 class A {}
diff --git a/tests/language_2/identifier/built_in_type_annotation_test.dart b/tests/language_2/identifier/built_in_type_annotation_test.dart
index 5225709..4ef7b53 100644
--- a/tests/language_2/identifier/built_in_type_annotation_test.dart
+++ b/tests/language_2/identifier/built_in_type_annotation_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.9
+
 // From The Dart Programming Language Specification, section 16.33
 // "Identifier Reference":
 //
diff --git a/tests/language_2/identifier/known_prefix_error_runtime_test.dart b/tests/language_2/identifier/known_prefix_error_runtime_test.dart
index 2d4a40c..f83e405 100644
--- a/tests/language_2/identifier/known_prefix_error_runtime_test.dart
+++ b/tests/language_2/identifier/known_prefix_error_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/identifier/known_prefix_error_test.dart b/tests/language_2/identifier/known_prefix_error_test.dart
index 06ec097..73a5e97 100644
--- a/tests/language_2/identifier/known_prefix_error_test.dart
+++ b/tests/language_2/identifier/known_prefix_error_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.9
+
 // Test that identifiers which are used explicitly in the grammar but are
 // not built-in identifiers can be used as library prefixes.
 
@@ -22,52 +24,44 @@
 import 'built_in_prefix_library_yield.dart' as yield;
 
 async<dynamic> _async = new async.A();
-// [error line 24, column 1, length 5]
+// [error line 26, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'async' isn't a type.
-// [error line 24, column 1]
 // [cfe] Expected 0 type arguments.
 await<dynamic> _await = new await.A();
-// [error line 30, column 1, length 5]
+// [error line 31, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'await' isn't a type.
-// [error line 30, column 1]
 // [cfe] Expected 0 type arguments.
 hide<dynamic> _hide = new hide.A();
 // [error line 36, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'hide' isn't a type.
-// [error line 36, column 1]
 // [cfe] Expected 0 type arguments.
 of<dynamic> _of = new of.A();
-// [error line 42, column 1, length 2]
+// [error line 41, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'of' isn't a type.
-// [error line 42, column 1]
 // [cfe] Expected 0 type arguments.
 on<dynamic> _on = new on.A();
-// [error line 48, column 1, length 2]
+// [error line 46, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'on' isn't a type.
-// [error line 48, column 1]
 // [cfe] Expected 0 type arguments.
 show<dynamic> _show = new show.A();
-// [error line 54, column 1, length 4]
+// [error line 51, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'show' isn't a type.
-// [error line 54, column 1]
 // [cfe] Expected 0 type arguments.
 sync<dynamic> _sync = new sync.A();
-// [error line 60, column 1, length 4]
+// [error line 56, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'sync' isn't a type.
-// [error line 60, column 1]
 // [cfe] Expected 0 type arguments.
 yield<dynamic> _yield = new yield.A();
-// [error line 66, column 1, length 5]
+// [error line 61, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'yield' isn't a type.
-// [error line 66, column 1]
 // [cfe] Expected 0 type arguments.
 
 async.B<async> _B_async = new async.B();
@@ -107,49 +101,41 @@
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'async' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 await.B<await<dynamic>> _B2_await = new await.B();
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'await' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 hide.B<hide<dynamic>> _B2_hide = new hide.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'hide' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 of.B<of<dynamic>> _B2_of = new of.B();
 //   ^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'of' isn't a type.
-//   ^
 // [cfe] Expected 0 type arguments.
 on.B<on<dynamic>> _B2_on = new on.B();
 //   ^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'on' isn't a type.
-//   ^
 // [cfe] Expected 0 type arguments.
 show.B<show<dynamic>> _B2_show = new show.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'show' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 sync.B<sync<dynamic>> _B2_sync = new sync.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'sync' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 yield.B<yield<dynamic>> _B2_yield = new yield.B();
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'yield' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 
 main() {
diff --git a/tests/language_2/identifier/known_prefix_test.dart b/tests/language_2/identifier/known_prefix_test.dart
index 9caf67b..2b18de7 100644
--- a/tests/language_2/identifier/known_prefix_test.dart
+++ b/tests/language_2/identifier/known_prefix_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.9
+
 // The identifiers listed below are mentioned in the grammar, but none of
 // them is a reserved word or a built-in identifier. Such an identifier can
 // be used as library prefix. Here are said 'known' identifiers:
diff --git a/tests/language_2/identifier/known_usage_error_runtime_test.dart b/tests/language_2/identifier/known_usage_error_runtime_test.dart
index 51520d0..29a187d 100644
--- a/tests/language_2/identifier/known_usage_error_runtime_test.dart
+++ b/tests/language_2/identifier/known_usage_error_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/identifier/known_usage_error_test.dart b/tests/language_2/identifier/known_usage_error_test.dart
index a0f8866..5554cf8 100644
--- a/tests/language_2/identifier/known_usage_error_test.dart
+++ b/tests/language_2/identifier/known_usage_error_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.9
+
 // The identifiers listed below are mentioned in the grammar, but none of
 // them is a reserved word or a built-in identifier. Such an identifier can
 // be used just like all other identifiers, with the exceptions mentioned
diff --git a/tests/language_2/identifier/known_usage_test.dart b/tests/language_2/identifier/known_usage_test.dart
index 51eaf83..00eb2e8 100644
--- a/tests/language_2/identifier/known_usage_test.dart
+++ b/tests/language_2/identifier/known_usage_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.9
+
 // The identifiers listed below are mentioned in the grammar, but none of
 // them is a reserved word or a built-in identifier. Such an identifier can
 // be used just like all other identifiers, with a few exceptions. Here are
diff --git a/tests/language_2/identifier/naming2_test.dart b/tests/language_2/identifier/naming2_test.dart
index f9c0800..a23b0be 100644
--- a/tests/language_2/identifier/naming2_test.dart
+++ b/tests/language_2/identifier/naming2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/identifier/naming3_test.dart b/tests/language_2/identifier/naming3_test.dart
index 3936778..4017b7f 100644
--- a/tests/language_2/identifier/naming3_test.dart
+++ b/tests/language_2/identifier/naming3_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/identifier/naming_test.dart b/tests/language_2/identifier/naming_test.dart
index 07f92e8..4ab6a00 100644
--- a/tests/language_2/identifier/naming_test.dart
+++ b/tests/language_2/identifier/naming_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/identity/closure2_test.dart b/tests/language_2/identity/closure2_test.dart
index 5b9621e..1027b63 100644
--- a/tests/language_2/identity/closure2_test.dart
+++ b/tests/language_2/identity/closure2_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.9
+
 import "package:expect/expect.dart";
 
 var myIdentical = identical;
diff --git a/tests/language_2/identity/closure_test.dart b/tests/language_2/identity/closure_test.dart
index 62f47d0..63e7d91 100644
--- a/tests/language_2/identity/closure_test.dart
+++ b/tests/language_2/identity/closure_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.9
+
 import "package:expect/expect.dart";
 
 var myIdentical = identical;
diff --git a/tests/language_2/identity/const_test.dart b/tests/language_2/identity/const_test.dart
index 9c62b06..2ea728b 100644
--- a/tests/language_2/identity/const_test.dart
+++ b/tests/language_2/identity/const_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.9
+
 import 'package:expect/expect.dart';
 
 f() {}
diff --git a/tests/language_2/identity/identical_test.dart b/tests/language_2/identity/identical_test.dart
index 244f814..8be2590 100644
--- a/tests/language_2/identity/identical_test.dart
+++ b/tests/language_2/identity/identical_test.dart
@@ -4,6 +4,8 @@
 // Test efficient and correct implementation of !identical(a, b).
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 notIdenticalTest1(a) {
diff --git a/tests/language_2/identity/mint_identical_test.dart b/tests/language_2/identity/mint_identical_test.dart
index a499a9e..ab81c99 100644
--- a/tests/language_2/identity/mint_identical_test.dart
+++ b/tests/language_2/identity/mint_identical_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/identity/nan_identical_test.dart b/tests/language_2/identity/nan_identical_test.dart
index 83fa7e4..b352f80 100644
--- a/tests/language_2/identity/nan_identical_test.dart
+++ b/tests/language_2/identity/nan_identical_test.dart
@@ -4,6 +4,8 @@
 // Test a new statement by itself.
 // VMOptions=--optimization-counter-threshold=4 --no-use-osr
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/identity/strict_equal_test.dart b/tests/language_2/identity/strict_equal_test.dart
index 31c31cd..72f4691 100644
--- a/tests/language_2/identity/strict_equal_test.dart
+++ b/tests/language_2/identity/strict_equal_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/if/and_test.dart b/tests/language_2/if/and_test.dart
index 55c28da..531e38d 100644
--- a/tests/language_2/if/and_test.dart
+++ b/tests/language_2/if/and_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.9
+
 import "package:expect/expect.dart";
 
 // The "if (negative) res2 |= 3" below can be emitted as negative && (res2 |= 3)
diff --git a/tests/language_2/if/dangling_else_test.dart b/tests/language_2/if/dangling_else_test.dart
index 4790e57..921c3b5 100644
--- a/tests/language_2/if/dangling_else_test.dart
+++ b/tests/language_2/if/dangling_else_test.dart
@@ -4,6 +4,8 @@
 // Tests dangling else. The VM should not have any problems, but dart2js or
 // dart2dart could get this wrong.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 nestedIf1(notTrue) {
diff --git a/tests/language_2/if/if_test.dart b/tests/language_2/if/if_test.dart
index 86b72029..5b48a2e 100644
--- a/tests/language_2/if/if_test.dart
+++ b/tests/language_2/if/if_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing if statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/if/nested_if_test.dart b/tests/language_2/if/nested_if_test.dart
index 41c7d34..3e347e5 100644
--- a/tests/language_2/if/nested_if_test.dart
+++ b/tests/language_2/if/nested_if_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart2Js had problems with nested ifs inside loops.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 foo(x, a) {
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_10_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_10_test.dart
index 6fba05c..00ba8d5 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_10_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_13_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_13_test.dart
index e168581..f46dc5d 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_13_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_13_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_14_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_14_test.dart
index 17a5c90..5393933 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_14_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_14_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_15_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_15_test.dart
index 9310956..89de7c3 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_15_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_15_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_16_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_16_test.dart
index 8781d7a..e67d1c0 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_16_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_16_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_17_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_17_test.dart
index 55c4fbe..54d92de 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_17_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_17_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_18_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_18_test.dart
index 190aeb0..0d0bae1 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_18_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_18_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_19_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_19_test.dart
index 0aa6394..ab7e577 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_19_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_19_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_1_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_1_test.dart
index 8c461f7..5714958 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_1_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_20_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_20_test.dart
index a76471b..cec8faa 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_20_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_20_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_21_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_21_test.dart
index 88129e0..d9c7612 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_21_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_21_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_22_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_22_test.dart
index 3b09af8..48287db 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_22_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_22_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_23_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_23_test.dart
index eeae2ec..acc4b16 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_23_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_23_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_24_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_24_test.dart
index 21b0594..697e6de 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_24_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_24_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_25_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_25_test.dart
index e323f4d..ecd8f44 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_25_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_25_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_26_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_26_test.dart
index afd709b..707d2fd 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_26_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_26_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_27_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_27_test.dart
index 97fa09c..2afb861 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_27_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_27_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_2_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_2_test.dart
index 24750fa..ed3489a 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_2_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_3_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_3_test.dart
index bca92f8..8fe5ecb 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_3_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_4_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_4_test.dart
index 027437f..b4aa3da 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_4_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_5_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_5_test.dart
index 534bffd..20a0ccc 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_5_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_6_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_6_test.dart
index fbe170b..9505cd7 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_6_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_7_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_7_test.dart
index 8009cf4..4ba0c2b 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_7_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_8_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_8_test.dart
index 739db83..5d0674c 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_8_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_9_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_9_test.dart
index 3acef40..be41efa 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_9_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_runtime_test.dart b/tests/language_2/if_null/assignment_behavior_runtime_test.dart
index 4ef49b0..7bdbbcb 100644
--- a/tests/language_2/if_null/assignment_behavior_runtime_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/assignment_behavior_test.dart b/tests/language_2/if_null/assignment_behavior_test.dart
index 6b02779..3d517c7 100644
--- a/tests/language_2/if_null/assignment_behavior_test.dart
+++ b/tests/language_2/if_null/assignment_behavior_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.9
+
 // Verify semantics of the ??= operator, including order of operations, by
 // keeping track of the operations performed.
 
diff --git a/tests/language_2/if_null/assignment_helper.dart b/tests/language_2/if_null/assignment_helper.dart
index 9d6819b..281ae52 100644
--- a/tests/language_2/if_null/assignment_helper.dart
+++ b/tests/language_2/if_null/assignment_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.9
+
 // Library used by if_null_assignment_behavior_test.dart, which
 // imports it using the prefix "h.".
 
diff --git a/tests/language_2/if_null/assignment_static_test.dart b/tests/language_2/if_null/assignment_static_test.dart
index e368336..020b988 100644
--- a/tests/language_2/if_null/assignment_static_test.dart
+++ b/tests/language_2/if_null/assignment_static_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.9
+
 // Verify that the static type of a ??= b is the least upper bound of the
 // static types of a and b.
 
diff --git a/tests/language_2/if_null/behavior_test.dart b/tests/language_2/if_null/behavior_test.dart
index ac93cff..0242202 100644
--- a/tests/language_2/if_null/behavior_test.dart
+++ b/tests/language_2/if_null/behavior_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.9
+
 // Evaluation of an if-null expression e of the form e1 ?? e2 is equivalent to
 // the evaluation of the expression ((x) => x == null ? e2 : x)(e1).  The
 // static type of e is the least upper bound of the static type of e1 and the
diff --git a/tests/language_2/if_null/evaluation_order_test.dart b/tests/language_2/if_null/evaluation_order_test.dart
index c819a9b..4d40b88 100644
--- a/tests/language_2/if_null/evaluation_order_test.dart
+++ b/tests/language_2/if_null/evaluation_order_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.9
+
 // Evaluation of an if-null expression e of the form e1 ?? e2 is equivalent to
 // the evaluation of the expression ((x) => x == null ? e2 : x)(e1).
 //
diff --git a/tests/language_2/if_null/precedence_runtime_test.dart b/tests/language_2/if_null/precedence_runtime_test.dart
index 27f4d85..f91ef9b 100644
--- a/tests/language_2/if_null/precedence_runtime_test.dart
+++ b/tests/language_2/if_null/precedence_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/if_null/precedence_test.dart b/tests/language_2/if_null/precedence_test.dart
index 224238f..a5b5d16 100644
--- a/tests/language_2/if_null/precedence_test.dart
+++ b/tests/language_2/if_null/precedence_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.9
+
 // Verify that '??' binds tighter than '?:' and less tightly than '||'.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_named_test.dart b/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_named_test.dart
index 468077d..82b0151 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_named_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.9
+
 import "package:expect/expect.dart";
 
 // Test that constructor invocations are constant
diff --git a/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_test.dart b/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_test.dart
index ffeb1fe..a23dad5 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_constructor_generic_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.9
+
 import "package:expect/expect.dart";
 
 // Test that constructor invocations are constant
diff --git a/tests/language_2/implicit_creation/implicit_const_context_constructor_named_test.dart b/tests/language_2/implicit_creation/implicit_const_context_constructor_named_test.dart
index 16345ab..cf308ef 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_constructor_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_constructor_named_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.9
+
 import "package:expect/expect.dart";
 
 // Test that constructor invocations are constant
diff --git a/tests/language_2/implicit_creation/implicit_const_context_constructor_test.dart b/tests/language_2/implicit_creation/implicit_const_context_constructor_test.dart
index fec39c2..a80dcde 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_constructor_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_constructor_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.9
+
 import "package:expect/expect.dart";
 
 // Test that constructor invocations are constant
diff --git a/tests/language_2/implicit_creation/implicit_const_context_list_test.dart b/tests/language_2/implicit_creation/implicit_const_context_list_test.dart
index c089d35..c8aa9a0 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_list_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_list_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.9
+
 import "package:expect/expect.dart";
 
 // Test that list literals are constant when evaluated in a const context.
diff --git a/tests/language_2/implicit_creation/implicit_const_context_map_test.dart b/tests/language_2/implicit_creation/implicit_const_context_map_test.dart
index 231bfc3..b9f8668 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_map_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_map_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.9
+
 import "package:expect/expect.dart";
 
 // Test that map literals are constant when evaluated in a const context.
diff --git a/tests/language_2/implicit_creation/implicit_const_context_not_test.dart b/tests/language_2/implicit_creation/implicit_const_context_not_test.dart
index 7d69c0a..8f8d999 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_not_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_not_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.9
+
 import "package:expect/expect.dart";
 
 // Check places that are *not* supposed to be constant contexts,
diff --git a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_named_test.dart b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_named_test.dart
index 0455aa7..765272d 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_named_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_const_context_prefix_constructor_generic_named_test.dart"
diff --git a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_test.dart b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_test.dart
index e86289f..b4105a8 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_generic_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_const_context_prefix_constructor_generic_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_named_test.dart b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_named_test.dart
index 4ab1603..61d604e 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_named_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_const_context_prefix_constructor_named_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_test.dart b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_test.dart
index cfd8fd1..98b58af 100644
--- a/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_context_prefix_constructor_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_const_context_prefix_constructor_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_const_not_default_values_test.dart b/tests/language_2/implicit_creation/implicit_const_not_default_values_test.dart
index 3968dea..77ed9a6 100644
--- a/tests/language_2/implicit_creation/implicit_const_not_default_values_test.dart
+++ b/tests/language_2/implicit_creation/implicit_const_not_default_values_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.9
+
 // Tests that const/new-insertion does the right thing for default values.
 // A default-value expression does not introduce a const context.
 
diff --git a/tests/language_2/implicit_creation/implicit_new_constructor_generic_named_test.dart b/tests/language_2/implicit_creation/implicit_new_constructor_generic_named_test.dart
index 11d9aa1..ce3612d 100644
--- a/tests/language_2/implicit_creation/implicit_new_constructor_generic_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_constructor_generic_named_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.9
+
 import "package:expect/expect.dart";
 
 // Test that an omitted `new` is allowed for a generic constructor invocation.
diff --git a/tests/language_2/implicit_creation/implicit_new_constructor_generic_test.dart b/tests/language_2/implicit_creation/implicit_new_constructor_generic_test.dart
index aca30e2..c53178a 100644
--- a/tests/language_2/implicit_creation/implicit_new_constructor_generic_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_constructor_generic_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.9
+
 import "package:expect/expect.dart";
 
 // Test that an omitted `new` is allowed for a generic constructor invocation.
diff --git a/tests/language_2/implicit_creation/implicit_new_constructor_named_test.dart b/tests/language_2/implicit_creation/implicit_new_constructor_named_test.dart
index 2b45bd5..a8a4f14 100644
--- a/tests/language_2/implicit_creation/implicit_new_constructor_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_constructor_named_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.9
+
 import "package:expect/expect.dart";
 
 // Test that an omitted `new` is allowed for a non-generic class.
diff --git a/tests/language_2/implicit_creation/implicit_new_constructor_test.dart b/tests/language_2/implicit_creation/implicit_new_constructor_test.dart
index ff7cc4c..88899b9 100644
--- a/tests/language_2/implicit_creation/implicit_new_constructor_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_constructor_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.9
+
 import "package:expect/expect.dart";
 
 // Test that an omitted `new` is allowed for a non-generic class.
diff --git a/tests/language_2/implicit_creation/implicit_new_or_const_composite_test.dart b/tests/language_2/implicit_creation/implicit_new_or_const_composite_test.dart
index 3b9af6d..47613fb 100644
--- a/tests/language_2/implicit_creation/implicit_new_or_const_composite_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_or_const_composite_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that new-insertion always inserts `new` when not in const context,
diff --git a/tests/language_2/implicit_creation/implicit_new_or_const_generic_test.dart b/tests/language_2/implicit_creation/implicit_new_or_const_generic_test.dart
index 9afaba7..538207f 100644
--- a/tests/language_2/implicit_creation/implicit_new_or_const_generic_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_or_const_generic_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_or_const_generic_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_new_or_const_test.dart b/tests/language_2/implicit_creation/implicit_new_or_const_test.dart
index 1d217a6..aaef189 100644
--- a/tests/language_2/implicit_creation/implicit_new_or_const_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_or_const_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_or_const_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_named_test.dart b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_named_test.dart
index 600537c..d9cc0ad 100644
--- a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_named_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_prefix_constructor_generic_named_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_test.dart b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_test.dart
index 3487d90..6fa68b3 100644
--- a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_generic_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_prefix_constructor_generic_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_named_test.dart b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_named_test.dart
index b230342..5fe0616 100644
--- a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_named_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_named_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_prefix_constructor_named_test.dart" as prefix;
diff --git a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_test.dart b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_test.dart
index 3205294..71a917e 100644
--- a/tests/language_2/implicit_creation/implicit_new_prefix_constructor_test.dart
+++ b/tests/language_2/implicit_creation/implicit_new_prefix_constructor_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.9
+
 import "package:expect/expect.dart";
 
 import "implicit_new_prefix_constructor_test.dart" as prefix;
diff --git a/tests/language_2/implicit_downcast_during/assert_initializer_test.dart b/tests/language_2/implicit_downcast_during/assert_initializer_test.dart
index ec842e2..e28353f 100644
--- a/tests/language_2/implicit_downcast_during/assert_initializer_test.dart
+++ b/tests/language_2/implicit_downcast_during/assert_initializer_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.9
+
 class C {
   C.oneArg(Object x) : assert(x);
   C.twoArgs(Object x, Object y) : assert(x, y);
diff --git a/tests/language_2/implicit_downcast_during/assert_statement_test.dart b/tests/language_2/implicit_downcast_during/assert_statement_test.dart
index 9c34aca..f0a3e00 100644
--- a/tests/language_2/implicit_downcast_during/assert_statement_test.dart
+++ b/tests/language_2/implicit_downcast_during/assert_statement_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.9
+
 void main() {
   Object b = true;
   assert(b); // No error
diff --git a/tests/language_2/implicit_downcast_during/assignment_test.dart b/tests/language_2/implicit_downcast_during/assignment_test.dart
index 73f773b..28a8925 100644
--- a/tests/language_2/implicit_downcast_during/assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/combiner_test.dart b/tests/language_2/implicit_downcast_during/combiner_test.dart
index d329b82..3ebd023 100644
--- a/tests/language_2/implicit_downcast_during/combiner_test.dart
+++ b/tests/language_2/implicit_downcast_during/combiner_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/compound_assignment_test.dart b/tests/language_2/implicit_downcast_during/compound_assignment_test.dart
index 550fe92..6d05918 100644
--- a/tests/language_2/implicit_downcast_during/compound_assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/compound_assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/conditional_expression_test.dart b/tests/language_2/implicit_downcast_during/conditional_expression_test.dart
index 849c04b..89c379c 100644
--- a/tests/language_2/implicit_downcast_during/conditional_expression_test.dart
+++ b/tests/language_2/implicit_downcast_during/conditional_expression_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/constructor_initializer_test.dart b/tests/language_2/implicit_downcast_during/constructor_initializer_test.dart
index 3191bfd..18bde65 100644
--- a/tests/language_2/implicit_downcast_during/constructor_initializer_test.dart
+++ b/tests/language_2/implicit_downcast_during/constructor_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/constructor_invocation_test.dart b/tests/language_2/implicit_downcast_during/constructor_invocation_test.dart
index 84a1cf8..e6d26b4 100644
--- a/tests/language_2/implicit_downcast_during/constructor_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/constructor_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/do_test.dart b/tests/language_2/implicit_downcast_during/do_test.dart
index 43c76d7..ca3cebf 100644
--- a/tests/language_2/implicit_downcast_during/do_test.dart
+++ b/tests/language_2/implicit_downcast_during/do_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/factory_constructor_invocation_test.dart b/tests/language_2/implicit_downcast_during/factory_constructor_invocation_test.dart
index 4ca7440..09aca6a 100644
--- a/tests/language_2/implicit_downcast_during/factory_constructor_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/factory_constructor_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/field_declaration_test.dart b/tests/language_2/implicit_downcast_during/field_declaration_test.dart
index 339e6d3..5a41dbc 100644
--- a/tests/language_2/implicit_downcast_during/field_declaration_test.dart
+++ b/tests/language_2/implicit_downcast_during/field_declaration_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/for_condition_test.dart b/tests/language_2/implicit_downcast_during/for_condition_test.dart
index 092a4b4..037fb82 100644
--- a/tests/language_2/implicit_downcast_during/for_condition_test.dart
+++ b/tests/language_2/implicit_downcast_during/for_condition_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/for_in_element_test.dart b/tests/language_2/implicit_downcast_during/for_in_element_test.dart
index 230b354..5910259 100644
--- a/tests/language_2/implicit_downcast_during/for_in_element_test.dart
+++ b/tests/language_2/implicit_downcast_during/for_in_element_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/for_in_iterable_test.dart b/tests/language_2/implicit_downcast_during/for_in_iterable_test.dart
index 5ecc2fc..3d4e2de 100644
--- a/tests/language_2/implicit_downcast_during/for_in_iterable_test.dart
+++ b/tests/language_2/implicit_downcast_during/for_in_iterable_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/for_initializer_expression_test.dart b/tests/language_2/implicit_downcast_during/for_initializer_expression_test.dart
index 88d504f..d9bacb5 100644
--- a/tests/language_2/implicit_downcast_during/for_initializer_expression_test.dart
+++ b/tests/language_2/implicit_downcast_during/for_initializer_expression_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/for_initializer_var_test.dart b/tests/language_2/implicit_downcast_during/for_initializer_var_test.dart
index a0c10bf..847e5de 100644
--- a/tests/language_2/implicit_downcast_during/for_initializer_var_test.dart
+++ b/tests/language_2/implicit_downcast_during/for_initializer_var_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/function_literal_arrow_test.dart b/tests/language_2/implicit_downcast_during/function_literal_arrow_test.dart
index b74f788..7ee2d92 100644
--- a/tests/language_2/implicit_downcast_during/function_literal_arrow_test.dart
+++ b/tests/language_2/implicit_downcast_during/function_literal_arrow_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/function_literal_return_test.dart b/tests/language_2/implicit_downcast_during/function_literal_return_test.dart
index 791f2cd..6eaf42c 100644
--- a/tests/language_2/implicit_downcast_during/function_literal_return_test.dart
+++ b/tests/language_2/implicit_downcast_during/function_literal_return_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/if_null_assignment_test.dart b/tests/language_2/implicit_downcast_during/if_null_assignment_test.dart
index 4e7ea7f..04e917c 100644
--- a/tests/language_2/implicit_downcast_during/if_null_assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/if_null_assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/if_statement_test.dart b/tests/language_2/implicit_downcast_during/if_statement_test.dart
index c1ca741..6d954a8 100644
--- a/tests/language_2/implicit_downcast_during/if_statement_test.dart
+++ b/tests/language_2/implicit_downcast_during/if_statement_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/indexed_assignment_test.dart b/tests/language_2/implicit_downcast_during/indexed_assignment_test.dart
index 8177fd5..86c7711 100644
--- a/tests/language_2/implicit_downcast_during/indexed_assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/indexed_assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/indexed_compound_assignment_test.dart b/tests/language_2/implicit_downcast_during/indexed_compound_assignment_test.dart
index 153ca69..18f2c11 100644
--- a/tests/language_2/implicit_downcast_during/indexed_compound_assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/indexed_compound_assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/indexed_get_test.dart b/tests/language_2/implicit_downcast_during/indexed_get_test.dart
index 83f453c..7886e35 100644
--- a/tests/language_2/implicit_downcast_during/indexed_get_test.dart
+++ b/tests/language_2/implicit_downcast_during/indexed_get_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/indexed_if_null_assignment_test.dart b/tests/language_2/implicit_downcast_during/indexed_if_null_assignment_test.dart
index b29b62b..b65ef3d 100644
--- a/tests/language_2/implicit_downcast_during/indexed_if_null_assignment_test.dart
+++ b/tests/language_2/implicit_downcast_during/indexed_if_null_assignment_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/invocation_test.dart b/tests/language_2/implicit_downcast_during/invocation_test.dart
index 8be03d1..b09e00f 100644
--- a/tests/language_2/implicit_downcast_during/invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/list_literal_test.dart b/tests/language_2/implicit_downcast_during/list_literal_test.dart
index e21d4c8..48d2716 100644
--- a/tests/language_2/implicit_downcast_during/list_literal_test.dart
+++ b/tests/language_2/implicit_downcast_during/list_literal_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/logical_expression_test.dart b/tests/language_2/implicit_downcast_during/logical_expression_test.dart
index dd0af27..8da77c0 100644
--- a/tests/language_2/implicit_downcast_during/logical_expression_test.dart
+++ b/tests/language_2/implicit_downcast_during/logical_expression_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/map_literal_test.dart b/tests/language_2/implicit_downcast_during/map_literal_test.dart
index d2b411d..a31f6a2 100644
--- a/tests/language_2/implicit_downcast_during/map_literal_test.dart
+++ b/tests/language_2/implicit_downcast_during/map_literal_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/method_invocation_test.dart b/tests/language_2/implicit_downcast_during/method_invocation_test.dart
index a220b9e..f67bf58 100644
--- a/tests/language_2/implicit_downcast_during/method_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/method_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/not_test.dart b/tests/language_2/implicit_downcast_during/not_test.dart
index 972d803..da1cbbb 100644
--- a/tests/language_2/implicit_downcast_during/not_test.dart
+++ b/tests/language_2/implicit_downcast_during/not_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/null_aware_method_invocation_test.dart b/tests/language_2/implicit_downcast_during/null_aware_method_invocation_test.dart
index 8b7f726..a538426 100644
--- a/tests/language_2/implicit_downcast_during/null_aware_method_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/null_aware_method_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/redirecting_initializer_test.dart b/tests/language_2/implicit_downcast_during/redirecting_initializer_test.dart
index 6dfcf8e..14c602a 100644
--- a/tests/language_2/implicit_downcast_during/redirecting_initializer_test.dart
+++ b/tests/language_2/implicit_downcast_during/redirecting_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/return_async_test.dart b/tests/language_2/implicit_downcast_during/return_async_test.dart
index aa50cd2..ceaeb3f 100644
--- a/tests/language_2/implicit_downcast_during/return_async_test.dart
+++ b/tests/language_2/implicit_downcast_during/return_async_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/implicit_downcast_during/return_test.dart b/tests/language_2/implicit_downcast_during/return_test.dart
index be16d9c..899706a 100644
--- a/tests/language_2/implicit_downcast_during/return_test.dart
+++ b/tests/language_2/implicit_downcast_during/return_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/static_method_invocation_test.dart b/tests/language_2/implicit_downcast_during/static_method_invocation_test.dart
index b43f324..4428b47 100644
--- a/tests/language_2/implicit_downcast_during/static_method_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/static_method_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/super_initializer_test.dart b/tests/language_2/implicit_downcast_during/super_initializer_test.dart
index ee9df78..b2b9be4 100644
--- a/tests/language_2/implicit_downcast_during/super_initializer_test.dart
+++ b/tests/language_2/implicit_downcast_during/super_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/super_method_invocation_test.dart b/tests/language_2/implicit_downcast_during/super_method_invocation_test.dart
index c0f7282..b2f804c 100644
--- a/tests/language_2/implicit_downcast_during/super_method_invocation_test.dart
+++ b/tests/language_2/implicit_downcast_during/super_method_invocation_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/variable_declaration_test.dart b/tests/language_2/implicit_downcast_during/variable_declaration_test.dart
index a2ddd74..c996db1 100644
--- a/tests/language_2/implicit_downcast_during/variable_declaration_test.dart
+++ b/tests/language_2/implicit_downcast_during/variable_declaration_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/while_statement_test.dart b/tests/language_2/implicit_downcast_during/while_statement_test.dart
index 83bc520..310c7c8 100644
--- a/tests/language_2/implicit_downcast_during/while_statement_test.dart
+++ b/tests/language_2/implicit_downcast_during/while_statement_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/implicit_downcast_during/yield_star_test.dart b/tests/language_2/implicit_downcast_during/yield_star_test.dart
index 3d326d9..09acc26 100644
--- a/tests/language_2/implicit_downcast_during/yield_star_test.dart
+++ b/tests/language_2/implicit_downcast_during/yield_star_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/implicit_downcast_during/yield_test.dart b/tests/language_2/implicit_downcast_during/yield_test.dart
index 59cf36f..97b69929 100644
--- a/tests/language_2/implicit_downcast_during/yield_test.dart
+++ b/tests/language_2/implicit_downcast_during/yield_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/import/collection_no_prefix_test.dart b/tests/language_2/import/collection_no_prefix_test.dart
index cf4f490..538be1a 100644
--- a/tests/language_2/import/collection_no_prefix_test.dart
+++ b/tests/language_2/import/collection_no_prefix_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.9
+
 // Dart test program importing the core library explicitly.
 
 library ImportCollectionNoPrefixTest.dart;
diff --git a/tests/language_2/import/combinators2_runtime_test.dart b/tests/language_2/import/combinators2_runtime_test.dart
index ec0051d..aeef4ba 100644
--- a/tests/language_2/import/combinators2_runtime_test.dart
+++ b/tests/language_2/import/combinators2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/import/combinators2_test.dart b/tests/language_2/import/combinators2_test.dart
index c1ee2fb..09312bc 100644
--- a/tests/language_2/import/combinators2_test.dart
+++ b/tests/language_2/import/combinators2_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.9
+
 // Dart test program importing with show/hide combinators.
 
 // Show "hide" and "show", hide "ugly".
diff --git a/tests/language_2/import/combinators_part.dart b/tests/language_2/import/combinators_part.dart
index 9db5453..d63ef05 100644
--- a/tests/language_2/import/combinators_part.dart
+++ b/tests/language_2/import/combinators_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // This file is part of the test import_combinators_test.dart
 
 part of importCombinatorsTest;
diff --git a/tests/language_2/import/combinators_test.dart b/tests/language_2/import/combinators_test.dart
index c330983..2c0f499 100644
--- a/tests/language_2/import/combinators_test.dart
+++ b/tests/language_2/import/combinators_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.9
+
 // Dart test program importing with show/hide combinators.
 
 library importCombinatorsTest;
diff --git a/tests/language_2/import/conditional_import_test.dart b/tests/language_2/import/conditional_import_test.dart
index 4aa3b31..0cabc2e 100644
--- a/tests/language_2/import/conditional_import_test.dart
+++ b/tests/language_2/import/conditional_import_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/import/conditional_string_test.dart b/tests/language_2/import/conditional_string_test.dart
index 2eafa52..8103d0e 100644
--- a/tests/language_2/import/conditional_string_test.dart
+++ b/tests/language_2/import/conditional_string_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/import/config_corelib_general.dart b/tests/language_2/import/config_corelib_general.dart
index 295f09a..fdd163e 100644
--- a/tests/language_2/import/config_corelib_general.dart
+++ b/tests/language_2/import/config_corelib_general.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Classy {
   String get name => "classy general";
   String httpSpecific() => throw UnimplementedError();
diff --git a/tests/language_2/import/config_corelib_http.dart b/tests/language_2/import/config_corelib_http.dart
index 857e391..be23011 100644
--- a/tests/language_2/import/config_corelib_http.dart
+++ b/tests/language_2/import/config_corelib_http.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "dart:http";
 
 class Classy {
diff --git a/tests/language_2/import/config_corelib_io.dart b/tests/language_2/import/config_corelib_io.dart
index 5e1543d..fe9b1e9 100644
--- a/tests/language_2/import/config_corelib_io.dart
+++ b/tests/language_2/import/config_corelib_io.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "dart:io";
 
 class Classy {
diff --git a/tests/language_2/import/config_corelib_test.dart b/tests/language_2/import/config_corelib_test.dart
index 362e41e..46262c1 100644
--- a/tests/language_2/import/config_corelib_test.dart
+++ b/tests/language_2/import/config_corelib_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.9
+
 import 'package:expect/expect.dart';
 
 import 'config_corelib_general.dart'
diff --git a/tests/language_2/import/core_no_prefix_test.dart b/tests/language_2/import/core_no_prefix_test.dart
index 254744f..146dfd7 100644
--- a/tests/language_2/import/core_no_prefix_test.dart
+++ b/tests/language_2/import/core_no_prefix_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.9
+
 // Dart test program importing the core library explicitly.
 
 library ImportCoreNoPrefixTest.dart;
diff --git a/tests/language_2/import/core_prefix_test.dart b/tests/language_2/import/core_prefix_test.dart
index 0f3374b..524bc94 100644
--- a/tests/language_2/import/core_prefix_test.dart
+++ b/tests/language_2/import/core_prefix_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test explicit import of dart:core in the source code..
 
+// @dart = 2.9
+
 library ImportCorePrefixTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/import/core_test.dart b/tests/language_2/import/core_test.dart
index 1256012..9bcd512 100644
--- a/tests/language_2/import/core_test.dart
+++ b/tests/language_2/import/core_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test explicit import of dart:core in the source code..
 
+// @dart = 2.9
+
 library ImportCoreTest.dart;
 
 import "dart:core";
diff --git a/tests/language_2/import/cyclic_test.dart b/tests/language_2/import/cyclic_test.dart
index d266b87..a9b1884 100644
--- a/tests/language_2/import/cyclic_test.dart
+++ b/tests/language_2/import/cyclic_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library CyclicImportTest;
 
 import 'sub/sub.dart';
diff --git a/tests/language_2/import/duplicate_import_liba.dart b/tests/language_2/import/duplicate_import_liba.dart
index b8af1a7..7913ee4 100644
--- a/tests/language_2/import/duplicate_import_liba.dart
+++ b/tests/language_2/import/duplicate_import_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.9
+
 library liba;
 
 var field;
diff --git a/tests/language_2/import/duplicate_libb.dart b/tests/language_2/import/duplicate_libb.dart
index 456147f..66a2379 100644
--- a/tests/language_2/import/duplicate_libb.dart
+++ b/tests/language_2/import/duplicate_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.9
+
 library libb;
 
 var field;
diff --git a/tests/language_2/import/duplicate_prefix_test.dart b/tests/language_2/import/duplicate_prefix_test.dart
index bb5a36c..f2e5c07 100644
--- a/tests/language_2/import/duplicate_prefix_test.dart
+++ b/tests/language_2/import/duplicate_prefix_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.9
+
 // Importing with a duplicate prefix is allowed.
 
 import "duplicate_import_liba.dart" as a;
diff --git a/tests/language_2/import/export1_lib.dart b/tests/language_2/import/export1_lib.dart
index 3f7be5b..5addb9e 100644
--- a/tests/language_2/import/export1_lib.dart
+++ b/tests/language_2/import/export1_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library export1_lib;
 
 export "dart:math" show ln10, ln2, e;
diff --git a/tests/language_2/import/hidden_import_test.dart b/tests/language_2/import/hidden_import_test.dart
index 4c51a19..3d80f38 100644
--- a/tests/language_2/import/hidden_import_test.dart
+++ b/tests/language_2/import/hidden_import_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.9
+
 // Tests that dart: imports are implicitly hidden and cause warning on use.
 
 library hidden_import;
diff --git a/tests/language_2/import/hidden_lib.dart b/tests/language_2/import/hidden_lib.dart
index de7f2df..f40d422 100644
--- a/tests/language_2/import/hidden_lib.dart
+++ b/tests/language_2/import/hidden_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library hidden_import_lib;
 
 class Future {}
diff --git a/tests/language_2/import/hidden_runtime_test.dart b/tests/language_2/import/hidden_runtime_test.dart
index 6a9964e..f3c4d7c 100644
--- a/tests/language_2/import/hidden_runtime_test.dart
+++ b/tests/language_2/import/hidden_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/import/import1_lib.dart b/tests/language_2/import/import1_lib.dart
index bf45808..5ebed89 100644
--- a/tests/language_2/import/import1_lib.dart
+++ b/tests/language_2/import/import1_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library import1_lib;
 
 int libfunc(a, b) => a + b;
diff --git a/tests/language_2/import/internal_library_runtime_test.dart b/tests/language_2/import/internal_library_runtime_test.dart
index a0e4c23..d76974b 100644
--- a/tests/language_2/import/internal_library_runtime_test.dart
+++ b/tests/language_2/import/internal_library_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/import/internal_library_test.dart b/tests/language_2/import/internal_library_test.dart
deleted file mode 100644
index 4983fd9..0000000
--- a/tests/language_2/import/internal_library_test.dart
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright (c) 2013, 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.
-
-// Test that a private library cannot be accessed from outside the platform.
-
-library internal_library_test;
-
-import 'dart:core'; // This loads 'dart:_foreign_helper' and 'patch:core'.
-import 'dart:_foreign_helper';
-//     ^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.IMPORT_INTERNAL_LIBRARY
-// [cfe] Can't access platform private library.
-//     ^
-// [cfe] Not found: 'dart:_foreign_helper'
-
-part 'dart:_foreign_helper';
-//   ^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.PART_OF_NON_PART
-// [cfe] Can't access platform private library.
-//   ^
-// [cfe] Can't use 'org-dartlang-untranslatable-uri:dart%3A_foreign_helper' as a part, because it has no 'part of' declaration.
-//   ^
-// [cfe] Not found: 'dart:_foreign_helper'
-
-void main() {
-  JS('int', '0');
-//^
-// [cfe] Method not found: 'JS'.
-  JS('int', '0');
-//^
-// [cfe] Method not found: 'JS'.
-}
diff --git a/tests/language_2/import/name_clash_lib1.dart b/tests/language_2/import/name_clash_lib1.dart
index 8fbfaf3..c2a3c85 100644
--- a/tests/language_2/import/name_clash_lib1.dart
+++ b/tests/language_2/import/name_clash_lib1.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.9
+
 library clashing.nonempty.name;
diff --git a/tests/language_2/import/name_clash_lib2.dart b/tests/language_2/import/name_clash_lib2.dart
index 8fbfaf3..c2a3c85 100644
--- a/tests/language_2/import/name_clash_lib2.dart
+++ b/tests/language_2/import/name_clash_lib2.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.9
+
 library clashing.nonempty.name;
diff --git a/tests/language_2/import/name_clash_test.dart b/tests/language_2/import/name_clash_test.dart
index 72d06a5..7d44f02 100644
--- a/tests/language_2/import/name_clash_test.dart
+++ b/tests/language_2/import/name_clash_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.9
+
 // Check that a library name clash is not an error.
 
 import "name_clash_lib1.dart";
diff --git a/tests/language_2/import/nonexisting_dart_uri_runtime_test.dart b/tests/language_2/import/nonexisting_dart_uri_runtime_test.dart
index f31c56d..3e13231 100644
--- a/tests/language_2/import/nonexisting_dart_uri_runtime_test.dart
+++ b/tests/language_2/import/nonexisting_dart_uri_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/import/nonexisting_dart_uri_test.dart b/tests/language_2/import/nonexisting_dart_uri_test.dart
index cb25b61..2ebe312 100644
--- a/tests/language_2/import/nonexisting_dart_uri_test.dart
+++ b/tests/language_2/import/nonexisting_dart_uri_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.9
+
 import "dart:nonexisting/nonexisting.dart";
 //     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.URI_DOES_NOT_EXIST
diff --git a/tests/language_2/import/private_runtime_test.dart b/tests/language_2/import/private_runtime_test.dart
index 81914a9..fddcf74 100644
--- a/tests/language_2/import/private_runtime_test.dart
+++ b/tests/language_2/import/private_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/import/private_test.dart b/tests/language_2/import/private_test.dart
index deb2f1e..434ca2b 100644
--- a/tests/language_2/import/private_test.dart
+++ b/tests/language_2/import/private_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that private dart:_ libraries cannot be imported.
 
+// @dart = 2.9
+
 import "dart:_internal";
 //     ^^^^^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.IMPORT_INTERNAL_LIBRARY
diff --git a/tests/language_2/import/self_runtime_test.dart b/tests/language_2/import/self_runtime_test.dart
index 47dac6e..03db0a5 100644
--- a/tests/language_2/import/self_runtime_test.dart
+++ b/tests/language_2/import/self_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/import/self_test.dart b/tests/language_2/import/self_test.dart
index f724a60..e95dae1 100644
--- a/tests/language_2/import/self_test.dart
+++ b/tests/language_2/import/self_test.dart
@@ -5,6 +5,8 @@
 // Check that private names cannot be imported even if the library imports
 // itself.
 
+// @dart = 2.9
+
 library import_self;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/import/show_lib.dart b/tests/language_2/import/show_lib.dart
index a3d7325..b5e7eb2 100644
--- a/tests/language_2/import/show_lib.dart
+++ b/tests/language_2/import/show_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library import_show_lib;
 
 get theEnd => "http://www.endoftheinternet.com/";
diff --git a/tests/language_2/import/show_test.dart b/tests/language_2/import/show_test.dart
index cb3a488..b8ac204 100644
--- a/tests/language_2/import/show_test.dart
+++ b/tests/language_2/import/show_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.9
+
 library import_show_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/import/sub/sub.dart b/tests/language_2/import/sub/sub.dart
index cd90247..9a9899e 100644
--- a/tests/language_2/import/sub/sub.dart
+++ b/tests/language_2/import/sub/sub.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library sub;
 
 import '../cyclic_test.dart';
diff --git a/tests/language_2/import/transitive_private_library_access_test.dart b/tests/language_2/import/transitive_private_library_access_test.dart
index 9dcdaed..5f3e5ec 100644
--- a/tests/language_2/import/transitive_private_library_access_test.dart
+++ b/tests/language_2/import/transitive_private_library_access_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to check that we can resolve unqualified identifiers
 
+// @dart = 2.9
+
 // Import 'dart:typed_data' which internally imports 'dart:_internal'.
 import 'dart:typed_data';
 
diff --git a/tests/language_2/inference/accessor_ref_runtime_1_test.dart b/tests/language_2/inference/accessor_ref_runtime_1_test.dart
index 4cb3b54..eecd437 100644
--- a/tests/language_2/inference/accessor_ref_runtime_1_test.dart
+++ b/tests/language_2/inference/accessor_ref_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/inference/accessor_ref_runtime_2_test.dart b/tests/language_2/inference/accessor_ref_runtime_2_test.dart
index ed57805..73f51bf 100644
--- a/tests/language_2/inference/accessor_ref_runtime_2_test.dart
+++ b/tests/language_2/inference/accessor_ref_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/inference/accessor_ref_runtime_3_test.dart b/tests/language_2/inference/accessor_ref_runtime_3_test.dart
index 39b4069..589abb2 100644
--- a/tests/language_2/inference/accessor_ref_runtime_3_test.dart
+++ b/tests/language_2/inference/accessor_ref_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/inference/accessor_ref_runtime_4_test.dart b/tests/language_2/inference/accessor_ref_runtime_4_test.dart
index 900b1d2a..5e0fb2e 100644
--- a/tests/language_2/inference/accessor_ref_runtime_4_test.dart
+++ b/tests/language_2/inference/accessor_ref_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/inference/accessor_ref_runtime_test.dart b/tests/language_2/inference/accessor_ref_runtime_test.dart
index 4b301be..3adb3ac 100644
--- a/tests/language_2/inference/accessor_ref_runtime_test.dart
+++ b/tests/language_2/inference/accessor_ref_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/inference/accessor_ref_test.dart b/tests/language_2/inference/accessor_ref_test.dart
index ec80b14..3a78935 100644
--- a/tests/language_2/inference/accessor_ref_test.dart
+++ b/tests/language_2/inference/accessor_ref_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.9
+
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/tests/language_2/inference/circularity_test.dart b/tests/language_2/inference/circularity_test.dart
index f7d1db2..9b502ee 100644
--- a/tests/language_2/inference/circularity_test.dart
+++ b/tests/language_2/inference/circularity_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.9
+
 var /*@compile-error=unspecified*/ x = () => y;
 var /*@compile-error=unspecified*/ y = () => x;
 
diff --git a/tests/language_2/inference/inconsistent_inheritance_test.dart b/tests/language_2/inference/inconsistent_inheritance_test.dart
index 1d49b86..362a5c6 100644
--- a/tests/language_2/inference/inconsistent_inheritance_test.dart
+++ b/tests/language_2/inference/inconsistent_inheritance_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.9
+
 class A {
   void f(Object x) {}
 }
diff --git a/tests/language_2/initializing_formal/access_test.dart b/tests/language_2/initializing_formal/access_test.dart
index 79ce73f..4db10c1 100644
--- a/tests/language_2/initializing_formal/access_test.dart
+++ b/tests/language_2/initializing_formal/access_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/initializing_formal/capture_test.dart b/tests/language_2/initializing_formal/capture_test.dart
index 3fd2d2c..3eb86f6 100644
--- a/tests/language_2/initializing_formal/capture_test.dart
+++ b/tests/language_2/initializing_formal/capture_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/initializing_formal/final_test.dart b/tests/language_2/initializing_formal/final_test.dart
index d08f6d2..0063938 100644
--- a/tests/language_2/initializing_formal/final_test.dart
+++ b/tests/language_2/initializing_formal/final_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/initializing_formal/promotion_test.dart b/tests/language_2/initializing_formal/promotion_test.dart
index 822d2d21..bde1d8b 100644
--- a/tests/language_2/initializing_formal/promotion_test.dart
+++ b/tests/language_2/initializing_formal/promotion_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.9
+
 import "package:expect/expect.dart";
 
 class B {}
diff --git a/tests/language_2/initializing_formal/scope_test.dart b/tests/language_2/initializing_formal/scope_test.dart
index f75308f..c94bf59 100644
--- a/tests/language_2/initializing_formal/scope_test.dart
+++ b/tests/language_2/initializing_formal/scope_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.9
+
 import "package:expect/expect.dart";
 
 // Duplicate definition checks for `this.x` will check the scopes associated
diff --git a/tests/language_2/initializing_formal/type_annotation_runtime_test.dart b/tests/language_2/initializing_formal/type_annotation_runtime_test.dart
index c09a0ff..5f5b0b7 100644
--- a/tests/language_2/initializing_formal/type_annotation_runtime_test.dart
+++ b/tests/language_2/initializing_formal/type_annotation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/initializing_formal/type_annotation_test.dart b/tests/language_2/initializing_formal/type_annotation_test.dart
index 6ca6548..312baab 100644
--- a/tests/language_2/initializing_formal/type_annotation_test.dart
+++ b/tests/language_2/initializing_formal/type_annotation_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.9
+
 // Testing the static checks for type annotations on initializing formals.
 
 class C {
diff --git a/tests/language_2/initializing_formal/type_test.dart b/tests/language_2/initializing_formal/type_test.dart
index 4c50c8d..59f381f 100644
--- a/tests/language_2/initializing_formal/type_test.dart
+++ b/tests/language_2/initializing_formal/type_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/instance/call_wrong_argument_count_test.dart b/tests/language_2/instance/call_wrong_argument_count_test.dart
index 6256051..b900f94 100644
--- a/tests/language_2/instance/call_wrong_argument_count_test.dart
+++ b/tests/language_2/instance/call_wrong_argument_count_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.9
+
 /// Test mismatch in argument counts.
 
 class Niederhorn {
diff --git a/tests/language_2/instance/compound_assignment_operator_test.dart b/tests/language_2/instance/compound_assignment_operator_test.dart
index b992acc..922d74f 100644
--- a/tests/language_2/instance/compound_assignment_operator_test.dart
+++ b/tests/language_2/instance/compound_assignment_operator_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correct instance compound assignment operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/instance/field_initializer_test.dart b/tests/language_2/instance/field_initializer_test.dart
index 1cb5c93..8063b17 100644
--- a/tests/language_2/instance/field_initializer_test.dart
+++ b/tests/language_2/instance/field_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/instance/incr_deopt_test.dart b/tests/language_2/instance/incr_deopt_test.dart
index d9424fd..36a5232 100644
--- a/tests/language_2/instance/incr_deopt_test.dart
+++ b/tests/language_2/instance/incr_deopt_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Check correct deoptimization of instance field increment.
diff --git a/tests/language_2/instance/inline_test.dart b/tests/language_2/instance/inline_test.dart
index 0e58815..406752b 100644
--- a/tests/language_2/instance/inline_test.dart
+++ b/tests/language_2/instance/inline_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.9
+
 import "package:expect/expect.dart";
 
 // Test inlining of assignments in parameter passing. If [StringScanner.charAt]
diff --git a/tests/language_2/instance/method2_test.dart b/tests/language_2/instance/method2_test.dart
index de92967..3e1f35e 100644
--- a/tests/language_2/instance/method2_test.dart
+++ b/tests/language_2/instance/method2_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.9
+
 /// Check that we correctly flag the use of an instance method (as a closure)
 /// from a static method.
 
diff --git a/tests/language_2/instance/method_test.dart b/tests/language_2/instance/method_test.dart
index f2de913..9ac86ac 100644
--- a/tests/language_2/instance/method_test.dart
+++ b/tests/language_2/instance/method_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.9
+
 /// Check that we correctly flag the use of an instance method from a static
 /// method.
 
diff --git a/tests/language_2/interceptor/interceptor2_test.dart b/tests/language_2/interceptor/interceptor2_test.dart
index 06260c8..9233e29 100644
--- a/tests/language_2/interceptor/interceptor2_test.dart
+++ b/tests/language_2/interceptor/interceptor2_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue http://dartbug.com/6903: dart2js used to
diff --git a/tests/language_2/interceptor/interceptor3_test.dart b/tests/language_2/interceptor/interceptor3_test.dart
index b22b26d..6c688b0 100644
--- a/tests/language_2/interceptor/interceptor3_test.dart
+++ b/tests/language_2/interceptor/interceptor3_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.9
+
 import "package:expect/expect.dart";
 
 // Test that code motion in the presence of interceptors work in dart2js.
diff --git a/tests/language_2/interceptor/interceptor4_test.dart b/tests/language_2/interceptor/interceptor4_test.dart
index 00bac28..c8d1f41 100644
--- a/tests/language_2/interceptor/interceptor4_test.dart
+++ b/tests/language_2/interceptor/interceptor4_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.9
+
 import "package:expect/expect.dart";
 
 // Test that dart2js gets the right interceptor for an int.
diff --git a/tests/language_2/interceptor/interceptor5_test.dart b/tests/language_2/interceptor/interceptor5_test.dart
index 41b76e9..190b5a1 100644
--- a/tests/language_2/interceptor/interceptor5_test.dart
+++ b/tests/language_2/interceptor/interceptor5_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.9
+
 import "package:expect/expect.dart";
 
 get X => [() => 123];
diff --git a/tests/language_2/interceptor/interceptor7_test.dart b/tests/language_2/interceptor/interceptor7_test.dart
index 7e88bcd..0f968ab 100644
--- a/tests/language_2/interceptor/interceptor7_test.dart
+++ b/tests/language_2/interceptor/interceptor7_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.9
+
 // Test that dart2js uses the right interceptor when call a method on
 // something that has type number.
 
diff --git a/tests/language_2/interceptor/interceptor8_test.dart b/tests/language_2/interceptor/interceptor8_test.dart
index 0890124..2d78fbb 100644
--- a/tests/language_2/interceptor/interceptor8_test.dart
+++ b/tests/language_2/interceptor/interceptor8_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.9
+
 // Regression test for dart2js whose codegen used to not consider a double
 // could be instantiated when doing int / int.
 
diff --git a/tests/language_2/interceptor/interceptor9_test.dart b/tests/language_2/interceptor/interceptor9_test.dart
index 07525a5..1d59f35 100644
--- a/tests/language_2/interceptor/interceptor9_test.dart
+++ b/tests/language_2/interceptor/interceptor9_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.9
+
 // Regression test for dart2js whose codegen in some cases did not take is
 // tests into account when computing the set of classes for interceptors.
 // See http://dartbug.com/17325
diff --git a/tests/language_2/interceptor/interceptor_test.dart b/tests/language_2/interceptor/interceptor_test.dart
index 7faf174..3da812e 100644
--- a/tests/language_2/interceptor/interceptor_test.dart
+++ b/tests/language_2/interceptor/interceptor_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.9
+
 import "package:expect/expect.dart";
 
 // Test that interceptors (that is, methods in classes implemented as
diff --git a/tests/language_2/interface/constants_test.dart b/tests/language_2/interface/constants_test.dart
index 5654066..88f25a9 100644
--- a/tests/language_2/interface/constants_test.dart
+++ b/tests/language_2/interface/constants_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Constants {
diff --git a/tests/language_2/interface/cycle_test.dart b/tests/language_2/interface/cycle_test.dart
index 0e44708..fe71325 100644
--- a/tests/language_2/interface/cycle_test.dart
+++ b/tests/language_2/interface/cycle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check fail because of cycles in super interface relationship.
 
+// @dart = 2.9
+
 class C implements B {}
 
 class A implements B {}
diff --git a/tests/language_2/interface/duplicate_implements_test.dart b/tests/language_2/interface/duplicate_implements_test.dart
index 41c10fa..a5b0015 100644
--- a/tests/language_2/interface/duplicate_implements_test.dart
+++ b/tests/language_2/interface/duplicate_implements_test.dart
@@ -4,6 +4,8 @@
 // Check that duplicate types in implements/extends list are
 // compile-time errors.
 
+// @dart = 2.9
+
 abstract class I {}
 
 abstract class J {}
diff --git a/tests/language_2/interface/duplicate_interface_implements_runtime_test.dart b/tests/language_2/interface/duplicate_interface_implements_runtime_test.dart
index aced31d..53272e5 100644
--- a/tests/language_2/interface/duplicate_interface_implements_runtime_test.dart
+++ b/tests/language_2/interface/duplicate_interface_implements_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/interface/duplicate_interface_implements_test.dart b/tests/language_2/interface/duplicate_interface_implements_test.dart
index 0c8555e..066a2fc 100644
--- a/tests/language_2/interface/duplicate_interface_implements_test.dart
+++ b/tests/language_2/interface/duplicate_interface_implements_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.9
+
 import "duplicate_interface_lib.dart" as alib;
 import "duplicate_interface_lib.dart" show InterfA;
 
diff --git a/tests/language_2/interface/duplicate_interface_lib.dart b/tests/language_2/interface/duplicate_interface_lib.dart
index b369b3a..8ddb829 100644
--- a/tests/language_2/interface/duplicate_interface_lib.dart
+++ b/tests/language_2/interface/duplicate_interface_lib.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check fail because of cycles in super class relationship.
 
+// @dart = 2.9
+
 library Interface_Lib;
 
 class InterfA {}
diff --git a/tests/language_2/interface/duplicate_interface_test.dart b/tests/language_2/interface/duplicate_interface_test.dart
index d957be9..b36a2a1 100644
--- a/tests/language_2/interface/duplicate_interface_test.dart
+++ b/tests/language_2/interface/duplicate_interface_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check fail because of cycles in super class relationship.
 
+// @dart = 2.9
+
 library duplicateInterfaceTest;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/interface/implements_futureor_runtime_test.dart b/tests/language_2/interface/implements_futureor_runtime_test.dart
index 257056b..898410b 100644
--- a/tests/language_2/interface/implements_futureor_runtime_test.dart
+++ b/tests/language_2/interface/implements_futureor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/interface/implements_futureor_test.dart b/tests/language_2/interface/implements_futureor_test.dart
index abe2e64..a2984d2 100644
--- a/tests/language_2/interface/implements_futureor_test.dart
+++ b/tests/language_2/interface/implements_futureor_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.9
+
 import 'dart:async';
 
 class A<T> implements FutureOr<T> {}
diff --git a/tests/language_2/interface/inherit_field_test.dart b/tests/language_2/interface/inherit_field_test.dart
index fa43fb9..9451ee5 100644
--- a/tests/language_2/interface/inherit_field_test.dart
+++ b/tests/language_2/interface/inherit_field_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.9
+
 // Test that it is legal to override a field with a field in an interface.
 
 abstract class IA {
diff --git a/tests/language_2/interface/injection1_runtime_test.dart b/tests/language_2/interface/injection1_runtime_test.dart
index ab438b4..4e590c8 100644
--- a/tests/language_2/interface/injection1_runtime_test.dart
+++ b/tests/language_2/interface/injection1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/interface/injection1_test.dart b/tests/language_2/interface/injection1_test.dart
index 9a3faf4..0239efc 100644
--- a/tests/language_2/interface/injection1_test.dart
+++ b/tests/language_2/interface/injection1_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.9
+
 // The removed language feature "interface injection" is now a syntax error.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/interface/injection2_runtime_test.dart b/tests/language_2/interface/injection2_runtime_test.dart
index a8a6788..fd89b6a 100644
--- a/tests/language_2/interface/injection2_runtime_test.dart
+++ b/tests/language_2/interface/injection2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/interface/injection2_test.dart b/tests/language_2/interface/injection2_test.dart
index e49d5bd..2784140 100644
--- a/tests/language_2/interface/injection2_test.dart
+++ b/tests/language_2/interface/injection2_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.9
+
 // The removed language feature "interface injection" is now a syntax error.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/interface/interface2_test.dart b/tests/language_2/interface/interface2_test.dart
index 6a0a762..fb7140a 100644
--- a/tests/language_2/interface/interface2_test.dart
+++ b/tests/language_2/interface/interface2_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.9
+
 /// A class must implement a known interface.
 
 class Interface2NegativeTest implements BooHoo {}
diff --git a/tests/language_2/interface/interface_test.dart b/tests/language_2/interface/interface_test.dart
index b05e0a6..9bc7abd 100644
--- a/tests/language_2/interface/interface_test.dart
+++ b/tests/language_2/interface/interface_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing Interfaces.
 
+// @dart = 2.9
+
 abstract class Ai {
   int foo();
 }
diff --git a/tests/language_2/interface/runtime_test.dart b/tests/language_2/interface/runtime_test.dart
index b789fe7..8570fc7 100644
--- a/tests/language_2/interface/runtime_test.dart
+++ b/tests/language_2/interface/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/interface/static_method_test.dart b/tests/language_2/interface/static_method_test.dart
index 63783ef..c2e27f8 100644
--- a/tests/language_2/interface/static_method_test.dart
+++ b/tests/language_2/interface/static_method_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.9
+
 abstract class A {
   static void foo();
   //               ^
diff --git a/tests/language_2/invalid_returns/async_invalid_return_00_test.dart b/tests/language_2/invalid_returns/async_invalid_return_00_test.dart
index eb558c1..6cc0bdd 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_00_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_00_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_01_test.dart b/tests/language_2/invalid_returns/async_invalid_return_01_test.dart
index 7c2ea7e..b4efc34 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_01_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_01_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_02_test.dart b/tests/language_2/invalid_returns/async_invalid_return_02_test.dart
index f3bb17f..dab4a77 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_02_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_02_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_03_test.dart b/tests/language_2/invalid_returns/async_invalid_return_03_test.dart
index aba69cd..3974975 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_03_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_03_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_04_test.dart b/tests/language_2/invalid_returns/async_invalid_return_04_test.dart
index 089d20d..b3dae4e 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_04_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_04_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_05_test.dart b/tests/language_2/invalid_returns/async_invalid_return_05_test.dart
index 28be90b..bc42415 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_05_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_05_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_08_test.dart b/tests/language_2/invalid_returns/async_invalid_return_08_test.dart
index cfd12e3..2bef7b8 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_08_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_08_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_11_test.dart b/tests/language_2/invalid_returns/async_invalid_return_11_test.dart
index 0d8da86..6cde586 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_11_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_11_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_14_test.dart b/tests/language_2/invalid_returns/async_invalid_return_14_test.dart
index 62bf342..b3c547a 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_14_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_14_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_17_test.dart b/tests/language_2/invalid_returns/async_invalid_return_17_test.dart
index c3e6f93..d2fe89a 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_17_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_17_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_20_test.dart b/tests/language_2/invalid_returns/async_invalid_return_20_test.dart
index a8bb214..4d0d5a2 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_20_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_20_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_23_test.dart b/tests/language_2/invalid_returns/async_invalid_return_23_test.dart
index 604c0f0..1702d66 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_23_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_23_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_24_test.dart b/tests/language_2/invalid_returns/async_invalid_return_24_test.dart
index ed625c3..d6a0052 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_24_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_24_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_25_test.dart b/tests/language_2/invalid_returns/async_invalid_return_25_test.dart
index d00e9f0..2419225 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_25_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_25_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_26_test.dart b/tests/language_2/invalid_returns/async_invalid_return_26_test.dart
index 0151c97..633160c 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_26_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_26_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_27_test.dart b/tests/language_2/invalid_returns/async_invalid_return_27_test.dart
index 04dc428..8424d4a2 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_27_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_27_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_28_test.dart b/tests/language_2/invalid_returns/async_invalid_return_28_test.dart
index 3630bb4..2966d06 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_28_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_28_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_29_test.dart b/tests/language_2/invalid_returns/async_invalid_return_29_test.dart
index 3a49834..455a683 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_29_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_29_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_30_test.dart b/tests/language_2/invalid_returns/async_invalid_return_30_test.dart
index 391e1c6..ae4100b6 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_30_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_30_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_31_test.dart b/tests/language_2/invalid_returns/async_invalid_return_31_test.dart
index be94da2..9423567 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_31_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_31_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_32_test.dart b/tests/language_2/invalid_returns/async_invalid_return_32_test.dart
index 6247cb7..5f12002 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_32_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_32_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_33_test.dart b/tests/language_2/invalid_returns/async_invalid_return_33_test.dart
index d7c673d..8d72f80 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_33_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_33_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_34_test.dart b/tests/language_2/invalid_returns/async_invalid_return_34_test.dart
index 740505a..efbd26b 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_34_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_34_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_35_test.dart b/tests/language_2/invalid_returns/async_invalid_return_35_test.dart
index 09cef1c..4e26ff0 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_35_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_35_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_36_test.dart b/tests/language_2/invalid_returns/async_invalid_return_36_test.dart
index 9fb723a..2b711d0 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_36_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_36_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_37_test.dart b/tests/language_2/invalid_returns/async_invalid_return_37_test.dart
index 483e0e1..e9e9fd2 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_37_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_37_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_38_test.dart b/tests/language_2/invalid_returns/async_invalid_return_38_test.dart
index d5e3b05..0a2f430 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_38_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_38_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_39_test.dart b/tests/language_2/invalid_returns/async_invalid_return_39_test.dart
index 9628c69..594ce33 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_39_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_39_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_40_test.dart b/tests/language_2/invalid_returns/async_invalid_return_40_test.dart
index 8de06ea..9ddb98e 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_40_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_40_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_41_test.dart b/tests/language_2/invalid_returns/async_invalid_return_41_test.dart
index d32049b..5e7ec9f 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_41_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_41_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_42_test.dart b/tests/language_2/invalid_returns/async_invalid_return_42_test.dart
index 9dbc0e5..260ee69 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_42_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_42_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_43_test.dart b/tests/language_2/invalid_returns/async_invalid_return_43_test.dart
index 10358d7..7db359f 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_43_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_43_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_44_test.dart b/tests/language_2/invalid_returns/async_invalid_return_44_test.dart
index 1dd43d6..0a1fef9 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_44_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_44_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_invalid_return_45_test.dart b/tests/language_2/invalid_returns/async_invalid_return_45_test.dart
index 0f5689d..378b550 100644
--- a/tests/language_2/invalid_returns/async_invalid_return_45_test.dart
+++ b/tests/language_2/invalid_returns/async_invalid_return_45_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/async_valid_returns_test.dart b/tests/language_2/invalid_returns/async_valid_returns_test.dart
index 649f2c9..4c7db33 100644
--- a/tests/language_2/invalid_returns/async_valid_returns_test.dart
+++ b/tests/language_2/invalid_returns/async_valid_returns_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.9
+
 import 'dart:async';
 
 void vv = null;
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_00_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_00_test.dart
index 479a689..e3e3316 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_00_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_00_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_01_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_01_test.dart
index 716b985..c81b1dc 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_01_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_01_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_02_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_02_test.dart
index 73d89e1..f7584a7 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_02_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_02_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_03_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_03_test.dart
index 1cf96e2..9e972da 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_03_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_03_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_04_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_04_test.dart
index 1555126..8f03155 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_04_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_04_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_05_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_05_test.dart
index 2322acc..7fbc21b 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_05_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_05_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_06_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_06_test.dart
index d590372..d652600 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_06_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_06_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_07_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_07_test.dart
index d458681..6d0d433 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_07_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_07_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_08_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_08_test.dart
index c6eae33..c6a5c42 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_08_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_08_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_09_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_09_test.dart
index e1b5705..5520b0d 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_09_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_09_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_10_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_10_test.dart
index 9f27148..7120b5a 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_10_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_10_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_11_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_11_test.dart
index c30d319..512d86cb 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_11_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_11_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_12_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_12_test.dart
index 047b36a..dccc9ab 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_12_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_12_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_13_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_13_test.dart
index 04ce202..3f225d5 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_13_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_13_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_14_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_14_test.dart
index e4c7c53..f9b7745 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_14_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_14_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_15_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_15_test.dart
index afba019..0aa4c78 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_15_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_15_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_16_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_16_test.dart
index f8998d8..187e101 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_16_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_16_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_17_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_17_test.dart
index 9e572d6..2f4a20f 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_17_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_17_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_18_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_18_test.dart
index cf33695..506919d 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_18_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_18_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_19_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_19_test.dart
index a68e4dc..d169b25 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_19_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_19_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_20_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_20_test.dart
index 38a03c1..da14cd8 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_20_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_20_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_21_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_21_test.dart
index 7196237..9b612c4 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_21_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_21_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_22_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_22_test.dart
index 18c5c5b..6230859 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_22_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_22_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_23_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_23_test.dart
index 2640028..27fbed1 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_23_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_23_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_24_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_24_test.dart
index f891e63..9eb5d64 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_24_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_24_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_25_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_25_test.dart
index b6237fd..4a07173 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_25_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_25_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_invalid_return_26_test.dart b/tests/language_2/invalid_returns/sync_invalid_return_26_test.dart
index 2f11208..92d2ac4 100644
--- a/tests/language_2/invalid_returns/sync_invalid_return_26_test.dart
+++ b/tests/language_2/invalid_returns/sync_invalid_return_26_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.9
+
 import 'dart:async';
 
 /*
diff --git a/tests/language_2/invalid_returns/sync_valid_returns_test.dart b/tests/language_2/invalid_returns/sync_valid_returns_test.dart
index ba3842d..0cb6a2a 100644
--- a/tests/language_2/invalid_returns/sync_valid_returns_test.dart
+++ b/tests/language_2/invalid_returns/sync_valid_returns_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.9
+
 import 'dart:async';
 
 void vv = null;
diff --git a/tests/language_2/is/function_test.dart b/tests/language_2/is/function_test.dart
index 520a199..b4c9885 100644
--- a/tests/language_2/is/function_test.dart
+++ b/tests/language_2/is/function_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.9
+
 import "package:expect/expect.dart";
 
 var staticClosure;
diff --git a/tests/language_2/is/instanceof_test.dart b/tests/language_2/is/instanceof_test.dart
index 2f9c7e7..dabf8f3 100644
--- a/tests/language_2/is/instanceof_test.dart
+++ b/tests/language_2/is/instanceof_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.9
+
 import "package:expect/expect.dart";
 
 class InstanceofTest {
diff --git a/tests/language_2/is/interfaces2_test.dart b/tests/language_2/is/interfaces2_test.dart
index bc68d95..01db9e2 100644
--- a/tests/language_2/is/interfaces2_test.dart
+++ b/tests/language_2/is/interfaces2_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/is/interfaces_test.dart b/tests/language_2/is/interfaces_test.dart
index a71319a..a8d1dec 100644
--- a/tests/language_2/is/interfaces_test.dart
+++ b/tests/language_2/is/interfaces_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/is/is2_test.dart b/tests/language_2/is/is2_test.dart
index 6b03ff8..b225f83 100644
--- a/tests/language_2/is/is2_test.dart
+++ b/tests/language_2/is/is2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing the instanceof operation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class I {}
diff --git a/tests/language_2/is/is4_test.dart b/tests/language_2/is/is4_test.dart
index b560557..4be4b26 100644
--- a/tests/language_2/is/is4_test.dart
+++ b/tests/language_2/is/is4_test.dart
@@ -5,6 +5,8 @@
 // Regression test for issue 5216.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Foo<T> {
diff --git a/tests/language_2/is/isnot_malformed_type_runtime_test.dart b/tests/language_2/is/isnot_malformed_type_runtime_test.dart
index c815992..4e223a88 100644
--- a/tests/language_2/is/isnot_malformed_type_runtime_test.dart
+++ b/tests/language_2/is/isnot_malformed_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/is/isnot_malformed_type_test.dart b/tests/language_2/is/isnot_malformed_type_test.dart
index c81c644..6d7003c 100644
--- a/tests/language_2/is/isnot_malformed_type_test.dart
+++ b/tests/language_2/is/isnot_malformed_type_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.9
+
 import 'package:expect/expect.dart';
 
 f(obj) {
diff --git a/tests/language_2/is/malformed_type_runtime_test.dart b/tests/language_2/is/malformed_type_runtime_test.dart
index 1389f62..879a637 100644
--- a/tests/language_2/is/malformed_type_runtime_test.dart
+++ b/tests/language_2/is/malformed_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/is/malformed_type_test.dart b/tests/language_2/is/malformed_type_test.dart
index 9628aa8..3bc0ee6 100644
--- a/tests/language_2/is/malformed_type_test.dart
+++ b/tests/language_2/is/malformed_type_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for the "is" and "as" operator with malformed type.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 testEval(x) {
diff --git a/tests/language_2/is/nan_test.dart b/tests/language_2/is/nan_test.dart
index 125aabf..571da26 100644
--- a/tests/language_2/is/nan_test.dart
+++ b/tests/language_2/is/nan_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/is/not_class1_test.dart b/tests/language_2/is/not_class1_test.dart
index bb9a756..2f2b94a 100644
--- a/tests/language_2/is/not_class1_test.dart
+++ b/tests/language_2/is/not_class1_test.dart
@@ -2,19 +2,20 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 /// Test that we expect a class after an 'is'.
 class A {}
 
 main() {
   var a = A();
   if (a is "A") return 0;
-  // [error line 10, column 12, length 0]
+  // [error line 12, column 12, length 0]
   // [analyzer] COMPILE_TIME_ERROR.TYPE_TEST_WITH_UNDEFINED_NAME
-  // [cfe] Expected ')' before this.
   //       ^^^
   // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-  // [cfe] Expected a type, but got '"A"'.
-  //       ^^^
   // [analyzer] SYNTACTIC_ERROR.EXPECTED_TYPE_NAME
+  // [cfe] Expected ')' before this.
+  // [cfe] Expected a type, but got '"A"'.
   // [cfe] This couldn't be parsed.
 }
diff --git a/tests/language_2/is/not_class2_runtime_test.dart b/tests/language_2/is/not_class2_runtime_test.dart
index 088e489..6078627 100644
--- a/tests/language_2/is/not_class2_runtime_test.dart
+++ b/tests/language_2/is/not_class2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/is/not_class2_test.dart b/tests/language_2/is/not_class2_test.dart
index 9e82ec1..b66f1a4 100644
--- a/tests/language_2/is/not_class2_test.dart
+++ b/tests/language_2/is/not_class2_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.9
+
 // Dart test program for catch that we expect a class after an 'is'. 'aa' is a
 // malformed type and a type error should be thrown upon test.
 
diff --git a/tests/language_2/is/not_class4_test.dart b/tests/language_2/is/not_class4_test.dart
index a3adae2..62ea922 100644
--- a/tests/language_2/is/not_class4_test.dart
+++ b/tests/language_2/is/not_class4_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.9
+
 /// Test that the parser emits an error when one 'is' expression follows
 /// another.
 class A {}
diff --git a/tests/language_2/is/object_test.dart b/tests/language_2/is/object_test.dart
index 05490ca..4be183a 100644
--- a/tests/language_2/is/object_test.dart
+++ b/tests/language_2/is/object_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for the "is" type test operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 testTryCatch(x) {
diff --git a/tests/language_2/is/operator_clash_test.dart b/tests/language_2/is/operator_clash_test.dart
index 3cbe095..20eafb8 100644
--- a/tests/language_2/is/operator_clash_test.dart
+++ b/tests/language_2/is/operator_clash_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/is/operator_test.dart b/tests/language_2/is/operator_test.dart
index a934dc1..f9abce8 100644
--- a/tests/language_2/is/operator_test.dart
+++ b/tests/language_2/is/operator_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for the "is" type test operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class I {}
diff --git a/tests/language_2/is/optimized_test.dart b/tests/language_2/is/optimized_test.dart
index 3c3f875..0c630ac 100644
--- a/tests/language_2/is/optimized_test.dart
+++ b/tests/language_2/is/optimized_test.dart
@@ -4,6 +4,8 @@
 // Testing optimized 'is' tests.
 // VMOptions=--optimization-counter-threshold=5 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bool isInt(x) => x is int;
diff --git a/tests/language_2/label/label3_runtime_1_test.dart b/tests/language_2/label/label3_runtime_1_test.dart
index 76da501..842c22f 100644
--- a/tests/language_2/label/label3_runtime_1_test.dart
+++ b/tests/language_2/label/label3_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label3_runtime_test.dart b/tests/language_2/label/label3_runtime_test.dart
index afcaad7..2758cab 100644
--- a/tests/language_2/label/label3_runtime_test.dart
+++ b/tests/language_2/label/label3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label3_test.dart b/tests/language_2/label/label3_test.dart
index cdea8e4..8de76db 100644
--- a/tests/language_2/label/label3_test.dart
+++ b/tests/language_2/label/label3_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.9
+
 main() {
   L: while (false) {
     if (true) break L;
diff --git a/tests/language_2/label/label5_runtime_test.dart b/tests/language_2/label/label5_runtime_test.dart
index fd934f0..bfc0d95 100644
--- a/tests/language_2/label/label5_runtime_test.dart
+++ b/tests/language_2/label/label5_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label5_test.dart b/tests/language_2/label/label5_test.dart
index 9856809..dde78b3 100644
--- a/tests/language_2/label/label5_test.dart
+++ b/tests/language_2/label/label5_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.9
+
 main() {
   var L = 33;
   while (false) {
diff --git a/tests/language_2/label/label6_runtime_1_test.dart b/tests/language_2/label/label6_runtime_1_test.dart
index effe712..08280fe 100644
--- a/tests/language_2/label/label6_runtime_1_test.dart
+++ b/tests/language_2/label/label6_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label6_runtime_2_test.dart b/tests/language_2/label/label6_runtime_2_test.dart
index 732c430..693ec51 100644
--- a/tests/language_2/label/label6_runtime_2_test.dart
+++ b/tests/language_2/label/label6_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label6_runtime_test.dart b/tests/language_2/label/label6_runtime_test.dart
index e240a78..2fa8993 100644
--- a/tests/language_2/label/label6_runtime_test.dart
+++ b/tests/language_2/label/label6_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label6_test.dart b/tests/language_2/label/label6_test.dart
index 5219b01..71b0275 100644
--- a/tests/language_2/label/label6_test.dart
+++ b/tests/language_2/label/label6_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.9
+
 main() {
   L:
   while (false) {
diff --git a/tests/language_2/label/label8_runtime_test.dart b/tests/language_2/label/label8_runtime_test.dart
index 313ce69..d3c8715 100644
--- a/tests/language_2/label/label8_runtime_test.dart
+++ b/tests/language_2/label/label8_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/label/label8_test.dart b/tests/language_2/label/label8_test.dart
index 5e71b10..630c561 100644
--- a/tests/language_2/label/label8_test.dart
+++ b/tests/language_2/label/label8_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.9
+
 main() {
   int i;
   // Grammar doesn't allow label on block for switch statement.
diff --git a/tests/language_2/label/label_test.dart b/tests/language_2/label/label_test.dart
index 0ac8dbf..d255a58 100644
--- a/tests/language_2/label/label_test.dart
+++ b/tests/language_2/label/label_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test check that we can parse labels.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/lazy/map_test.dart b/tests/language_2/lazy/map_test.dart
index 08554a4..fae2aa8 100644
--- a/tests/language_2/lazy/map_test.dart
+++ b/tests/language_2/lazy/map_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.9
+
 import "package:expect/expect.dart";
 
 var data = {'a': 'a'};
diff --git a/tests/language_2/lazy/static2_test.dart b/tests/language_2/lazy/static2_test.dart
index 5a0ce9f..ab3f983 100644
--- a/tests/language_2/lazy/static2_test.dart
+++ b/tests/language_2/lazy/static2_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.9
+
 import "package:expect/expect.dart";
 
 final x = (int t) => t + 1;
diff --git a/tests/language_2/lazy/static3_test.dart b/tests/language_2/lazy/static3_test.dart
index 72821ae..9a75762 100644
--- a/tests/language_2/lazy/static3_test.dart
+++ b/tests/language_2/lazy/static3_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.9
+
 import "package:expect/expect.dart";
 
 final x = foo();
diff --git a/tests/language_2/lazy/static4_test.dart b/tests/language_2/lazy/static4_test.dart
index 4e532c9..af9f042 100644
--- a/tests/language_2/lazy/static4_test.dart
+++ b/tests/language_2/lazy/static4_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.9
+
 import "package:expect/expect.dart";
 
 final x = foo(499);
diff --git a/tests/language_2/lazy/static5_test.dart b/tests/language_2/lazy/static5_test.dart
index afaf30e..0a3fecd 100644
--- a/tests/language_2/lazy/static5_test.dart
+++ b/tests/language_2/lazy/static5_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.9
+
 import "package:expect/expect.dart";
 
 final x = (int t) => (int u) => t + u;
diff --git a/tests/language_2/lazy/static6_src.dart b/tests/language_2/lazy/static6_src.dart
index 78f7a83..14eb00f 100644
--- a/tests/language_2/lazy/static6_src.dart
+++ b/tests/language_2/lazy/static6_src.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 /*
  * A lot of comments to make sure that the lazy initialization code has a
  * position that does not fit into lazy_static6_test.dart file.
diff --git a/tests/language_2/lazy/static6_test.dart b/tests/language_2/lazy/static6_test.dart
index 61c309a..7891c05 100644
--- a/tests/language_2/lazy/static6_test.dart
+++ b/tests/language_2/lazy/static6_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2012, 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.9
 library lazy_static6_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/lazy/static7_test.dart b/tests/language_2/lazy/static7_test.dart
index fecd89a..a05b244 100644
--- a/tests/language_2/lazy/static7_test.dart
+++ b/tests/language_2/lazy/static7_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.9
+
 import "package:expect/expect.dart";
 
 var sideEffect = 0;
diff --git a/tests/language_2/lazy/static8_test.dart b/tests/language_2/lazy/static8_test.dart
index 73ffe90..94bbb76 100644
--- a/tests/language_2/lazy/static8_test.dart
+++ b/tests/language_2/lazy/static8_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.9
+
 import "package:expect/expect.dart";
 
 // Test re-entrant initializer - calls throw CyclicInitializationError.
diff --git a/tests/language_2/lazy/static_test.dart b/tests/language_2/lazy/static_test.dart
index cdfabdd..cb030c0 100644
--- a/tests/language_2/lazy/static_test.dart
+++ b/tests/language_2/lazy/static_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.9
+
 import "package:expect/expect.dart";
 
 final x = foo();
diff --git a/tests/language_2/lazy/throwing_variable_test.dart b/tests/language_2/lazy/throwing_variable_test.dart
index c97d2fb..a6b9623 100644
--- a/tests/language_2/lazy/throwing_variable_test.dart
+++ b/tests/language_2/lazy/throwing_variable_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.9
+
 // Test that engines will not infer that [a] is always of type int.
 
 var a = foo();
diff --git a/tests/language_2/least_upper_bound/expansive_runtime_test.dart b/tests/language_2/least_upper_bound/expansive_runtime_test.dart
index 5d2e542..69c63edb 100644
--- a/tests/language_2/least_upper_bound/expansive_runtime_test.dart
+++ b/tests/language_2/least_upper_bound/expansive_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/expansive_test.dart b/tests/language_2/least_upper_bound/expansive_test.dart
index 970b685..6a4b63a 100644
--- a/tests/language_2/least_upper_bound/expansive_test.dart
+++ b/tests/language_2/least_upper_bound/expansive_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.9
+
 // Test least upper bound through type checking of conditionals.
 
 class N<T> {
diff --git a/tests/language_2/least_upper_bound/least_upper_bound_test.dart b/tests/language_2/least_upper_bound/least_upper_bound_test.dart
index 4a7a784..5fd2864 100644
--- a/tests/language_2/least_upper_bound/least_upper_bound_test.dart
+++ b/tests/language_2/least_upper_bound/least_upper_bound_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.9
+
 // Test least upper bound through type checking of conditionals.
 
 class A {
diff --git a/tests/language_2/least_upper_bound/runtime_10_test.dart b/tests/language_2/least_upper_bound/runtime_10_test.dart
index 417d1ce..caeae51 100644
--- a/tests/language_2/least_upper_bound/runtime_10_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_11_test.dart b/tests/language_2/least_upper_bound/runtime_11_test.dart
index e699c6b..2f334d08 100644
--- a/tests/language_2/least_upper_bound/runtime_11_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_11_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_12_test.dart b/tests/language_2/least_upper_bound/runtime_12_test.dart
index 67d2199..5c37565 100644
--- a/tests/language_2/least_upper_bound/runtime_12_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_12_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_13_test.dart b/tests/language_2/least_upper_bound/runtime_13_test.dart
index 28c2cba..73b1ed1 100644
--- a/tests/language_2/least_upper_bound/runtime_13_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_13_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_14_test.dart b/tests/language_2/least_upper_bound/runtime_14_test.dart
index 25210f9..59ad272 100644
--- a/tests/language_2/least_upper_bound/runtime_14_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_14_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_15_test.dart b/tests/language_2/least_upper_bound/runtime_15_test.dart
index f637466..62b3188e 100644
--- a/tests/language_2/least_upper_bound/runtime_15_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_15_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_16_test.dart b/tests/language_2/least_upper_bound/runtime_16_test.dart
index 22ad6d3..fbfedae 100644
--- a/tests/language_2/least_upper_bound/runtime_16_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_16_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_17_test.dart b/tests/language_2/least_upper_bound/runtime_17_test.dart
index acaa1c5..53ba3f6 100644
--- a/tests/language_2/least_upper_bound/runtime_17_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_17_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_18_test.dart b/tests/language_2/least_upper_bound/runtime_18_test.dart
index 67cf93d..8600210 100644
--- a/tests/language_2/least_upper_bound/runtime_18_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_18_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_19_test.dart b/tests/language_2/least_upper_bound/runtime_19_test.dart
index 9fc6257..7c5ebae 100644
--- a/tests/language_2/least_upper_bound/runtime_19_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_19_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_1_test.dart b/tests/language_2/least_upper_bound/runtime_1_test.dart
index c0dd626..775c95e 100644
--- a/tests/language_2/least_upper_bound/runtime_1_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_20_test.dart b/tests/language_2/least_upper_bound/runtime_20_test.dart
index 4d41fa2..4e2fe64 100644
--- a/tests/language_2/least_upper_bound/runtime_20_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_20_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_21_test.dart b/tests/language_2/least_upper_bound/runtime_21_test.dart
index 6da9f5d..6cbb67c 100644
--- a/tests/language_2/least_upper_bound/runtime_21_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_21_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_22_test.dart b/tests/language_2/least_upper_bound/runtime_22_test.dart
index 659af08..0d2398d 100644
--- a/tests/language_2/least_upper_bound/runtime_22_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_22_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_2_test.dart b/tests/language_2/least_upper_bound/runtime_2_test.dart
index 78e9ff6..5ee9a36 100644
--- a/tests/language_2/least_upper_bound/runtime_2_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_3_test.dart b/tests/language_2/least_upper_bound/runtime_3_test.dart
index 98b8016..816e799 100644
--- a/tests/language_2/least_upper_bound/runtime_3_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_4_test.dart b/tests/language_2/least_upper_bound/runtime_4_test.dart
index 260ca6e..eb008f4 100644
--- a/tests/language_2/least_upper_bound/runtime_4_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_5_test.dart b/tests/language_2/least_upper_bound/runtime_5_test.dart
index af9eb20..57ceed7 100644
--- a/tests/language_2/least_upper_bound/runtime_5_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_6_test.dart b/tests/language_2/least_upper_bound/runtime_6_test.dart
index 8bd31ee..b961fd3 100644
--- a/tests/language_2/least_upper_bound/runtime_6_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_7_test.dart b/tests/language_2/least_upper_bound/runtime_7_test.dart
index 5e2405b..7557361 100644
--- a/tests/language_2/least_upper_bound/runtime_7_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_8_test.dart b/tests/language_2/least_upper_bound/runtime_8_test.dart
index 5bc86d3..0bbad5e 100644
--- a/tests/language_2/least_upper_bound/runtime_8_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_9_test.dart b/tests/language_2/least_upper_bound/runtime_9_test.dart
index fe6d5c0..03aa22d 100644
--- a/tests/language_2/least_upper_bound/runtime_9_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/least_upper_bound/runtime_test.dart b/tests/language_2/least_upper_bound/runtime_test.dart
index 781a3a7..f0df39c 100644
--- a/tests/language_2/least_upper_bound/runtime_test.dart
+++ b/tests/language_2/least_upper_bound/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/library/a.dart b/tests/language_2/library/a.dart
index 95f855e..1b7fc61 100644
--- a/tests/language_2/library/a.dart
+++ b/tests/language_2/library/a.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryA.dart;
 
 import "c.dart";
diff --git a/tests/language_2/library/ambiguous_test.dart b/tests/language_2/library/ambiguous_test.dart
index 1c2cd6b..228bc10 100644
--- a/tests/language_2/library/ambiguous_test.dart
+++ b/tests/language_2/library/ambiguous_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.9
+
 // This test should fail to load because we are importing two libraries
 // which define the same top level name foo, and we are referring to the name.
 
diff --git a/tests/language_2/library/b.dart b/tests/language_2/library/b.dart
index 2a36a64..dfc7b36 100644
--- a/tests/language_2/library/b.dart
+++ b/tests/language_2/library/b.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryB.dart;
 
 import "c.dart";
diff --git a/tests/language_2/library/c.dart b/tests/language_2/library/c.dart
index fcf3555..cc212ff 100644
--- a/tests/language_2/library/c.dart
+++ b/tests/language_2/library/c.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryC.dart;
 
 var fooC = 10;
diff --git a/tests/language_2/library/d.dart b/tests/language_2/library/d.dart
index 054c033..25ec2a9 100644
--- a/tests/language_2/library/d.dart
+++ b/tests/language_2/library/d.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryD.dart;
 
 import "f.dart";
diff --git a/tests/language_2/library/e.dart b/tests/language_2/library/e.dart
index 0332e42..c00631e 100644
--- a/tests/language_2/library/e.dart
+++ b/tests/language_2/library/e.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryE.dart;
 
 import "c.dart";
diff --git a/tests/language_2/library/env_test.dart b/tests/language_2/library/env_test.dart
index 17a5e59..9367eb5 100644
--- a/tests/language_2/library/env_test.dart
+++ b/tests/language_2/library/env_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/language_2/library/f.dart b/tests/language_2/library/f.dart
index f73e3cb..085bea4 100644
--- a/tests/language_2/library/f.dart
+++ b/tests/language_2/library/f.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library libraryF.dart;
 
 var fooC = 10;
diff --git a/tests/language_2/library/juxtaposition_lib.dart b/tests/language_2/library/juxtaposition_lib.dart
index bf1230a..d1fdb716 100644
--- a/tests/language_2/library/juxtaposition_lib.dart
+++ b/tests/language_2/library/juxtaposition_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib;
 
 part "" "juxtaposition_" "part.dart";
diff --git a/tests/language_2/library/juxtaposition_part.dart b/tests/language_2/library/juxtaposition_part.dart
index 708c854..dcae020d 100644
--- a/tests/language_2/library/juxtaposition_part.dart
+++ b/tests/language_2/library/juxtaposition_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of lib;
 
 const c = 47;
diff --git a/tests/language_2/library/juxtaposition_test.dart b/tests/language_2/library/juxtaposition_test.dart
index be49df3..4c4b4a5 100644
--- a/tests/language_2/library/juxtaposition_test.dart
+++ b/tests/language_2/library/juxtaposition_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.9
+
 import "package:expect/expect.dart";
 import "" "juxtaposition_" "lib.dart";
 export "" "juxtaposition_" "lib.dart";
diff --git a/tests/language_2/library/library1.dart b/tests/language_2/library/library1.dart
index 96cdd1b..78c860c 100644
--- a/tests/language_2/library/library1.dart
+++ b/tests/language_2/library/library1.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library1.dart;
 
 var foo;
diff --git a/tests/language_2/library/library1_lib.dart b/tests/language_2/library/library1_lib.dart
index 81f27af..1d36227 100644
--- a/tests/language_2/library/library1_lib.dart
+++ b/tests/language_2/library/library1_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library Library1Lib;
 
 class A {
diff --git a/tests/language_2/library/library1_test.dart b/tests/language_2/library/library1_test.dart
index 1219f85..6b3cfdf 100644
--- a/tests/language_2/library/library1_test.dart
+++ b/tests/language_2/library/library1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing libraries.
 
+// @dart = 2.9
+
 library Library1Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/library/library2.dart b/tests/language_2/library/library2.dart
index 219303f..8a1a94e 100644
--- a/tests/language_2/library/library2.dart
+++ b/tests/language_2/library/library2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var foo;
 var foo1 = 0;
 
diff --git a/tests/language_2/library/library3.dart b/tests/language_2/library/library3.dart
index 625f568..96a979f 100644
--- a/tests/language_2/library/library3.dart
+++ b/tests/language_2/library/library3.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library3.dart;
 
 import "../library2.dart"; // defines "foo" and "foo1".
diff --git a/tests/language_2/library/library4.dart b/tests/language_2/library/library4.dart
index 25af011..f4d701e 100644
--- a/tests/language_2/library/library4.dart
+++ b/tests/language_2/library/library4.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library4.dart;
 
 import "../library2.dart"; // defines "foo" and "foo1".
diff --git a/tests/language_2/library/library5_test.dart b/tests/language_2/library/library5_test.dart
index ca6919d..86547ef 100644
--- a/tests/language_2/library/library5_test.dart
+++ b/tests/language_2/library/library5_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library Library5Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/library/library5a.dart b/tests/language_2/library/library5a.dart
index af5ba9c..16d57c5 100644
--- a/tests/language_2/library/library5a.dart
+++ b/tests/language_2/library/library5a.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library Library5a.dart;
 
 typedef int Fun();
diff --git a/tests/language_2/library/library5b.dart b/tests/language_2/library/library5b.dart
index ef3e303..a46bd3b 100644
--- a/tests/language_2/library/library5b.dart
+++ b/tests/language_2/library/library5b.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library Library5b.dart;
 
 typedef int Fun(x);
diff --git a/tests/language_2/library/library6.dart b/tests/language_2/library/library6.dart
index 7f4ab4b..a432958 100644
--- a/tests/language_2/library/library6.dart
+++ b/tests/language_2/library/library6.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // This tests that it is a compile-time error to both import a library
 // that defines a function type alias and to have a local definition for
 // another function type alias with the same name.
diff --git a/tests/language_2/library/library_test.dart b/tests/language_2/library/library_test.dart
index 6dd7428..c7dffb5 100644
--- a/tests/language_2/library/library_test.dart
+++ b/tests/language_2/library/library_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.9
+
 import "nonexistent_library.dart"; //# 01: compile-time error
 
 main() {
diff --git a/tests/language_2/library/prefixes.dart b/tests/language_2/library/prefixes.dart
index fee5b6e..377493f 100644
--- a/tests/language_2/library/prefixes.dart
+++ b/tests/language_2/library/prefixes.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library LibraryPrefixes.lib;
 
 import "prefixes_test1.dart";
diff --git a/tests/language_2/library/prefixes_test.dart b/tests/language_2/library/prefixes_test.dart
index 4ffef88..fdc7903 100644
--- a/tests/language_2/library/prefixes_test.dart
+++ b/tests/language_2/library/prefixes_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.9
+
 library LibraryPrefixesTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/library/prefixes_test1.dart b/tests/language_2/library/prefixes_test1.dart
index 17eeaa2..9cdc1c6 100644
--- a/tests/language_2/library/prefixes_test1.dart
+++ b/tests/language_2/library/prefixes_test1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Constants {
   static const PI = 3.14;
   static const foo = 1;
diff --git a/tests/language_2/library/prefixes_test2.dart b/tests/language_2/library/prefixes_test2.dart
index fcdc7c5..d1dd475 100644
--- a/tests/language_2/library/prefixes_test2.dart
+++ b/tests/language_2/library/prefixes_test2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Constants {
   static const PI = 3.14;
   static const foo = 2;
diff --git a/tests/language_2/library/private_in_constructor_a.dart b/tests/language_2/library/private_in_constructor_a.dart
index ba67fcd..0353149 100644
--- a/tests/language_2/library/private_in_constructor_a.dart
+++ b/tests/language_2/library/private_in_constructor_a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library LibraryPrivateInConstructorA;
 
 class PrivateA {
diff --git a/tests/language_2/library/private_in_constructor_b.dart b/tests/language_2/library/private_in_constructor_b.dart
index 4418372..04f7173 100644
--- a/tests/language_2/library/private_in_constructor_b.dart
+++ b/tests/language_2/library/private_in_constructor_b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library LibraryPrivateInConstructorB;
 
 import "private_in_constructor_a.dart";
diff --git a/tests/language_2/library/private_in_constructor_test.dart b/tests/language_2/library/private_in_constructor_test.dart
index f62563a..c26bedc 100644
--- a/tests/language_2/library/private_in_constructor_test.dart
+++ b/tests/language_2/library/private_in_constructor_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.9
+
 library LibraryPrivateInConstructor;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/library/same_name_used_lib1.dart b/tests/language_2/library/same_name_used_lib1.dart
index 3a93459..67c946a 100644
--- a/tests/language_2/library/same_name_used_lib1.dart
+++ b/tests/language_2/library/same_name_used_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.9
+
 library lib1;
 
 import 'same_name_used_lib2.dart' as lib2;
diff --git a/tests/language_2/library/same_name_used_lib2.dart b/tests/language_2/library/same_name_used_lib2.dart
index 7d8c8a8..7b9c605 100644
--- a/tests/language_2/library/same_name_used_lib2.dart
+++ b/tests/language_2/library/same_name_used_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.9
+
 library lib2;
 
 import 'same_name_used_lib1.dart' as lib1; // for abstract class X.
diff --git a/tests/language_2/library/same_name_used_test.dart b/tests/language_2/library/same_name_used_test.dart
index 74779f9..9efc200 100644
--- a/tests/language_2/library/same_name_used_test.dart
+++ b/tests/language_2/library/same_name_used_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.9
+
 // 'X' is defined as an abstract class in lib1 and a class implementing that
 // abstract class in lib2.  Use of import prefixes should allow this.
 
diff --git a/tests/language_2/library1.dart b/tests/language_2/library1.dart
index 96cdd1b..78c860c 100644
--- a/tests/language_2/library1.dart
+++ b/tests/language_2/library1.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library1.dart;
 
 var foo;
diff --git a/tests/language_2/library10.dart b/tests/language_2/library10.dart
index 8d2c7b5..9a17379 100644
--- a/tests/language_2/library10.dart
+++ b/tests/language_2/library10.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library10.dart;
 
 import "library11.dart" as lib11;
diff --git a/tests/language_2/library11.dart b/tests/language_2/library11.dart
index 30dfbf2..5523666 100644
--- a/tests/language_2/library11.dart
+++ b/tests/language_2/library11.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library11.dart;
 
 class Library11 {
diff --git a/tests/language_2/library12.dart b/tests/language_2/library12.dart
index 1eeaa0e..3203a89 100644
--- a/tests/language_2/library12.dart
+++ b/tests/language_2/library12.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library library12.dart;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/library2.dart b/tests/language_2/library2.dart
index 219303f..8a1a94e 100644
--- a/tests/language_2/library2.dart
+++ b/tests/language_2/library2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 var foo;
 var foo1 = 0;
 
diff --git a/tests/language_2/list/double_index_in_loop2_test.dart b/tests/language_2/list/double_index_in_loop2_test.dart
index 01ae74b..7633b07 100644
--- a/tests/language_2/list/double_index_in_loop2_test.dart
+++ b/tests/language_2/list/double_index_in_loop2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing arrays.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bar() => true;
diff --git a/tests/language_2/list/double_index_in_loop_test.dart b/tests/language_2/list/double_index_in_loop_test.dart
index ab40f99..92ab549 100644
--- a/tests/language_2/list/double_index_in_loop_test.dart
+++ b/tests/language_2/list/double_index_in_loop_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing arrays.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bar() => true;
diff --git a/tests/language_2/list/in_closure_test.dart b/tests/language_2/list/in_closure_test.dart
index 5ac5d99..539b0ab 100644
--- a/tests/language_2/list/in_closure_test.dart
+++ b/tests/language_2/list/in_closure_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.9
+
 // Regression test for dart2js that used to see aborting closure
 // bodies as aborting their enclosing element.
 
diff --git a/tests/language_2/list/is_test.dart b/tests/language_2/list/is_test.dart
index 56e716d..27ef122 100644
--- a/tests/language_2/list/is_test.dart
+++ b/tests/language_2/list/is_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/list/length_tracer_test.dart b/tests/language_2/list/length_tracer_test.dart
index f8c1070..6d9417a 100644
--- a/tests/language_2/list/length_tracer_test.dart
+++ b/tests/language_2/list/length_tracer_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.9
+
 // Test that dart2js' optimization on list length does not fold a
 // length getter to a constant if the receiver can be null.
 
diff --git a/tests/language_2/list/list_test.dart b/tests/language_2/list/list_test.dart
index e5475c4..d7ec6b9 100644
--- a/tests/language_2/list/list_test.dart
+++ b/tests/language_2/list/list_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing arrays.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/list/literal1_runtime_test.dart b/tests/language_2/list/literal1_runtime_test.dart
index 542d7ed..e6f9ab9 100644
--- a/tests/language_2/list/literal1_runtime_test.dart
+++ b/tests/language_2/list/literal1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/list/literal1_test.dart b/tests/language_2/list/literal1_test.dart
index cd54906..a34bec1 100644
--- a/tests/language_2/list/literal1_test.dart
+++ b/tests/language_2/list/literal1_test.dart
@@ -4,6 +4,8 @@
 //
 // A type mismatch in a list literal is a compile-time error
 
+// @dart = 2.9
+
 main() {
   var m = const
       <String>
diff --git a/tests/language_2/list/literal2_test.dart b/tests/language_2/list/literal2_test.dart
index a21113e..d1c9d47a 100644
--- a/tests/language_2/list/literal2_test.dart
+++ b/tests/language_2/list/literal2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test program for array literals.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ArrayLiteral2Test {
diff --git a/tests/language_2/list/literal3_test.dart b/tests/language_2/list/literal3_test.dart
index e78cb50..248eaae 100644
--- a/tests/language_2/list/literal3_test.dart
+++ b/tests/language_2/list/literal3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that arrays from const array literals are immutable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ListLiteral3Test {
diff --git a/tests/language_2/list/literal4_test.dart b/tests/language_2/list/literal4_test.dart
index 72a31d1..95039a2 100644
--- a/tests/language_2/list/literal4_test.dart
+++ b/tests/language_2/list/literal4_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.9
+
 import "package:expect/expect.dart";
 
 class ListLiteral4Test<T> {
diff --git a/tests/language_2/list/literal5_test.dart b/tests/language_2/list/literal5_test.dart
index ea27f04..f9b6353 100644
--- a/tests/language_2/list/literal5_test.dart
+++ b/tests/language_2/list/literal5_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.9
+
 /// Legacy compound literal syntax that should go away.
 
 main() {
diff --git a/tests/language_2/list/literal6_test.dart b/tests/language_2/list/literal6_test.dart
index f066509..f14b4fd 100644
--- a/tests/language_2/list/literal6_test.dart
+++ b/tests/language_2/list/literal6_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.9
+
 /// Dart test program const map literals.
 
 class ListLiteral2NegativeTest<T> {
diff --git a/tests/language_2/list/literal_syntax_test.dart b/tests/language_2/list/literal_syntax_test.dart
index 652d1b1..827a4ec 100644
--- a/tests/language_2/list/literal_syntax_test.dart
+++ b/tests/language_2/list/literal_syntax_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.9
+
 import "package:expect/expect.dart";
 
 abstract class I {}
diff --git a/tests/language_2/list/literal_test.dart b/tests/language_2/list/literal_test.dart
index da94733..c877081 100644
--- a/tests/language_2/list/literal_test.dart
+++ b/tests/language_2/list/literal_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test program for array literals.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ListLiteralTest {
diff --git a/tests/language_2/list/mixin_test.dart b/tests/language_2/list/mixin_test.dart
index 6d5ec8b7..233cb3a 100644
--- a/tests/language_2/list/mixin_test.dart
+++ b/tests/language_2/list/mixin_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:collection';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/list/tracer_call_last_test.dart b/tests/language_2/list/tracer_call_last_test.dart
index dbaf136..782aa7c 100644
--- a/tests/language_2/list/tracer_call_last_test.dart
+++ b/tests/language_2/list/tracer_call_last_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.9
+
 // dart2js used to fail this test, by inferring that `a.last()`
 // returns the element type of the `a` list.
 
diff --git a/tests/language_2/list/tracer_closure_test.dart b/tests/language_2/list/tracer_closure_test.dart
index acb226e..702a52d 100644
--- a/tests/language_2/list/tracer_closure_test.dart
+++ b/tests/language_2/list/tracer_closure_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.9
+
 // Regression test for dart2js' inferrer: if we closurize a method, we
 // still need to collect the users of the parameters for the trace
 // container pass to work.
diff --git a/tests/language_2/list/tracer_in_list_test.dart b/tests/language_2/list/tracer_in_list_test.dart
index 643f8ad..c8602e9 100644
--- a/tests/language_2/list/tracer_in_list_test.dart
+++ b/tests/language_2/list/tracer_in_list_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.9
+
 main() {
   var a = [[]];
   a[0].add(42);
diff --git a/tests/language_2/list/tracer_in_map_test.dart b/tests/language_2/list/tracer_in_map_test.dart
index 95290a0..45895a8 100644
--- a/tests/language_2/list/tracer_in_map_test.dart
+++ b/tests/language_2/list/tracer_in_map_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.9
+
 // Regression test for dart2js, whose type inferrer used to not see
 // literal maps as places where a list could escape.
 
diff --git a/tests/language_2/list/tracer_return_from_tearoff_closure_test.dart b/tests/language_2/list/tracer_return_from_tearoff_closure_test.dart
index 47e1bb49..7f816fd 100644
--- a/tests/language_2/list/tracer_return_from_tearoff_closure_test.dart
+++ b/tests/language_2/list/tracer_return_from_tearoff_closure_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.9
+
 // Regression test for dart2js's list tracer, that used to not see a
 // returned value of a method can escape to places where that method
 // is closurized and invoked.
diff --git a/tests/language_2/loop/break_outside_loop_runtime_test.dart b/tests/language_2/loop/break_outside_loop_runtime_test.dart
index b4879cf..778a354 100644
--- a/tests/language_2/loop/break_outside_loop_runtime_test.dart
+++ b/tests/language_2/loop/break_outside_loop_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/loop/break_outside_loop_test.dart b/tests/language_2/loop/break_outside_loop_test.dart
index 6cfbbbd..fecee3e 100644
--- a/tests/language_2/loop/break_outside_loop_test.dart
+++ b/tests/language_2/loop/break_outside_loop_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test check that we catch label errors.
 
+// @dart = 2.9
+
 main() {
   if (true) {
     break;
diff --git a/tests/language_2/loop/break_test.dart b/tests/language_2/loop/break_test.dart
index ca79675..340b7c6 100644
--- a/tests/language_2/loop/break_test.dart
+++ b/tests/language_2/loop/break_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for breaks in for, do/while and while loops.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class BreakTest {
diff --git a/tests/language_2/loop/continue_test.dart b/tests/language_2/loop/continue_test.dart
index 4587241..0d18cb7 100644
--- a/tests/language_2/loop/continue_test.dart
+++ b/tests/language_2/loop/continue_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for continue in for, do/while and while loops.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ContinueTest {
diff --git a/tests/language_2/loop/do_while2_test.dart b/tests/language_2/loop/do_while2_test.dart
index 9243e94..1bf1634 100644
--- a/tests/language_2/loop/do_while2_test.dart
+++ b/tests/language_2/loop/do_while2_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.9
+
 import "package:expect/expect.dart";
 
 var a = 42;
diff --git a/tests/language_2/loop/do_while3_test.dart b/tests/language_2/loop/do_while3_test.dart
index 4026ec9..1d0e2e2 100644
--- a/tests/language_2/loop/do_while3_test.dart
+++ b/tests/language_2/loop/do_while3_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a condition is only evaluated once in a loop.
diff --git a/tests/language_2/loop/do_while4_test.dart b/tests/language_2/loop/do_while4_test.dart
index 9b7115a..baa46ef 100644
--- a/tests/language_2/loop/do_while4_test.dart
+++ b/tests/language_2/loop/do_while4_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.9
+
 // Regression test for dart2js that used to crash in the presence of
 // do/while, break and a local variable declared after the break.
 
diff --git a/tests/language_2/loop/do_while_test.dart b/tests/language_2/loop/do_while_test.dart
index 435fab5..562ec1f 100644
--- a/tests/language_2/loop/do_while_test.dart
+++ b/tests/language_2/loop/do_while_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing do while statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/loop/exchange2_test.dart b/tests/language_2/loop/exchange2_test.dart
index 79fa6ed..2f6491c 100644
--- a/tests/language_2/loop/exchange2_test.dart
+++ b/tests/language_2/loop/exchange2_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.9
+
 import "package:expect/expect.dart";
 
 // This program tripped dart2js.
diff --git a/tests/language_2/loop/exchange3_test.dart b/tests/language_2/loop/exchange3_test.dart
index c621da1..3d62359 100644
--- a/tests/language_2/loop/exchange3_test.dart
+++ b/tests/language_2/loop/exchange3_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.9
+
 import "package:expect/expect.dart";
 
 // This program tripped dart2js.
diff --git a/tests/language_2/loop/exchange4_test.dart b/tests/language_2/loop/exchange4_test.dart
index b6245a9..920fb12 100644
--- a/tests/language_2/loop/exchange4_test.dart
+++ b/tests/language_2/loop/exchange4_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.9
+
 import "package:expect/expect.dart";
 
 // This program tripped dart2js.
diff --git a/tests/language_2/loop/exchange_loop_exchange_test.dart b/tests/language_2/loop/exchange_loop_exchange_test.dart
index 0edd06d..1043d95 100644
--- a/tests/language_2/loop/exchange_loop_exchange_test.dart
+++ b/tests/language_2/loop/exchange_loop_exchange_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.9
+
 import "package:expect/expect.dart";
 
 // This program tripped dart2js.
diff --git a/tests/language_2/loop/exhaustive_for_test.dart b/tests/language_2/loop/exhaustive_for_test.dart
index a88d2d7..153f268 100644
--- a/tests/language_2/loop/exhaustive_for_test.dart
+++ b/tests/language_2/loop/exhaustive_for_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing for statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test several variations of for loops:
diff --git a/tests/language_2/loop/for2_test.dart b/tests/language_2/loop/for2_test.dart
index 52686e2..c91b189 100644
--- a/tests/language_2/loop/for2_test.dart
+++ b/tests/language_2/loop/for2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing for statement which captures loop variable.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var f;
diff --git a/tests/language_2/loop/for_in2_test.dart b/tests/language_2/loop/for_in2_test.dart
index bf3e26a..4dcae09 100644
--- a/tests/language_2/loop/for_in2_test.dart
+++ b/tests/language_2/loop/for_in2_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.9
+
 // Test that using a field or a global variable for a for/in variable
 // works.
 
diff --git a/tests/language_2/loop/for_in3_test.dart b/tests/language_2/loop/for_in3_test.dart
index 7de8049..3f38724 100644
--- a/tests/language_2/loop/for_in3_test.dart
+++ b/tests/language_2/loop/for_in3_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.9
+
 // Dart test for testing that strings aren't iterable.
 
 main() {
diff --git a/tests/language_2/loop/for_in_side_effects_test.dart b/tests/language_2/loop/for_in_side_effects_test.dart
index f9b5f1a..747d157 100644
--- a/tests/language_2/loop/for_in_side_effects_test.dart
+++ b/tests/language_2/loop/for_in_side_effects_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.9
+
 // Regression test for dart2js that used to not see side effects of
 // iterator calls made in a "for in".
 
diff --git a/tests/language_2/loop/for_in_test.dart b/tests/language_2/loop/for_in_test.dart
index 32b423b..370e182 100644
--- a/tests/language_2/loop/for_in_test.dart
+++ b/tests/language_2/loop/for_in_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test for testing for in on a list literal.
diff --git a/tests/language_2/loop/for_inlining_test.dart b/tests/language_2/loop/for_inlining_test.dart
index 6615c1e..3095561 100644
--- a/tests/language_2/loop/for_inlining_test.dart
+++ b/tests/language_2/loop/for_inlining_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.9
+
 // Regression test for dart2js that used to emit an invalid JS
 // variable declaration initializer in a for initializer.
 
diff --git a/tests/language_2/loop/for_runtime_test.dart b/tests/language_2/loop/for_runtime_test.dart
index 9de889f..7ae24f2 100644
--- a/tests/language_2/loop/for_runtime_test.dart
+++ b/tests/language_2/loop/for_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/loop/for_test.dart b/tests/language_2/loop/for_test.dart
index 375fa78..4fef4ab 100644
--- a/tests/language_2/loop/for_test.dart
+++ b/tests/language_2/loop/for_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing for statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/loop/for_variable_capture_test.dart b/tests/language_2/loop/for_variable_capture_test.dart
index 97a0626..098f97c 100644
--- a/tests/language_2/loop/for_variable_capture_test.dart
+++ b/tests/language_2/loop/for_variable_capture_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.9
+
 import "package:expect/expect.dart";
 
 run(callback) => callback();
diff --git a/tests/language_2/loop/for_without_condition_test.dart b/tests/language_2/loop/for_without_condition_test.dart
index b63739d..2f709f0 100644
--- a/tests/language_2/loop/for_without_condition_test.dart
+++ b/tests/language_2/loop/for_without_condition_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/loop/hoist_test.dart b/tests/language_2/loop/hoist_test.dart
index 5b15ec8..a5ce53d 100644
--- a/tests/language_2/loop/hoist_test.dart
+++ b/tests/language_2/loop/hoist_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/loop/non_dominating_loop_test.dart b/tests/language_2/loop/non_dominating_loop_test.dart
index ac16396..aa6d4a5 100644
--- a/tests/language_2/loop/non_dominating_loop_test.dart
+++ b/tests/language_2/loop/non_dominating_loop_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.9
+
 import "package:expect/expect.dart";
 
 int calls = 0;
diff --git a/tests/language_2/loop/unconditional_break_test.dart b/tests/language_2/loop/unconditional_break_test.dart
index 63ec511..32d50d9 100644
--- a/tests/language_2/loop/unconditional_break_test.dart
+++ b/tests/language_2/loop/unconditional_break_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.9
+
 // Test to ensure that we get don't exceptions in the SSA verifier when
 // generating phi for the return value of an inlined function that contains a
 // loop that always breaks.
diff --git a/tests/language_2/loop/while_test.dart b/tests/language_2/loop/while_test.dart
index 6df3760..3636225 100644
--- a/tests/language_2/loop/while_test.dart
+++ b/tests/language_2/loop/while_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing while statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/main/main_test.dart b/tests/language_2/main/main_test.dart
index da3b57e..5fb10af 100644
--- a/tests/language_2/main/main_test.dart
+++ b/tests/language_2/main/main_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.9
+
 main(
 
 a //        //# 01: ok
diff --git a/tests/language_2/main/no_main_test.dart b/tests/language_2/main/no_main_test.dart
index 0700b65..7866fb2 100644
--- a/tests/language_2/main/no_main_test.dart
+++ b/tests/language_2/main/no_main_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.9
+
 /* //# 01: static type warning, runtime error
 main() {}
 */ //# 01: continued
diff --git a/tests/language_2/main/not_a_function_test.dart b/tests/language_2/main/not_a_function_test.dart
index 62ab4cc..ff2b02a 100644
--- a/tests/language_2/main/not_a_function_test.dart
+++ b/tests/language_2/main/not_a_function_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.9
+
 main() {}
 
 var main; /*@compile-error=unspecified*/
diff --git a/tests/language_2/malbounded/instantiation_runtime_test.dart b/tests/language_2/malbounded/instantiation_runtime_test.dart
index 31f8703..b326933 100644
--- a/tests/language_2/malbounded/instantiation_runtime_test.dart
+++ b/tests/language_2/malbounded/instantiation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malbounded/instantiation_test.dart b/tests/language_2/malbounded/instantiation_test.dart
index 2f397b2..9f52427 100644
--- a/tests/language_2/malbounded/instantiation_test.dart
+++ b/tests/language_2/malbounded/instantiation_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.9
+
 class Super<T extends num> {}
 class Malbounded1 implements Super<String> {}
 //    ^
diff --git a/tests/language_2/malbounded/redirecting_factory_test.dart b/tests/language_2/malbounded/redirecting_factory_test.dart
index 9d2d8a9..0c9c6ca 100644
--- a/tests/language_2/malbounded/redirecting_factory_test.dart
+++ b/tests/language_2/malbounded/redirecting_factory_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.9
+
 class A<
     Ta
            extends num // //# 02: continued
diff --git a/tests/language_2/malbounded/type_cast2_test.dart b/tests/language_2/malbounded/type_cast2_test.dart
index 06940a8..e001c81 100644
--- a/tests/language_2/malbounded/type_cast2_test.dart
+++ b/tests/language_2/malbounded/type_cast2_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.9
+
 import "package:expect/expect.dart";
 
 class A<T extends num> {}
diff --git a/tests/language_2/malbounded/type_cast_runtime_test.dart b/tests/language_2/malbounded/type_cast_runtime_test.dart
index fd75b12..7c9f34d 100644
--- a/tests/language_2/malbounded/type_cast_runtime_test.dart
+++ b/tests/language_2/malbounded/type_cast_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malbounded/type_cast_test.dart b/tests/language_2/malbounded/type_cast_test.dart
index 2c56e68..476c63e 100644
--- a/tests/language_2/malbounded/type_cast_test.dart
+++ b/tests/language_2/malbounded/type_cast_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.9
+
 import 'package:expect/expect.dart';
 
 class Super<T extends num> {}
diff --git a/tests/language_2/malbounded/type_literal_runtime_test.dart b/tests/language_2/malbounded/type_literal_runtime_test.dart
index adeefbf..2ca0f44 100644
--- a/tests/language_2/malbounded/type_literal_runtime_test.dart
+++ b/tests/language_2/malbounded/type_literal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malbounded/type_literal_test.dart b/tests/language_2/malbounded/type_literal_test.dart
index 2369b69..ebfef5b 100644
--- a/tests/language_2/malbounded/type_literal_test.dart
+++ b/tests/language_2/malbounded/type_literal_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.9
+
 import 'package:expect/expect.dart';
 
 class Super<T extends num> {}
diff --git a/tests/language_2/malbounded/type_test2_runtime_test.dart b/tests/language_2/malbounded/type_test2_runtime_test.dart
index 1edb15f..21d04c8 100644
--- a/tests/language_2/malbounded/type_test2_runtime_test.dart
+++ b/tests/language_2/malbounded/type_test2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/malbounded/type_test2_test.dart b/tests/language_2/malbounded/type_test2_test.dart
index 8eec3aa..542b7f6 100644
--- a/tests/language_2/malbounded/type_test2_test.dart
+++ b/tests/language_2/malbounded/type_test2_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.9
+
 import "package:expect/expect.dart";
 
 class A<T extends num> {}
diff --git a/tests/language_2/malbounded/type_test_runtime_test.dart b/tests/language_2/malbounded/type_test_runtime_test.dart
index e62f180..92a424b 100644
--- a/tests/language_2/malbounded/type_test_runtime_test.dart
+++ b/tests/language_2/malbounded/type_test_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malbounded/type_test_test.dart b/tests/language_2/malbounded/type_test_test.dart
index 70fc939..b5434fd 100644
--- a/tests/language_2/malbounded/type_test_test.dart
+++ b/tests/language_2/malbounded/type_test_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.9
+
 import 'package:expect/expect.dart';
 
 class Super<T extends num> {}
diff --git a/tests/language_2/malformed/bound_test.dart b/tests/language_2/malformed/bound_test.dart
index 035cedf..fbc42f6 100644
--- a/tests/language_2/malformed/bound_test.dart
+++ b/tests/language_2/malformed/bound_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.9
+
 class C<T
     extends Malformed  //# 00: compile-time error
     > {
diff --git a/tests/language_2/malformed/inheritance_runtime_test.dart b/tests/language_2/malformed/inheritance_runtime_test.dart
index 8c88a62..8d943b1 100644
--- a/tests/language_2/malformed/inheritance_runtime_test.dart
+++ b/tests/language_2/malformed/inheritance_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malformed/inheritance_test.dart b/tests/language_2/malformed/inheritance_test.dart
index 8eed858..20b78dd 100644
--- a/tests/language_2/malformed/inheritance_test.dart
+++ b/tests/language_2/malformed/inheritance_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.9
+
 // Tests that malformed types used in extends, implements, and with clauses
 // cause compile-time errors.
 
diff --git a/tests/language_2/malformed/malformed2_lib.dart b/tests/language_2/malformed/malformed2_lib.dart
index a940c82..c29d200 100644
--- a/tests/language_2/malformed/malformed2_lib.dart
+++ b/tests/language_2/malformed/malformed2_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of malformed_test;
 
 void testValue(var o) {
diff --git a/tests/language_2/malformed/malformed2_test.dart b/tests/language_2/malformed/malformed2_test.dart
index 79061c2..f6c32cb 100644
--- a/tests/language_2/malformed/malformed2_test.dart
+++ b/tests/language_2/malformed/malformed2_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.9
+
 library malformed_test;
 
 // This part includes the actual tests.
diff --git a/tests/language_2/malformed/malformed_test.dart b/tests/language_2/malformed/malformed_test.dart
index 7f51c3d..68c7cd3 100644
--- a/tests/language_2/malformed/malformed_test.dart
+++ b/tests/language_2/malformed/malformed_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.9
+
 import 'package:expect/expect.dart';
 import 'package:expect/expect.dart' as prefix; // Define 'prefix'.
 
diff --git a/tests/language_2/malformed/runtime_test.dart b/tests/language_2/malformed/runtime_test.dart
index e08772f..ebc9095 100644
--- a/tests/language_2/malformed/runtime_test.dart
+++ b/tests/language_2/malformed/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/malformed/type_test.dart b/tests/language_2/malformed/type_test.dart
index b464d6e..c68374c 100644
--- a/tests/language_2/malformed/type_test.dart
+++ b/tests/language_2/malformed/type_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.9
+
 null_() => null;
 final Undeclared/*@compile-error=unspecified*/ x = null_();
 
diff --git a/tests/language_2/map/literal10_test.dart b/tests/language_2/map/literal10_test.dart
index d1d3886..5870656 100644
--- a/tests/language_2/map/literal10_test.dart
+++ b/tests/language_2/map/literal10_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.9
+
 // Test the use of '__proto__' keys in maps.
 
 library map_literal10_test;
diff --git a/tests/language_2/map/literal11_test.dart b/tests/language_2/map/literal11_test.dart
index 93643eb..ce97495 100644
--- a/tests/language_2/map/literal11_test.dart
+++ b/tests/language_2/map/literal11_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.9
+
 // Test the use type arguments on constant maps.
 
 library map_literal11_test;
diff --git a/tests/language_2/map/literal12_test.dart b/tests/language_2/map/literal12_test.dart
index 1cd42d8..9cce37d 100644
--- a/tests/language_2/map/literal12_test.dart
+++ b/tests/language_2/map/literal12_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.9
+
 // Test relative order of key and value evaluation.
 
 library map_literal12_test;
diff --git a/tests/language_2/map/literal13_test.dart b/tests/language_2/map/literal13_test.dart
index 1ab622b2..8e8156f 100644
--- a/tests/language_2/map/literal13_test.dart
+++ b/tests/language_2/map/literal13_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.9
+
 /// Legacy compound literal syntax that should go away.
 
 main() {
diff --git a/tests/language_2/map/literal14_test.dart b/tests/language_2/map/literal14_test.dart
index 1b4108f..a3850d2 100644
--- a/tests/language_2/map/literal14_test.dart
+++ b/tests/language_2/map/literal14_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.9
+
 /// Dart test program const map literals.
 
 class MapLiteral2NegativeTest<T> {
diff --git a/tests/language_2/map/literal1_runtime_test.dart b/tests/language_2/map/literal1_runtime_test.dart
index 093f893..7f29a09 100644
--- a/tests/language_2/map/literal1_runtime_test.dart
+++ b/tests/language_2/map/literal1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/map/literal1_test.dart b/tests/language_2/map/literal1_test.dart
index 49aa5fa..228f1b7 100644
--- a/tests/language_2/map/literal1_test.dart
+++ b/tests/language_2/map/literal1_test.dart
@@ -4,6 +4,8 @@
 //
 // A type mismatch in a constant map literal is a compile-time error.
 
+// @dart = 2.9
+
 main() {
   var m = const
       <String, String>
diff --git a/tests/language_2/map/literal2_test.dart b/tests/language_2/map/literal2_test.dart
index d170b58..0275dff 100644
--- a/tests/language_2/map/literal2_test.dart
+++ b/tests/language_2/map/literal2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test program for map literals.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 int nextValCtr;
diff --git a/tests/language_2/map/literal3_test.dart b/tests/language_2/map/literal3_test.dart
index a5d054c..abf1310 100644
--- a/tests/language_2/map/literal3_test.dart
+++ b/tests/language_2/map/literal3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test program for map literals.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MapLiteralTest {
diff --git a/tests/language_2/map/literal4_test.dart b/tests/language_2/map/literal4_test.dart
index 9358e59..7e81969 100644
--- a/tests/language_2/map/literal4_test.dart
+++ b/tests/language_2/map/literal4_test.dart
@@ -5,6 +5,8 @@
 //
 // Dart test program testing type checks in map literals.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MapLiteral4Test<T> {
diff --git a/tests/language_2/map/literal5_test.dart b/tests/language_2/map/literal5_test.dart
index 94f298d..b69d529 100644
--- a/tests/language_2/map/literal5_test.dart
+++ b/tests/language_2/map/literal5_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.9
+
 // Test the use of general expression as keys in map literals.
 
 library map_literal5_test;
diff --git a/tests/language_2/map/literal6_test.dart b/tests/language_2/map/literal6_test.dart
index 5454f48..2eb2339 100644
--- a/tests/language_2/map/literal6_test.dart
+++ b/tests/language_2/map/literal6_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.9
+
 // Test the use of general expression as keys in const map literals.
 
 library map_literal6_test;
diff --git a/tests/language_2/map/literal7_test.dart b/tests/language_2/map/literal7_test.dart
index 06c2e39..d366a6b 100644
--- a/tests/language_2/map/literal7_test.dart
+++ b/tests/language_2/map/literal7_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.9
+
 // Test the use type arguments on constant maps.
 
 library map_literal7_test;
diff --git a/tests/language_2/map/literal8_test.dart b/tests/language_2/map/literal8_test.dart
index bf79320..649a251 100644
--- a/tests/language_2/map/literal8_test.dart
+++ b/tests/language_2/map/literal8_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.9
+
 // Test the use of type arguments on const map literals using general expression
 // as keys.
 
diff --git a/tests/language_2/map/literal9_test.dart b/tests/language_2/map/literal9_test.dart
index cc12411..8e9c376 100644
--- a/tests/language_2/map/literal9_test.dart
+++ b/tests/language_2/map/literal9_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.9
+
 // Test the use type arguments on constant maps.
 
 library map_literal9_test;
diff --git a/tests/language_2/map/literal_syntax_test.dart b/tests/language_2/map/literal_syntax_test.dart
index 953730a..54e5141 100644
--- a/tests/language_2/map/literal_syntax_test.dart
+++ b/tests/language_2/map/literal_syntax_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/map/literal_test.dart b/tests/language_2/map/literal_test.dart
index 93f1c3d..ba1c3dc 100644
--- a/tests/language_2/map/literal_test.dart
+++ b/tests/language_2/map/literal_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.9
+
 import "package:expect/expect.dart";
 
 // Tests map literals.
diff --git a/tests/language_2/map/map_test.dart b/tests/language_2/map/map_test.dart
index 0b565fd..797572b5 100644
--- a/tests/language_2/map/map_test.dart
+++ b/tests/language_2/map/map_test.dart
@@ -4,6 +4,8 @@
 // A subtest of the larger MapTest. Will eliminate once the full
 // test is running.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MapTest {
diff --git a/tests/language_2/map/null_key_foreach_test.dart b/tests/language_2/map/null_key_foreach_test.dart
index 4e566fb..a8ea186 100644
--- a/tests/language_2/map/null_key_foreach_test.dart
+++ b/tests/language_2/map/null_key_foreach_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for using `null` as a key with `forEach`.
diff --git a/tests/language_2/map/ordered_test.dart b/tests/language_2/map/ordered_test.dart
index b074ecb..0678d1a 100644
--- a/tests/language_2/map/ordered_test.dart
+++ b/tests/language_2/map/ordered_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that map literals are ordered.
diff --git a/tests/language_2/metadata/cyclic_test.dart b/tests/language_2/metadata/cyclic_test.dart
index 6ff4798..d120e84 100644
--- a/tests/language_2/metadata/cyclic_test.dart
+++ b/tests/language_2/metadata/cyclic_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.9
+
 // Check that metadata on a class 'Super' using subtypes of 'Super' are not
 // considered as cyclic inheritance or lead to crashes.
 
diff --git a/tests/language_2/metadata/lib.dart b/tests/language_2/metadata/lib.dart
index 94923eb..3b05b6b 100644
--- a/tests/language_2/metadata/lib.dart
+++ b/tests/language_2/metadata/lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library metadata.dart;
 
 class Alien {
diff --git a/tests/language_2/metadata/metadata_builtin_test.dart b/tests/language_2/metadata/metadata_builtin_test.dart
index f5c346d..acba982 100644
--- a/tests/language_2/metadata/metadata_builtin_test.dart
+++ b/tests/language_2/metadata/metadata_builtin_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.9
+
 // Verify that built-in identifiers can be used to specify metadata.
 
 const abstract = 0;
diff --git a/tests/language_2/metadata/metadata_test.dart b/tests/language_2/metadata/metadata_test.dart
index 7739961..468c4f6 100644
--- a/tests/language_2/metadata/metadata_test.dart
+++ b/tests/language_2/metadata/metadata_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.9
+
 // Test ensuring that compiler can parse metadata. Need to add negative
 // test cases with illegal metadata annotations.
 
diff --git a/tests/language_2/metadata/scope1_test.dart b/tests/language_2/metadata/scope1_test.dart
index c70d9fa..9ee34d4 100644
--- a/tests/language_2/metadata/scope1_test.dart
+++ b/tests/language_2/metadata/scope1_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.9
+
 // Test that a type variable is not in scope for metadata declared on the type
 // declaration.
 
diff --git a/tests/language_2/metadata/scope2_test.dart b/tests/language_2/metadata/scope2_test.dart
index 9b1ded6..4afea25 100644
--- a/tests/language_2/metadata/scope2_test.dart
+++ b/tests/language_2/metadata/scope2_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.9
+
 // Test that a type variable is not in scope for metadata declared on the type
 // declaration.
 
diff --git a/tests/language_2/metadata/self_test.dart b/tests/language_2/metadata/self_test.dart
index 434cc38..4185d5c 100644
--- a/tests/language_2/metadata/self_test.dart
+++ b/tests/language_2/metadata/self_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.9
+
 // Test that metadata refer to the annotated declaration.
 
 @Foo()
diff --git a/tests/language_2/method/as_constants2_test.dart b/tests/language_2/method/as_constants2_test.dart
index 4c64077..2b5121f 100644
--- a/tests/language_2/method/as_constants2_test.dart
+++ b/tests/language_2/method/as_constants2_test.dart
@@ -4,6 +4,8 @@
 // Test that a function only used by compile-time constants is being
 // generated.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 topLevelMethod() => 42;
diff --git a/tests/language_2/method/as_constants_test.dart b/tests/language_2/method/as_constants_test.dart
index e92d024..ed31313 100644
--- a/tests/language_2/method/as_constants_test.dart
+++ b/tests/language_2/method/as_constants_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.9
+
 import "package:expect/expect.dart";
 
 topLevelMethod() => 't';
diff --git a/tests/language_2/method/binding_test.dart b/tests/language_2/method/binding_test.dart
index 325e1c9..e5bd08d 100644
--- a/tests/language_2/method/binding_test.dart
+++ b/tests/language_2/method/binding_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.9
+
 import "package:expect/expect.dart";
 
 // Bind a method to a variable that can be invoked as a function
diff --git a/tests/language_2/method/invocation_test.dart b/tests/language_2/method/invocation_test.dart
index 3cc47a6..8ba25ab 100644
--- a/tests/language_2/method/invocation_test.dart
+++ b/tests/language_2/method/invocation_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.9
+
 import "package:expect/expect.dart";
 
 // Testing method invocation.
diff --git a/tests/language_2/method/name_test.dart b/tests/language_2/method/name_test.dart
index ca9c48b..f9cd04e 100644
--- a/tests/language_2/method/name_test.dart
+++ b/tests/language_2/method/name_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.9
+
 import "package:expect/expect.dart";
 
 // Tests that methods with names "get", "set" and "operator" don't
diff --git a/tests/language_2/method/not_found_runtime_test.dart b/tests/language_2/method/not_found_runtime_test.dart
index 49dc434..cce2881 100644
--- a/tests/language_2/method/not_found_runtime_test.dart
+++ b/tests/language_2/method/not_found_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/method/not_found_test.dart b/tests/language_2/method/not_found_test.dart
index 883cd6f..f064cf3 100644
--- a/tests/language_2/method/not_found_test.dart
+++ b/tests/language_2/method/not_found_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.9
+
 class A {
 //    ^
 // [cfe] The non-abstract class 'A' is missing implementations for these members:
diff --git a/tests/language_2/method/override2_test.dart b/tests/language_2/method/override2_test.dart
index 0669a5e..740fefc 100644
--- a/tests/language_2/method/override2_test.dart
+++ b/tests/language_2/method/override2_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.9
+
 // Checks that an overriding method has compatible parameters.
 
 abstract class I {
diff --git a/tests/language_2/method/override3_runtime_test.dart b/tests/language_2/method/override3_runtime_test.dart
index e391830..448bbed 100644
--- a/tests/language_2/method/override3_runtime_test.dart
+++ b/tests/language_2/method/override3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/method/override3_test.dart b/tests/language_2/method/override3_test.dart
index b131ff0..faf298a 100644
--- a/tests/language_2/method/override3_test.dart
+++ b/tests/language_2/method/override3_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/method/override7_test.dart b/tests/language_2/method/override7_test.dart
index 51588d5..23c6565 100644
--- a/tests/language_2/method/override7_test.dart
+++ b/tests/language_2/method/override7_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.9
+
 // Test that we report a compile-time error when a static function conflicts
 // with an inherited instance member of the same name.
 
diff --git a/tests/language_2/method/override8_test.dart b/tests/language_2/method/override8_test.dart
index 677952d..e67065a 100644
--- a/tests/language_2/method/override8_test.dart
+++ b/tests/language_2/method/override8_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.9
+
 // Test that we report a compile-time error when an instance method conflicts
 // with an inherited instance field or getter of the same name.
 
diff --git a/tests/language_2/method/override_test.dart b/tests/language_2/method/override_test.dart
index 1a09455..898a276 100644
--- a/tests/language_2/method/override_test.dart
+++ b/tests/language_2/method/override_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.9
+
 import "package:expect/expect.dart";
 
 // Checks that a method with an instantiated return type can override a method
diff --git a/tests/language_2/mixin/abstract_getter_test.dart b/tests/language_2/mixin/abstract_getter_test.dart
index 7fe7bd9..55c4d03 100644
--- a/tests/language_2/mixin/abstract_getter_test.dart
+++ b/tests/language_2/mixin/abstract_getter_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.9
+
 import 'package:expect/expect.dart';
 
 abstract class B {
diff --git a/tests/language_2/mixin/accessor_test.dart b/tests/language_2/mixin/accessor_test.dart
index bb346e8..ddad1fb 100644
--- a/tests/language_2/mixin/accessor_test.dart
+++ b/tests/language_2/mixin/accessor_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.9
+
 // Regression test case for DDC bug where if a getter/setter is mixed in
 // without a corresponding getter/setter, DDC fails to install a the
 // corresponding getter/setter that calls super.
diff --git a/tests/language_2/mixin/and_extension_member_test.dart b/tests/language_2/mixin/and_extension_member_test.dart
index 3f96a4a..e8d29f1 100644
--- a/tests/language_2/mixin/and_extension_member_test.dart
+++ b/tests/language_2/mixin/and_extension_member_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.9
+
 import 'dart:collection';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/mixin/black_listed_test.dart b/tests/language_2/mixin/black_listed_test.dart
index 08ff386..47a7999 100644
--- a/tests/language_2/mixin/black_listed_test.dart
+++ b/tests/language_2/mixin/black_listed_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.9
+
 // Check mixin of black-listed types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/mixin/bound_test.dart b/tests/language_2/mixin/bound_test.dart
index 23b4e29..aeb5fda 100644
--- a/tests/language_2/mixin/bound_test.dart
+++ b/tests/language_2/mixin/bound_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.9
+
 import "package:expect/expect.dart";
 
 // library abstract_expressions;
diff --git a/tests/language_2/mixin/class_from_core_library_test.dart b/tests/language_2/mixin/class_from_core_library_test.dart
index 300e030..7136493 100644
--- a/tests/language_2/mixin/class_from_core_library_test.dart
+++ b/tests/language_2/mixin/class_from_core_library_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2017, 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.9
 import 'dart:collection';
 
 class MyList extends Object with ListMixin {
diff --git a/tests/language_2/mixin/cyclic_runtime_test.dart b/tests/language_2/mixin/cyclic_runtime_test.dart
index 2217ac1..886299b8 100644
--- a/tests/language_2/mixin/cyclic_runtime_test.dart
+++ b/tests/language_2/mixin/cyclic_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/cyclic_test.dart b/tests/language_2/mixin/cyclic_test.dart
index 4e129a6..7111fb1 100644
--- a/tests/language_2/mixin/cyclic_test.dart
+++ b/tests/language_2/mixin/cyclic_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.9
+
 // Test for cyclicity check on named mixin applications.
 
 class A<T> {}
diff --git a/tests/language_2/mixin/deduplication_test.dart b/tests/language_2/mixin/deduplication_test.dart
index f401bf1..3510f9e 100644
--- a/tests/language_2/mixin/deduplication_test.dart
+++ b/tests/language_2/mixin/deduplication_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.9
+
 // Test mixin de-duplication with new mixin syntax.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/mixin/extends_field_test.dart b/tests/language_2/mixin/extends_field_test.dart
index 778a242..0f7aff6 100644
--- a/tests/language_2/mixin/extends_field_test.dart
+++ b/tests/language_2/mixin/extends_field_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/extends_is_test.dart b/tests/language_2/mixin/extends_is_test.dart
index 5c3a1c3..1c3b99b 100644
--- a/tests/language_2/mixin/extends_is_test.dart
+++ b/tests/language_2/mixin/extends_is_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.9
+
 import "package:expect/expect.dart";
 
 class S {}
diff --git a/tests/language_2/mixin/extends_method_test.dart b/tests/language_2/mixin/extends_method_test.dart
index cee3d65..cafe552 100644
--- a/tests/language_2/mixin/extends_method_test.dart
+++ b/tests/language_2/mixin/extends_method_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/factory_constructor_test.dart b/tests/language_2/mixin/factory_constructor_test.dart
index ac0e227..2dd5f8b 100644
--- a/tests/language_2/mixin/factory_constructor_test.dart
+++ b/tests/language_2/mixin/factory_constructor_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/field_initializer_test.dart b/tests/language_2/mixin/field_initializer_test.dart
index e2855fe..46364cd 100644
--- a/tests/language_2/mixin/field_initializer_test.dart
+++ b/tests/language_2/mixin/field_initializer_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 class S {
diff --git a/tests/language_2/mixin/field_test.dart b/tests/language_2/mixin/field_test.dart
index bd821ce..c4a3fd8 100644
--- a/tests/language_2/mixin/field_test.dart
+++ b/tests/language_2/mixin/field_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/forwarding_constructor1_test.dart b/tests/language_2/mixin/forwarding_constructor1_test.dart
index b0e97ab..f4a6d37 100644
--- a/tests/language_2/mixin/forwarding_constructor1_test.dart
+++ b/tests/language_2/mixin/forwarding_constructor1_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin1 {
diff --git a/tests/language_2/mixin/forwarding_constructor2_test.dart b/tests/language_2/mixin/forwarding_constructor2_test.dart
index 0c51276..262c3fb 100644
--- a/tests/language_2/mixin/forwarding_constructor2_test.dart
+++ b/tests/language_2/mixin/forwarding_constructor2_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin1 {
diff --git a/tests/language_2/mixin/forwarding_constructor3_test.dart b/tests/language_2/mixin/forwarding_constructor3_test.dart
index 1d2f5dc..b9e3619 100644
--- a/tests/language_2/mixin/forwarding_constructor3_test.dart
+++ b/tests/language_2/mixin/forwarding_constructor3_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.9
+
 // Verify that a named mixin constructor forwards to the corresponding named
 // base class constructor.
 
diff --git a/tests/language_2/mixin/forwarding_constructor4_test.dart b/tests/language_2/mixin/forwarding_constructor4_test.dart
index ece8c13..ded2752 100644
--- a/tests/language_2/mixin/forwarding_constructor4_test.dart
+++ b/tests/language_2/mixin/forwarding_constructor4_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.9
+
 // Verify that a forwarding constructor is generated even when there is an
 // optional parameter.
 
diff --git a/tests/language_2/mixin/generic_test.dart b/tests/language_2/mixin/generic_test.dart
index eb785f8..42fd4f2 100644
--- a/tests/language_2/mixin/generic_test.dart
+++ b/tests/language_2/mixin/generic_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.9
+
 import "package:expect/expect.dart";
 
 class S<T> {
diff --git a/tests/language_2/mixin/getter_regression_test.dart b/tests/language_2/mixin/getter_regression_test.dart
index f3a7bcd..0e2dd1c 100644
--- a/tests/language_2/mixin/getter_regression_test.dart
+++ b/tests/language_2/mixin/getter_regression_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.9
+
 // Regression test case for dart2js bug where the getter for y wasn't
 // properly mixed in.
 
diff --git a/tests/language_2/mixin/illegal_constructor_runtime_test.dart b/tests/language_2/mixin/illegal_constructor_runtime_test.dart
index da8e2680..2ef9ac3 100644
--- a/tests/language_2/mixin/illegal_constructor_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_constructor_test.dart b/tests/language_2/mixin/illegal_constructor_test.dart
index ea13e2a..b402b1c 100644
--- a/tests/language_2/mixin/illegal_constructor_test.dart
+++ b/tests/language_2/mixin/illegal_constructor_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.9
+
 class M0 {
   factory M0(a, b, c) => null;
   factory M0.named() => null;
diff --git a/tests/language_2/mixin/illegal_cycles_runtime_test.dart b/tests/language_2/mixin/illegal_cycles_runtime_test.dart
index cd5bbfe..de5a401 100644
--- a/tests/language_2/mixin/illegal_cycles_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_cycles_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_cycles_test.dart b/tests/language_2/mixin/illegal_cycles_test.dart
index 3db5716..cae2fba 100644
--- a/tests/language_2/mixin/illegal_cycles_test.dart
+++ b/tests/language_2/mixin/illegal_cycles_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.9
+
 class M {}
 class M0 extends Object with M0 { }
 //    ^^
diff --git a/tests/language_2/mixin/illegal_object_runtime_test.dart b/tests/language_2/mixin/illegal_object_runtime_test.dart
index 9f8bf27..62afbd1 100644
--- a/tests/language_2/mixin/illegal_object_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_object_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_object_test.dart b/tests/language_2/mixin/illegal_object_test.dart
index ddd27f2..fffc7aa 100644
--- a/tests/language_2/mixin/illegal_object_test.dart
+++ b/tests/language_2/mixin/illegal_object_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.9
+
 // Object has a non-trivial constructor and hence cannot be used as mixin.
 
 class S {}
diff --git a/tests/language_2/mixin/illegal_static_access_runtime_test.dart b/tests/language_2/mixin/illegal_static_access_runtime_test.dart
index edf6b9a..93f145e 100644
--- a/tests/language_2/mixin/illegal_static_access_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_static_access_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_static_access_test.dart b/tests/language_2/mixin/illegal_static_access_test.dart
index 8cd792d..9d19c14 100644
--- a/tests/language_2/mixin/illegal_static_access_test.dart
+++ b/tests/language_2/mixin/illegal_static_access_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/illegal_super_use_runtime_test.dart b/tests/language_2/mixin/illegal_super_use_runtime_test.dart
index 86ecb63..4b681b4 100644
--- a/tests/language_2/mixin/illegal_super_use_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_super_use_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_super_use_test.dart b/tests/language_2/mixin/illegal_super_use_test.dart
index 17e4fad..7ea7894 100644
--- a/tests/language_2/mixin/illegal_super_use_test.dart
+++ b/tests/language_2/mixin/illegal_super_use_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.9
+
 import "package:expect/expect.dart";
 
 class M {}
diff --git a/tests/language_2/mixin/illegal_superclass_runtime_test.dart b/tests/language_2/mixin/illegal_superclass_runtime_test.dart
index 303ca9b..265822d 100644
--- a/tests/language_2/mixin/illegal_superclass_runtime_test.dart
+++ b/tests/language_2/mixin/illegal_superclass_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/illegal_superclass_test.dart b/tests/language_2/mixin/illegal_superclass_test.dart
index c1e1e0c..56427b5 100644
--- a/tests/language_2/mixin/illegal_superclass_test.dart
+++ b/tests/language_2/mixin/illegal_superclass_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.9
+
 class S0 {}
 
 class S1 extends Object {}
diff --git a/tests/language_2/mixin/illegal_syntax_test.dart b/tests/language_2/mixin/illegal_syntax_test.dart
index 27a695c..25802e9 100644
--- a/tests/language_2/mixin/illegal_syntax_test.dart
+++ b/tests/language_2/mixin/illegal_syntax_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.9
+
 class S { }
 class G<T> { }
 class M { }
diff --git a/tests/language_2/mixin/implements2_test.dart b/tests/language_2/mixin/implements2_test.dart
index 37c0446..5362059 100644
--- a/tests/language_2/mixin/implements2_test.dart
+++ b/tests/language_2/mixin/implements2_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.9
+
 // Regression test for named mixin applications with implements clause.
 
 class A {}
diff --git a/tests/language_2/mixin/implements_test.dart b/tests/language_2/mixin/implements_test.dart
index 1845773..16f54ca 100644
--- a/tests/language_2/mixin/implements_test.dart
+++ b/tests/language_2/mixin/implements_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.9
+
 import "package:expect/expect.dart";
 
 abstract class I0 {
diff --git a/tests/language_2/mixin/implicit_covariance_test.dart b/tests/language_2/mixin/implicit_covariance_test.dart
index 87d3ddd..223cf7f 100644
--- a/tests/language_2/mixin/implicit_covariance_test.dart
+++ b/tests/language_2/mixin/implicit_covariance_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.9
+
 import 'package:expect/expect.dart';
 
 abstract class A<T> {
diff --git a/tests/language_2/mixin/inference_mixin_field_test.dart b/tests/language_2/mixin/inference_mixin_field_test.dart
index 9669846..dd593d1 100644
--- a/tests/language_2/mixin/inference_mixin_field_test.dart
+++ b/tests/language_2/mixin/inference_mixin_field_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.9
+
 import "package:expect/expect.dart";
 
 class Mixin {
diff --git a/tests/language_2/mixin/interface_check_runtime_test.dart b/tests/language_2/mixin/interface_check_runtime_test.dart
index 6a652ab..b0f38be 100644
--- a/tests/language_2/mixin/interface_check_runtime_test.dart
+++ b/tests/language_2/mixin/interface_check_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/mixin/interface_check_test.dart b/tests/language_2/mixin/interface_check_test.dart
index 9884d1b..136ea4f 100644
--- a/tests/language_2/mixin/interface_check_test.dart
+++ b/tests/language_2/mixin/interface_check_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.9
+
 class Thing {}
 
 class SubThing extends Thing {
diff --git a/tests/language_2/mixin/invalid_bound2_test.dart b/tests/language_2/mixin/invalid_bound2_test.dart
index b53f4dc..b7eaf64 100644
--- a/tests/language_2/mixin/invalid_bound2_test.dart
+++ b/tests/language_2/mixin/invalid_bound2_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.9
+
 class S0<T> {}
 
 class S<U extends num, V extends U> extends S0<String> {}
diff --git a/tests/language_2/mixin/invalid_bound_test.dart b/tests/language_2/mixin/invalid_bound_test.dart
index 7f85533..c7103de 100644
--- a/tests/language_2/mixin/invalid_bound_test.dart
+++ b/tests/language_2/mixin/invalid_bound_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.9
+
 class S0<T> {}
 
 class S<T extends num> extends S0<String> {}
diff --git a/tests/language_2/mixin/invalid_inheritance1_test.dart b/tests/language_2/mixin/invalid_inheritance1_test.dart
index 23c689a..dfead53 100644
--- a/tests/language_2/mixin/invalid_inheritance1_test.dart
+++ b/tests/language_2/mixin/invalid_inheritance1_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.9
+
 class C<T> extends Object
   with Malformed // //# 01: compile-time error
   with T //         //# 02: compile-time error
diff --git a/tests/language_2/mixin/invalid_inheritance2_test.dart b/tests/language_2/mixin/invalid_inheritance2_test.dart
index fd2ce5b..5dca5b5 100644
--- a/tests/language_2/mixin/invalid_inheritance2_test.dart
+++ b/tests/language_2/mixin/invalid_inheritance2_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.9
+
 class C<T> = Object with Malformed; // //# 01: compile-time error
 class C<T> = Object with T; //         //# 02: compile-time error
 class C<T> = OBject with T<int>; //    //# 03: compile-time error
diff --git a/tests/language_2/mixin/invalid_override_in_mixin_runtime_test.dart b/tests/language_2/mixin/invalid_override_in_mixin_runtime_test.dart
index 7584e4a..cca7cdf 100644
--- a/tests/language_2/mixin/invalid_override_in_mixin_runtime_test.dart
+++ b/tests/language_2/mixin/invalid_override_in_mixin_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/mixin/invalid_override_in_mixin_test.dart b/tests/language_2/mixin/invalid_override_in_mixin_test.dart
index de7b18c..815910b 100644
--- a/tests/language_2/mixin/invalid_override_in_mixin_test.dart
+++ b/tests/language_2/mixin/invalid_override_in_mixin_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/mixin/is_test.dart b/tests/language_2/mixin/is_test.dart
index 89b5464..31b5515 100644
--- a/tests/language_2/mixin/is_test.dart
+++ b/tests/language_2/mixin/is_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.9
+
 import "package:expect/expect.dart";
 
 class S {}
diff --git a/tests/language_2/mixin/issue10216_2_test.dart b/tests/language_2/mixin/issue10216_2_test.dart
index d48fd69..db268f7 100644
--- a/tests/language_2/mixin/issue10216_2_test.dart
+++ b/tests/language_2/mixin/issue10216_2_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.9
+
 import "package:expect/expect.dart";
 
 class M1 = Object with M0;
diff --git a/tests/language_2/mixin/issue10216_test.dart b/tests/language_2/mixin/issue10216_test.dart
index b62c63c..1a7874a 100644
--- a/tests/language_2/mixin/issue10216_test.dart
+++ b/tests/language_2/mixin/issue10216_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/mixin/lib_extends_field_lib.dart b/tests/language_2/mixin/lib_extends_field_lib.dart
index 97a31be..68318fd 100644
--- a/tests/language_2/mixin/lib_extends_field_lib.dart
+++ b/tests/language_2/mixin/lib_extends_field_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mixin_lib_extends_field_lib;
 
 class M1 {
diff --git a/tests/language_2/mixin/lib_extends_field_test.dart b/tests/language_2/mixin/lib_extends_field_test.dart
index e509a94..1e42915 100644
--- a/tests/language_2/mixin/lib_extends_field_test.dart
+++ b/tests/language_2/mixin/lib_extends_field_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.9
+
 library mixin_lib_extends_field_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/mixin/lib_extends_method_lib.dart b/tests/language_2/mixin/lib_extends_method_lib.dart
index b548c58..9743324b3 100644
--- a/tests/language_2/mixin/lib_extends_method_lib.dart
+++ b/tests/language_2/mixin/lib_extends_method_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mixin_lib_extends_method_lib;
 
 class M1 {
diff --git a/tests/language_2/mixin/lib_extends_method_test.dart b/tests/language_2/mixin/lib_extends_method_test.dart
index 59ae2ca..1a5c705 100644
--- a/tests/language_2/mixin/lib_extends_method_test.dart
+++ b/tests/language_2/mixin/lib_extends_method_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.9
+
 library mixin_lib_extends_method_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/mixin/method_override_runtime_test.dart b/tests/language_2/mixin/method_override_runtime_test.dart
index d6f2d76..c5711ed 100644
--- a/tests/language_2/mixin/method_override_runtime_test.dart
+++ b/tests/language_2/mixin/method_override_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/mixin/method_override_test.dart b/tests/language_2/mixin/method_override_test.dart
index 54844a9..89023aa 100644
--- a/tests/language_2/mixin/method_override_test.dart
+++ b/tests/language_2/mixin/method_override_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.9
+
 // Signature conformance test.
 abstract class CII {
   int id(int x);
diff --git a/tests/language_2/mixin/method_test.dart b/tests/language_2/mixin/method_test.dart
index 20ef4648..f6787da 100644
--- a/tests/language_2/mixin/method_test.dart
+++ b/tests/language_2/mixin/method_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/mixin2_test.dart b/tests/language_2/mixin/mixin2_test.dart
index b9da579..ae37057 100644
--- a/tests/language_2/mixin/mixin2_test.dart
+++ b/tests/language_2/mixin/mixin2_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.9
+
 import "package:expect/expect.dart";
 
 class M<T> {
diff --git a/tests/language_2/mixin/mixin3_test.dart b/tests/language_2/mixin/mixin3_test.dart
index ecdb2bd..13b9d049 100644
--- a/tests/language_2/mixin/mixin3_test.dart
+++ b/tests/language_2/mixin/mixin3_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.9
+
 import "package:expect/expect.dart";
 
 class M<T> {
diff --git a/tests/language_2/mixin/mixin4_test.dart b/tests/language_2/mixin/mixin4_test.dart
index a982532..d0c61b3 100644
--- a/tests/language_2/mixin/mixin4_test.dart
+++ b/tests/language_2/mixin/mixin4_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin5_test.dart b/tests/language_2/mixin/mixin5_test.dart
index 064f53b..4497cc4 100644
--- a/tests/language_2/mixin/mixin5_test.dart
+++ b/tests/language_2/mixin/mixin5_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin6_test.dart b/tests/language_2/mixin/mixin6_test.dart
index eb2cadc..cd8c8be 100644
--- a/tests/language_2/mixin/mixin6_test.dart
+++ b/tests/language_2/mixin/mixin6_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin7_test.dart b/tests/language_2/mixin/mixin7_test.dart
index 3c5c282..d6b484f 100644
--- a/tests/language_2/mixin/mixin7_test.dart
+++ b/tests/language_2/mixin/mixin7_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin_bound2_test.dart b/tests/language_2/mixin/mixin_bound2_test.dart
index 76da3a9..524aa6e 100644
--- a/tests/language_2/mixin/mixin_bound2_test.dart
+++ b/tests/language_2/mixin/mixin_bound2_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin_bound_test.dart b/tests/language_2/mixin/mixin_bound_test.dart
index dfa6273..764fc26 100644
--- a/tests/language_2/mixin/mixin_bound_test.dart
+++ b/tests/language_2/mixin/mixin_bound_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.9
+
 import "package:expect/expect.dart";
 
 class I<T> {}
diff --git a/tests/language_2/mixin/mixin_test.dart b/tests/language_2/mixin/mixin_test.dart
index 8f32aba..76fab89 100644
--- a/tests/language_2/mixin/mixin_test.dart
+++ b/tests/language_2/mixin/mixin_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.9
+
 import "package:expect/expect.dart";
 
 class M1 {
diff --git a/tests/language_2/mixin/mixin_type_arguments_test.dart b/tests/language_2/mixin/mixin_type_arguments_test.dart
index 08a3d9c..4730c64 100644
--- a/tests/language_2/mixin/mixin_type_arguments_test.dart
+++ b/tests/language_2/mixin/mixin_type_arguments_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.9
+
 import 'package:expect/expect.dart' show Expect;
 
 @pragma("vm:entry-point") // Prevent obfuscation
diff --git a/tests/language_2/mixin/named_constructor_test.dart b/tests/language_2/mixin/named_constructor_test.dart
index 081af92..f8cb8f9 100644
--- a/tests/language_2/mixin/named_constructor_test.dart
+++ b/tests/language_2/mixin/named_constructor_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.9
+
 import "package:expect/expect.dart";
 
 var calls = <String>[];
diff --git a/tests/language_2/mixin/naming_test.dart b/tests/language_2/mixin/naming_test.dart
index a4c267a..4ad1455 100644
--- a/tests/language_2/mixin/naming_test.dart
+++ b/tests/language_2/mixin/naming_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.9
+
 import "package:expect/expect.dart";
 
 class S {}
diff --git a/tests/language_2/mixin/only_for_rti_test.dart b/tests/language_2/mixin/only_for_rti_test.dart
index d401e85..501e947 100644
--- a/tests/language_2/mixin/only_for_rti_test.dart
+++ b/tests/language_2/mixin/only_for_rti_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.9
+
 import "package:expect/expect.dart";
 
 class Tester<T> {
diff --git a/tests/language_2/mixin/override_regression_test.dart b/tests/language_2/mixin/override_regression_test.dart
index cb032e0..08b95b2 100644
--- a/tests/language_2/mixin/override_regression_test.dart
+++ b/tests/language_2/mixin/override_regression_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.9
+
 import "package:expect/expect.dart";
 
 class C0 {
diff --git a/tests/language_2/mixin/prefix_lib.dart b/tests/language_2/mixin/prefix_lib.dart
index 031c040..25894fc 100644
--- a/tests/language_2/mixin/prefix_lib.dart
+++ b/tests/language_2/mixin/prefix_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mixin_prefix_lib;
 
 import "dart:convert";
diff --git a/tests/language_2/mixin/prefix_test.dart b/tests/language_2/mixin/prefix_test.dart
index 59eb442..0572b8f 100644
--- a/tests/language_2/mixin/prefix_test.dart
+++ b/tests/language_2/mixin/prefix_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.9
+
 // Regression test for issue 11891.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/mixin/proto_test.dart b/tests/language_2/mixin/proto_test.dart
index b8b19f1..5291acf7 100644
--- a/tests/language_2/mixin/proto_test.dart
+++ b/tests/language_2/mixin/proto_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.9
+
 // Tests that a program in csp mode doesn't access the prototype chain
 // on platforms that don't support direct access to __proto__.
 // This test is most useful with --csp and on a platform that doesn't support
diff --git a/tests/language_2/mixin/recursive_mixin_test.dart b/tests/language_2/mixin/recursive_mixin_test.dart
index a961ea91..446af19 100644
--- a/tests/language_2/mixin/recursive_mixin_test.dart
+++ b/tests/language_2/mixin/recursive_mixin_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/mixin/regress_11398_test.dart b/tests/language_2/mixin/regress_11398_test.dart
index 31fe089..f5f5c47 100644
--- a/tests/language_2/mixin/regress_11398_test.dart
+++ b/tests/language_2/mixin/regress_11398_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/mixin/regress_13688_test.dart b/tests/language_2/mixin/regress_13688_test.dart
index 0c01537..ed86fc9 100644
--- a/tests/language_2/mixin/regress_13688_test.dart
+++ b/tests/language_2/mixin/regress_13688_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.9
+
 import "package:expect/expect.dart";
 
 class ComparableMixin<E> {
diff --git a/tests/language_2/mixin/regress_flutter_55345_const_test.dart b/tests/language_2/mixin/regress_flutter_55345_const_test.dart
index 9c9551d..797aaca 100644
--- a/tests/language_2/mixin/regress_flutter_55345_const_test.dart
+++ b/tests/language_2/mixin/regress_flutter_55345_const_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.9
+
 // Verifies that references to deduplicated mixins are properly updated
 // in types which are only accessible through constants.
 // Regression test for https://github.com/flutter/flutter/issues/55345.
diff --git a/tests/language_2/mixin/regress_flutter_55345_test.dart b/tests/language_2/mixin/regress_flutter_55345_test.dart
index 0cb0441..e9612ca 100644
--- a/tests/language_2/mixin/regress_flutter_55345_test.dart
+++ b/tests/language_2/mixin/regress_flutter_55345_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.9
+
 // Verifies that references to deduplicated mixins are properly updated.
 // Regression test for https://github.com/flutter/flutter/issues/55345.
 
diff --git a/tests/language_2/mixin/regress_flutter_66859_1_test.dart b/tests/language_2/mixin/regress_flutter_66859_1_test.dart
index 544da53..1f4b34d 100644
--- a/tests/language_2/mixin/regress_flutter_66859_1_test.dart
+++ b/tests/language_2/mixin/regress_flutter_66859_1_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.9
+
 // Verifies that mixin supertypes are properly maintained even if marked as
 // deferred (e.g., in a circular hierarchy).
 // Regression test for: https://github.com/flutter/flutter/issues/66859
diff --git a/tests/language_2/mixin/regress_flutter_66859_2_test.dart b/tests/language_2/mixin/regress_flutter_66859_2_test.dart
index 7a3ee64..d0d735c 100644
--- a/tests/language_2/mixin/regress_flutter_66859_2_test.dart
+++ b/tests/language_2/mixin/regress_flutter_66859_2_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.9
+
 // Verifies that mixin supertypes are properly maintained even if marked as
 // deferred (e.g., in a circular hierarchy).
 // Regression test for: https://github.com/flutter/flutter/issues/66859
diff --git a/tests/language_2/mixin/substitution_test.dart b/tests/language_2/mixin/substitution_test.dart
index d6121db..1c26b88 100644
--- a/tests/language_2/mixin/substitution_test.dart
+++ b/tests/language_2/mixin/substitution_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.9
+
 // Test that mixins don't interfere with type variable substitution.
 
 import '../dynamic_type_helper.dart';
diff --git a/tests/language_2/mixin/super_2_test.dart b/tests/language_2/mixin/super_2_test.dart
index aac47ff..bcb922d 100644
--- a/tests/language_2/mixin/super_2_test.dart
+++ b/tests/language_2/mixin/super_2_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/mixin/super_bound_runtime_test.dart b/tests/language_2/mixin/super_bound_runtime_test.dart
index 6214978..0823a5f 100644
--- a/tests/language_2/mixin/super_bound_runtime_test.dart
+++ b/tests/language_2/mixin/super_bound_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/mixin/super_bound_test.dart b/tests/language_2/mixin/super_bound_test.dart
index 634c838..3b3eaf1 100644
--- a/tests/language_2/mixin/super_bound_test.dart
+++ b/tests/language_2/mixin/super_bound_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.9
+
 class M<U extends V, V> {}
 
 class N<U, V extends U> {}
diff --git a/tests/language_2/mixin/super_constructor2_test.dart b/tests/language_2/mixin/super_constructor2_test.dart
index bb3b60e..ecf8f0f 100644
--- a/tests/language_2/mixin/super_constructor2_test.dart
+++ b/tests/language_2/mixin/super_constructor2_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/super_constructor_default_test.dart b/tests/language_2/mixin/super_constructor_default_test.dart
index 81f2bfc..4c65c81 100644
--- a/tests/language_2/mixin/super_constructor_default_test.dart
+++ b/tests/language_2/mixin/super_constructor_default_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/super_constructor_multiple_test.dart b/tests/language_2/mixin/super_constructor_multiple_test.dart
index 5201be3..0fb5208 100644
--- a/tests/language_2/mixin/super_constructor_multiple_test.dart
+++ b/tests/language_2/mixin/super_constructor_multiple_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.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/mixin/super_constructor_named_test.dart b/tests/language_2/mixin/super_constructor_named_test.dart
index 0f93c37..057b3ae 100644
--- a/tests/language_2/mixin/super_constructor_named_test.dart
+++ b/tests/language_2/mixin/super_constructor_named_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/super_constructor_positionals_test.dart b/tests/language_2/mixin/super_constructor_positionals_test.dart
index 68fd9eb..a2ba551 100644
--- a/tests/language_2/mixin/super_constructor_positionals_test.dart
+++ b/tests/language_2/mixin/super_constructor_positionals_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/super_constructor_test.dart b/tests/language_2/mixin/super_constructor_test.dart
index f342fe8..9246e1d 100644
--- a/tests/language_2/mixin/super_constructor_test.dart
+++ b/tests/language_2/mixin/super_constructor_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.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/mixin/super_test.dart b/tests/language_2/mixin/super_test.dart
index 77f72d6..e55fd8a 100644
--- a/tests/language_2/mixin/super_test.dart
+++ b/tests/language_2/mixin/super_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.9
+
 import "package:expect/expect.dart";
 
 class MS<T> {
diff --git a/tests/language_2/mixin/super_use_test.dart b/tests/language_2/mixin/super_use_test.dart
index f0fc152..6dff263 100644
--- a/tests/language_2/mixin/super_use_test.dart
+++ b/tests/language_2/mixin/super_use_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.9
+
 import "package:expect/expect.dart";
 
 class M {}
diff --git a/tests/language_2/mixin/superclass_runtime_test.dart b/tests/language_2/mixin/superclass_runtime_test.dart
index eeb1b9c..7db5d28 100644
--- a/tests/language_2/mixin/superclass_runtime_test.dart
+++ b/tests/language_2/mixin/superclass_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/superclass_test.dart b/tests/language_2/mixin/superclass_test.dart
index 5b9a8ee..1c81a63 100644
--- a/tests/language_2/mixin/superclass_test.dart
+++ b/tests/language_2/mixin/superclass_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.9
+
 class S0 {}
 
 class S1 extends Object {}
diff --git a/tests/language_2/mixin/supertype_subclass2_test.dart b/tests/language_2/mixin/supertype_subclass2_test.dart
index 0bafafc..8114eb6 100644
--- a/tests/language_2/mixin/supertype_subclass2_test.dart
+++ b/tests/language_2/mixin/supertype_subclass2_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.9
+
 class B {}
 
 class C {}
diff --git a/tests/language_2/mixin/supertype_subclass_test.dart b/tests/language_2/mixin/supertype_subclass_test.dart
index 1e2c7ca..e7c4cad 100644
--- a/tests/language_2/mixin/supertype_subclass_test.dart
+++ b/tests/language_2/mixin/supertype_subclass_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.9
+
 class B {}
 
 class C {}
diff --git a/tests/language_2/mixin/this_use_test.dart b/tests/language_2/mixin/this_use_test.dart
index 23d2e99..7d2f99d 100644
--- a/tests/language_2/mixin/this_use_test.dart
+++ b/tests/language_2/mixin/this_use_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.9
+
 // Test that [:this:] in a class A used as a mixin in class D knows it can be an
 // instance of D.
 
diff --git a/tests/language_2/mixin/type_parameter1_test.dart b/tests/language_2/mixin/type_parameter1_test.dart
index 1928ec4..d7cf773 100644
--- a/tests/language_2/mixin/type_parameter1_test.dart
+++ b/tests/language_2/mixin/type_parameter1_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin1<T> {}
diff --git a/tests/language_2/mixin/type_parameter2_test.dart b/tests/language_2/mixin/type_parameter2_test.dart
index 129fdf1..27ab639 100644
--- a/tests/language_2/mixin/type_parameter2_test.dart
+++ b/tests/language_2/mixin/type_parameter2_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin1<T> {}
diff --git a/tests/language_2/mixin/type_parameter3_test.dart b/tests/language_2/mixin/type_parameter3_test.dart
index 51164d9..3659166 100644
--- a/tests/language_2/mixin/type_parameter3_test.dart
+++ b/tests/language_2/mixin/type_parameter3_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin1<T> {}
diff --git a/tests/language_2/mixin/type_parameter4_test.dart b/tests/language_2/mixin/type_parameter4_test.dart
index d309b7f3..87cb760 100644
--- a/tests/language_2/mixin/type_parameter4_test.dart
+++ b/tests/language_2/mixin/type_parameter4_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.9
+
 import "package:expect/expect.dart";
 
 class R<E, F> {}
diff --git a/tests/language_2/mixin/type_parameter5_test.dart b/tests/language_2/mixin/type_parameter5_test.dart
index ce6bad0..f93a9ba 100644
--- a/tests/language_2/mixin/type_parameter5_test.dart
+++ b/tests/language_2/mixin/type_parameter5_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.9
+
 class MixinA<T> {
   T intField;
 }
diff --git a/tests/language_2/mixin/type_parameter6_test.dart b/tests/language_2/mixin/type_parameter6_test.dart
index 401a1a5..6aec9de 100644
--- a/tests/language_2/mixin/type_parameter6_test.dart
+++ b/tests/language_2/mixin/type_parameter6_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.9
+
 class A<T> {}
 
 class B<S> {
diff --git a/tests/language_2/mixin/type_parameter_inference_error_test.dart b/tests/language_2/mixin/type_parameter_inference_error_test.dart
index c720e49..7d09d22 100644
--- a/tests/language_2/mixin/type_parameter_inference_error_test.dart
+++ b/tests/language_2/mixin/type_parameter_inference_error_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.9
+
 abstract class A<T> {}
 
 class B {}
diff --git a/tests/language_2/mixin/type_parameter_inference_previous_mixin_test.dart b/tests/language_2/mixin/type_parameter_inference_previous_mixin_test.dart
index a3d9ce5..191e77b 100644
--- a/tests/language_2/mixin/type_parameter_inference_previous_mixin_test.dart
+++ b/tests/language_2/mixin/type_parameter_inference_previous_mixin_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.9
+
 import "package:expect/expect.dart";
 
 abstract class A<T> {
diff --git a/tests/language_2/mixin/type_parameter_inference_test.dart b/tests/language_2/mixin/type_parameter_inference_test.dart
index 8d5f336..b3cf4bf 100644
--- a/tests/language_2/mixin/type_parameter_inference_test.dart
+++ b/tests/language_2/mixin/type_parameter_inference_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.9
+
 import "package:expect/expect.dart";
 
 abstract class A<T> {
diff --git a/tests/language_2/mixin/type_parameters_errors_runtime_test.dart b/tests/language_2/mixin/type_parameters_errors_runtime_test.dart
index ee3b7ca..e7829d1 100644
--- a/tests/language_2/mixin/type_parameters_errors_runtime_test.dart
+++ b/tests/language_2/mixin/type_parameters_errors_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/mixin/type_parameters_errors_test.dart b/tests/language_2/mixin/type_parameters_errors_test.dart
index 25e99b6..a995ab4 100644
--- a/tests/language_2/mixin/type_parameters_errors_test.dart
+++ b/tests/language_2/mixin/type_parameters_errors_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.9
+
 class S<T> {}
 
 class M<U> {}
diff --git a/tests/language_2/mixin/type_parameters_mixin_extends_test.dart b/tests/language_2/mixin/type_parameters_mixin_extends_test.dart
index 69f3bbf..2f86d0a 100644
--- a/tests/language_2/mixin/type_parameters_mixin_extends_test.dart
+++ b/tests/language_2/mixin/type_parameters_mixin_extends_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.9
+
 import "package:expect/expect.dart";
 
 class M<T> {
diff --git a/tests/language_2/mixin/type_parameters_mixin_test.dart b/tests/language_2/mixin/type_parameters_mixin_test.dart
index 8a6e569..58fdfc2 100644
--- a/tests/language_2/mixin/type_parameters_mixin_test.dart
+++ b/tests/language_2/mixin/type_parameters_mixin_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.9
+
 import "package:expect/expect.dart";
 
 class M<T> {
diff --git a/tests/language_2/mixin/type_parameters_simple_test.dart b/tests/language_2/mixin/type_parameters_simple_test.dart
index 8721735..81964ca 100644
--- a/tests/language_2/mixin/type_parameters_simple_test.dart
+++ b/tests/language_2/mixin/type_parameters_simple_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.9
+
 import "package:expect/expect.dart";
 
 class S {}
diff --git a/tests/language_2/mixin/type_parameters_super_extends_test.dart b/tests/language_2/mixin/type_parameters_super_extends_test.dart
index a21e2c3..2674899 100644
--- a/tests/language_2/mixin/type_parameters_super_extends_test.dart
+++ b/tests/language_2/mixin/type_parameters_super_extends_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.9
+
 import "package:expect/expect.dart";
 
 class S<T> {
diff --git a/tests/language_2/mixin/type_parameters_super_test.dart b/tests/language_2/mixin/type_parameters_super_test.dart
index b4c1ee2..ede7142 100644
--- a/tests/language_2/mixin/type_parameters_super_test.dart
+++ b/tests/language_2/mixin/type_parameters_super_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.9
+
 import "package:expect/expect.dart";
 
 class S<T> {
diff --git a/tests/language_2/mixin/type_variable_test.dart b/tests/language_2/mixin/type_variable_test.dart
index 0cd503d..65ef6be 100644
--- a/tests/language_2/mixin/type_variable_test.dart
+++ b/tests/language_2/mixin/type_variable_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.9
+
 // Regression test for generic mixin fields.
 
 class A<T> {
diff --git a/tests/language_2/mixin/typedef_constructor_test.dart b/tests/language_2/mixin/typedef_constructor_test.dart
index a73fea1..e04daa5 100644
--- a/tests/language_2/mixin/typedef_constructor_test.dart
+++ b/tests/language_2/mixin/typedef_constructor_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/mixin/with_named_import_test.dart b/tests/language_2/mixin/with_named_import_test.dart
index 0af06a8..9620555 100644
--- a/tests/language_2/mixin/with_named_import_test.dart
+++ b/tests/language_2/mixin/with_named_import_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.9
+
 import 'dart:collection' as collection;
 
 class Foo extends Object with collection.ListMixin {
diff --git a/tests/language_2/mixin/with_two_implicit_constructors_test.dart b/tests/language_2/mixin/with_two_implicit_constructors_test.dart
index 198461b..99ec9256 100644
--- a/tests/language_2/mixin/with_two_implicit_constructors_test.dart
+++ b/tests/language_2/mixin/with_two_implicit_constructors_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/mixin_constructor_forwarding/const_constructor_test.dart b/tests/language_2/mixin_constructor_forwarding/const_constructor_test.dart
index ba57bdf..53e38c63 100644
--- a/tests/language_2/mixin_constructor_forwarding/const_constructor_test.dart
+++ b/tests/language_2/mixin_constructor_forwarding/const_constructor_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin {
diff --git a/tests/language_2/mixin_constructor_forwarding/const_constructor_with_field_test.dart b/tests/language_2/mixin_constructor_forwarding/const_constructor_with_field_test.dart
index e22be63..a9dc56b 100644
--- a/tests/language_2/mixin_constructor_forwarding/const_constructor_with_field_test.dart
+++ b/tests/language_2/mixin_constructor_forwarding/const_constructor_with_field_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin {
diff --git a/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_helper.dart b/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_helper.dart
index 58d2081..73094d5 100644
--- a/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_helper.dart
+++ b/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_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.9
+
 import "mixin_constructor_parameter_forwarding_test.dart";
 
 // A private class that the mixin application cannot access syntactically,
diff --git a/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_test.dart b/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_test.dart
index 0aba8b9..00c923e 100644
--- a/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_test.dart
+++ b/tests/language_2/mixin_constructor_forwarding/mixin_constructor_parameter_forwarding_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.9
+
 // Tests that mixin application forwarding constructors correctly forward
 // optional parameter default values.
 
diff --git a/tests/language_2/mixin_constructor_forwarding/optional_named_parameters_test.dart b/tests/language_2/mixin_constructor_forwarding/optional_named_parameters_test.dart
index 8cab4c5..8b40cb7 100644
--- a/tests/language_2/mixin_constructor_forwarding/optional_named_parameters_test.dart
+++ b/tests/language_2/mixin_constructor_forwarding/optional_named_parameters_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin {
diff --git a/tests/language_2/mixin_constructor_forwarding/optional_positional_parameters_test.dart b/tests/language_2/mixin_constructor_forwarding/optional_positional_parameters_test.dart
index 1411223..e5e1b49 100644
--- a/tests/language_2/mixin_constructor_forwarding/optional_positional_parameters_test.dart
+++ b/tests/language_2/mixin_constructor_forwarding/optional_positional_parameters_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Mixin {
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_factory_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_factory_test.dart
index ee8a96c..9388a3b 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_factory_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_factory_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.9
+
 // A mixin declaration cannot declare any (factory) constructors.
 
 class A {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_00_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_00_test.dart
index 5d99d2f..c9c7c6b 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_00_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_00_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.9
+
 class I<X> {}
 
 mixin M0<T> on I<T> {}
@@ -13,4 +15,4 @@
 // Error since class hierarchy is inconsistent
 class A00 extends I with M0<int> {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_01_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_01_test.dart
index 749d813..5d6479f 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_01_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_01_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.9
+
 class I<X> {}
 
 mixin M0<T> on I<T> {}
@@ -15,4 +17,4 @@
 // Error since class hierarchy is inconsistent
 class A00 extends I with M0, M1<int> {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_02_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_02_test.dart
index 01ae1ae..db71dbd 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_02_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_02_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.9
+
 class I<X> {}
 
 mixin M0<T> implements I<T> {}
@@ -15,4 +17,4 @@
 // Error since class hierarchy is inconsistent
 class A00 with M0, M1<int> {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_03_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_03_test.dart
index 5741700..cd7b086 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_03_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_03_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.9
+
 class I<X> {}
 
 mixin M0<T> implements I<T> {}
@@ -13,4 +15,4 @@
 // Error since class hierarchy is inconsistent
 class A00 extends Object with M0 implements I<int> {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_04_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_04_test.dart
index 50d017b..55e9523 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_04_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_04_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.9
+
 class I<X> {}
 
 mixin M0<T> implements I<T> {}
@@ -13,4 +15,4 @@
 // Error since class hierarchy is inconsistent
 class A00 with M0 implements I<int> {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_05_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_05_test.dart
index 38e681e..e41b8f7 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_05_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_05_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.9
+
 class I<X> {}
 
 mixin M0<T> implements I<T> {}
@@ -15,4 +17,4 @@
 // Error since class hierarchy is inconsistent
 class A00 extends I<int> with M0<int>, M1 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_06_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_06_test.dart
index 14c2416..a3a2934 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_06_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_06_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.9
+
 class I<X> {}
 class J<X> {}
 
@@ -20,4 +22,4 @@
 // Error since class hierarchy is inconsistent
 class A02 extends A00 implements A01 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_07_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_07_test.dart
index 9b16c66..956f20d 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_07_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_07_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.9
+
 class I<X> {}
 
 mixin M0<X, Y extends Comparable<Y>> on I<X> {}
@@ -16,4 +18,4 @@
 // Error since super-bounded type not allowed
 class A extends M1 with M0 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_08_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_08_test.dart
index 23da50d3..c49d341 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_08_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_08_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.9
+
 class I<X, Y> {}
 
 mixin M0<T> implements I<T, int> {}
@@ -18,4 +20,4 @@
 // M1 inferred as M1<dynamic>
 class A with M0, M1 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_09_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_09_test.dart
index 0ebdf97..2456440 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_09_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_09_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.9
+
 class I<X, Y> {}
 
 mixin M0<T> implements I<T, List<T>> {}
@@ -20,4 +22,4 @@
 // which has no finite solution
 class A with M0, M1 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_10_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_10_test.dart
index 00563ef..d76c854 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_10_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_10_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.9
+
 class I<T> {}
 class J<T> {}
 mixin M0<T> implements I<T>, J<T> {}
@@ -12,4 +14,4 @@
 
 class A with I<int>, J<double>, M0 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_11_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_11_test.dart
index c7de81e..eca6a97 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_11_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_invalid_11_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.9
+
 class I<T> {}
 mixin M1<T> on I<T> {}
 
@@ -12,4 +14,4 @@
 
 mixin A00Mixin on I<int>, M1 {} /*@compile-error=unspecified*/
 
-void main() {}
\ No newline at end of file
+void main() {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A00_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A00_test.dart
index 02e8ccd..4bbfab6 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A00_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A00_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A01_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A01_test.dart
index bdf8286..f3f487d 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A01_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A01_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A02_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A02_test.dart
index b32cc46..828e4c6 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A02_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A02_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A10_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A10_test.dart
index c9b9d57..9ee967e 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A10_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A10_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A11_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A11_test.dart
index 4df8195..f3417a2 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A11_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A11_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A12_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A12_test.dart
index c480f84..aaf8a21 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A12_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A12_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A20_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A20_test.dart
index fc69345..d033588 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A20_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A20_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A21_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A21_test.dart
index bba17a3..e3d4e40 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A21_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A21_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A22_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A22_test.dart
index 83ef40c..a543c73 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A22_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A22_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A23_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A23_test.dart
index 1d19eef..1bd13ee 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A23_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A23_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A30_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A30_test.dart
index 71337c7..48027c9 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A30_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A30_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A31_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A31_test.dart
index b0da8e9..88dfa7e 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A31_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A31_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A42_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A42_test.dart
index 01ab1ca..30e4c4a 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A42_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_A42_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B00_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B00_test.dart
index 74e7d84..13d41f7 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B00_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B00_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B01_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B01_test.dart
index b0435a2..b75bc85 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B01_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B01_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B02_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B02_test.dart
index 0c61e49..c7d7f1e 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B02_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B02_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B03_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B03_test.dart
index 2f80e0f..02bce34 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B03_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B03_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B10_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B10_test.dart
index 8485a59..15c3564 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B10_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B10_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B11_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B11_test.dart
index adf1151..d7592d7 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B11_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B11_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B12_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B12_test.dart
index fc9e613..2cd0960c 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B12_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B12_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B13_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B13_test.dart
index d8bbf43..a325421 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B13_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_B13_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C00_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C00_test.dart
index 7db4c89..2f5bc27 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C00_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C00_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C01_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C01_test.dart
index d860784..922530c 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C01_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C01_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C02_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C02_test.dart
index 56c6ab0..0f7b889 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C02_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C02_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C03_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C03_test.dart
index c98a810..8f1d4b7 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C03_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C03_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C10_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C10_test.dart
index 71c1f34..1672941 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C10_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C10_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C11_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C11_test.dart
index de1126c..ee45f72 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C11_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C11_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C12_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C12_test.dart
index 85dbebd..5af11e5 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C12_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C12_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C13_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C13_test.dart
index 433ce47..1343291 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C13_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_C13_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.9
+
 import "package:expect/expect.dart";
 
 class I<X> {}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_mixin_applications_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_mixin_applications_test.dart
index 8c4e363..1a9d410 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_mixin_applications_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_inference_valid_mixin_applications_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.9
+
 import "package:expect/expect.dart";
 
 ///////////////////////////////////////////////////////
@@ -443,4 +445,4 @@
   Expect.type<M6<int, int>>(new A31()..check());
 
   Expect.type<M7<Map<int, int>>>(new A42()..check());
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_application_supertype_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_application_supertype_test.dart
index 08e33a6..be90fa8 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_application_supertype_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_application_supertype_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.9
+
 import "package:expect/expect.dart";
 
 // Test various invalid mixin applications where the supertype doesn't
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_override_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_override_test.dart
index be0ace3..89e13bb 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_override_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_override_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.9
+
 import "package:expect/expect.dart";
 
 // Test various invalid super-constraints for mixin declarations.
@@ -63,4 +65,4 @@
 
 main() {
   Expect.equals(42, A5FooConcrete().baz(42));
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_superinvocation_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_superinvocation_test.dart
index 500ec14..8926165 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_superinvocation_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_superinvocation_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.9
+
 // Test various invalid super-invocations for mixin declarations.
 
 abstract class UnaryInt {
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_syntax_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_syntax_test.dart
index 0ff26d6..eb14237 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_syntax_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_syntax_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.9
+
 import "package:expect/expect.dart";
 
 // Test various invalid syntax combinations.
@@ -61,4 +63,4 @@
 
 main() {
   new C();
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_type_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_type_test.dart
index 0fad558..219555a 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_type_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_type_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.9
+
 import "package:expect/expect.dart";
 
 // Test various invalid type-declaration combinations.
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_invalid_usage_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_invalid_usage_test.dart
index 83e50b4d..cc41d72 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_invalid_usage_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_invalid_usage_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.9
+
 mixin Mixin // cannot `extend` anything.
   extends M //# 01: compile-time error
   extends Object //# 02: compile-time error
@@ -16,4 +18,4 @@
   // Cannot instantiate a mixin.
   new Mixin();  //# 04: compile-time error
   new Class();
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_nsm_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_nsm_test.dart
index ccfde7b..c65688a 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_nsm_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_nsm_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Bar {
@@ -36,4 +38,4 @@
   Expect.equals("M:bar", A2().bar());
   Expect.equals("D:foo", A3().foo());
   Expect.equals("D:bar", A3().bar());
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_on_keyword_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_on_keyword_test.dart
index f4cc1f1..6d22a06 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_on_keyword_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_on_keyword_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.9
+
 import "package:expect/expect.dart";
 
 // The `on` word is not a reserved word or built-in identifier.
@@ -24,4 +26,4 @@
   Expect.type<on>(B());
   Expect.type<on>(C());
   Expect.type<on>(D());
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_static_scope_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_static_scope_test.dart
index 79450cd..a5bfdb8 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_static_scope_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_static_scope_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.9
+
 import "package:expect/expect.dart";
 
 // A mixin declaration introduces a static scope.
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_subtype_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_subtype_test.dart
index 172bb23..94ebca6 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_subtype_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_subtype_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.9
+
 import "package:expect/expect.dart";
 
 // A mixin declaration introduces a type.
@@ -48,4 +50,4 @@
   Expect.subtype<GD<int>, GC<int>>();
   Expect.notSubtype<GM<int>, GC<int>>();
   Expect.notSubtype<GC<int>, GM<int>>();
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_superinvocation_application_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_superinvocation_application_test.dart
index 4cbf973e..b4665a0 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_superinvocation_application_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_superinvocation_application_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.9
+
 // Test various invalid mixin applications due to insufficient super-invoked
 // methods.
 
@@ -74,4 +76,4 @@
   A1().bar(); //# 06: continued
   A1().bar(); //# 07: continued
   A2().bar(); //# 08: continued
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_supertype_compatible_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_supertype_compatible_test.dart
index 5307979..6aa894f 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_supertype_compatible_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_supertype_compatible_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.9
+
 import "package:expect/expect.dart";
 
 // Test various invalid super-constraints for mixin declarations.
@@ -70,4 +72,4 @@
 
 main() {
   Expect.equals(42.0, A1().bar());
-}
\ No newline at end of file
+}
diff --git a/tests/language_2/mixin_declaration/mixin_declaration_syntax_test.dart b/tests/language_2/mixin_declaration/mixin_declaration_syntax_test.dart
index aba4640..0fb96be 100644
--- a/tests/language_2/mixin_declaration/mixin_declaration_syntax_test.dart
+++ b/tests/language_2/mixin_declaration/mixin_declaration_syntax_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.9
+
 import "package:expect/expect.dart";
 
 // Test various combinations of valid mixin declarations.
diff --git a/tests/language_2/new/create_unresolved_type_runtime_test.dart b/tests/language_2/new/create_unresolved_type_runtime_test.dart
index 13d07d8..d1f3a29 100644
--- a/tests/language_2/new/create_unresolved_type_runtime_test.dart
+++ b/tests/language_2/new/create_unresolved_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/new/create_unresolved_type_test.dart b/tests/language_2/new/create_unresolved_type_test.dart
index 16fb7a6..e5e0bc7 100644
--- a/tests/language_2/new/create_unresolved_type_test.dart
+++ b/tests/language_2/new/create_unresolved_type_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.9
+
 main() {
   new F<int>();
   //  ^
diff --git a/tests/language_2/new/expression1_test.dart b/tests/language_2/new/expression1_test.dart
index b06ff2a..1706b06 100644
--- a/tests/language_2/new/expression1_test.dart
+++ b/tests/language_2/new/expression1_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.9
+
 class C {}
 
 main() {
diff --git a/tests/language_2/new/expression2_test.dart b/tests/language_2/new/expression2_test.dart
index 6695b3b..54a17fd 100644
--- a/tests/language_2/new/expression2_test.dart
+++ b/tests/language_2/new/expression2_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.9
+
 class C {}
 
 main() {
diff --git a/tests/language_2/new/expression3_test.dart b/tests/language_2/new/expression3_test.dart
index ee1edff..06cd1bd 100644
--- a/tests/language_2/new/expression3_test.dart
+++ b/tests/language_2/new/expression3_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.9
+
 class C {}
 
 main() {
diff --git a/tests/language_2/new/expression_type_args_runtime_test.dart b/tests/language_2/new/expression_type_args_runtime_test.dart
index 96f8c18..0546fe8 100644
--- a/tests/language_2/new/expression_type_args_runtime_test.dart
+++ b/tests/language_2/new/expression_type_args_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/new/expression_type_args_test.dart b/tests/language_2/new/expression_type_args_test.dart
index da303e3..5d2cee2 100644
--- a/tests/language_2/new/expression_type_args_test.dart
+++ b/tests/language_2/new/expression_type_args_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.9
+
 // Tests showing errors using type-arguments in new expressions:
 class A<T> {
   // Can't instantiate type parameter (within static or instance method).
diff --git a/tests/language_2/new/prefix_runtime_test.dart b/tests/language_2/new/prefix_runtime_test.dart
index 1a7288b..5e63fdf 100644
--- a/tests/language_2/new/prefix_runtime_test.dart
+++ b/tests/language_2/new/prefix_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/new/prefix_test.dart b/tests/language_2/new/prefix_test.dart
index 8e5c7bc..d0672d3 100644
--- a/tests/language_2/new/prefix_test.dart
+++ b/tests/language_2/new/prefix_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.9
+
 import 'dart:core' as prefix;
 
 main() {
diff --git a/tests/language_2/new/statement_test.dart b/tests/language_2/new/statement_test.dart
index 62fe435..4d29c86 100644
--- a/tests/language_2/new/statement_test.dart
+++ b/tests/language_2/new/statement_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test a new statement by itself.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/no_such_method/dispatcher_test.dart b/tests/language_2/no_such_method/dispatcher_test.dart
index d0042dc..7de405e 100644
--- a/tests/language_2/no_such_method/dispatcher_test.dart
+++ b/tests/language_2/no_such_method/dispatcher_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test that noSuchMethod dispatching and auto-closurization work correctly.
diff --git a/tests/language_2/no_such_method/empty_selector_test.dart b/tests/language_2/no_such_method/empty_selector_test.dart
index 447cba1..3c4d015 100644
--- a/tests/language_2/no_such_method/empty_selector_test.dart
+++ b/tests/language_2/no_such_method/empty_selector_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/no_such_method/many_overridden_test.dart b/tests/language_2/no_such_method/many_overridden_test.dart
index 77750d3c..ba10f50 100644
--- a/tests/language_2/no_such_method/many_overridden_test.dart
+++ b/tests/language_2/no_such_method/many_overridden_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 library OverriddenNoSuchMethodTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/no_such_method/megamorphic_test.dart b/tests/language_2/no_such_method/megamorphic_test.dart
index bbae61a..8bf3edb 100644
--- a/tests/language_2/no_such_method/megamorphic_test.dart
+++ b/tests/language_2/no_such_method/megamorphic_test.dart
@@ -4,6 +4,8 @@
 // Test program for correct optimizations related to types fo allocated lists.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Classes to induce polymorphism of degree 10.
diff --git a/tests/language_2/no_such_method/mock_test.dart b/tests/language_2/no_such_method/mock_test.dart
index 62f83bf..85d920f 100644
--- a/tests/language_2/no_such_method/mock_test.dart
+++ b/tests/language_2/no_such_method/mock_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing that NoSuchMethod is properly called.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Cat {
diff --git a/tests/language_2/no_such_method/native_test.dart b/tests/language_2/no_such_method/native_test.dart
index acf3085..35ffccc3 100644
--- a/tests/language_2/no_such_method/native_test.dart
+++ b/tests/language_2/no_such_method/native_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing that NoSuchMethod is properly called.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 Invocation invocation;
diff --git a/tests/language_2/no_such_method/no_such_method2_test.dart b/tests/language_2/no_such_method/no_such_method2_test.dart
index 707f73a..2528d63 100644
--- a/tests/language_2/no_such_method/no_such_method2_test.dart
+++ b/tests/language_2/no_such_method/no_such_method2_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for https://code.google.com/p/dart/issues/detail?id=7697.
diff --git a/tests/language_2/no_such_method/no_such_method3_test.dart b/tests/language_2/no_such_method/no_such_method3_test.dart
index ba0d0ca..acc0951 100644
--- a/tests/language_2/no_such_method/no_such_method3_test.dart
+++ b/tests/language_2/no_such_method/no_such_method3_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.9
+
 // Test that a static type inferrer takes [noSuchMethod] into account.
 
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
diff --git a/tests/language_2/no_such_method/no_such_method4_test.dart b/tests/language_2/no_such_method/no_such_method4_test.dart
index 23b2feb..e0c7722 100644
--- a/tests/language_2/no_such_method/no_such_method4_test.dart
+++ b/tests/language_2/no_such_method/no_such_method4_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.9
+
 import 'package:expect/expect.dart';
 
 class NoSuchMethodNegativeTest {
diff --git a/tests/language_2/no_such_method/no_such_method_private_setter_lib.dart b/tests/language_2/no_such_method/no_such_method_private_setter_lib.dart
index ea3bc74..ffb9f49 100644
--- a/tests/language_2/no_such_method/no_such_method_private_setter_lib.dart
+++ b/tests/language_2/no_such_method/no_such_method_private_setter_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Bar {
   int _x;
 }
diff --git a/tests/language_2/no_such_method/no_such_method_test.dart b/tests/language_2/no_such_method/no_such_method_test.dart
index f38285a..37e3b6f 100644
--- a/tests/language_2/no_such_method/no_such_method_test.dart
+++ b/tests/language_2/no_such_method/no_such_method_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing that NoSuchMethod is properly called.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class NoSuchMethodTest {
diff --git a/tests/language_2/no_such_method/nsm4_test.dart b/tests/language_2/no_such_method/nsm4_test.dart
index 3ff05c0..c58455c 100644
--- a/tests/language_2/no_such_method/nsm4_test.dart
+++ b/tests/language_2/no_such_method/nsm4_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.9
+
 // Test for compile-time errors for member access on classes that inherit a
 // user defined noSuchMethod.
 
diff --git a/tests/language_2/no_such_method/nsm5_test.dart b/tests/language_2/no_such_method/nsm5_test.dart
index b8ddb77..d372da7 100644
--- a/tests/language_2/no_such_method/nsm5_test.dart
+++ b/tests/language_2/no_such_method/nsm5_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.9
+
 // Test for compile-time errors for member access on classes that inherit a
 // user defined noSuchMethod, even if it is abstract.
 
diff --git a/tests/language_2/no_such_method/overridden.dart b/tests/language_2/no_such_method/overridden.dart
index 9e86672..baa817e 100644
--- a/tests/language_2/no_such_method/overridden.dart
+++ b/tests/language_2/no_such_method/overridden.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing overridden messageNotUnderstood.
 
+// @dart = 2.9
+
 part of OverriddenNoSuchMethodTest.dart;
 
 class OverriddenNoSuchMethod {
diff --git a/tests/language_2/no_such_method/overridden_no_such_method_test.dart b/tests/language_2/no_such_method/overridden_no_such_method_test.dart
index 598ffb1..26c8a48 100644
--- a/tests/language_2/no_such_method/overridden_no_such_method_test.dart
+++ b/tests/language_2/no_such_method/overridden_no_such_method_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing overridden messageNotUnderstood.
 
+// @dart = 2.9
+
 library OverriddenNoSuchMethodTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/no_such_method/private_setter_test.dart b/tests/language_2/no_such_method/private_setter_test.dart
index 0f110bb..e495a15 100644
--- a/tests/language_2/no_such_method/private_setter_test.dart
+++ b/tests/language_2/no_such_method/private_setter_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.9
+
 import 'no_such_method_private_setter_lib.dart';
 
 class Foo implements Bar {}
diff --git a/tests/language_2/no_such_method/simple_type_arguments_test.dart b/tests/language_2/no_such_method/simple_type_arguments_test.dart
index 7375f4a..81a8a94 100644
--- a/tests/language_2/no_such_method/simple_type_arguments_test.dart
+++ b/tests/language_2/no_such_method/simple_type_arguments_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // dart2jsOptions=--disable-rti-optimization
 
+// @dart = 2.9
+
 // Dart test program testing that type arguments are captured by the Invocation
 // passed to noSuchMethod from a dynamic call.
 
diff --git a/tests/language_2/no_such_method/subtype_test.dart b/tests/language_2/no_such_method/subtype_test.dart
index a843c91..bf408f6 100644
--- a/tests/language_2/no_such_method/subtype_test.dart
+++ b/tests/language_2/no_such_method/subtype_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/no_such_method/tearoff_fta_test.dart b/tests/language_2/no_such_method/tearoff_fta_test.dart
index 163dc7e..eb6d610 100644
--- a/tests/language_2/no_such_method/tearoff_fta_test.dart
+++ b/tests/language_2/no_such_method/tearoff_fta_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.9
+
 import 'package:expect/expect.dart';
 
 void foo() {}
diff --git a/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type.dart b/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type.dart
index 9a1aa2d..5de6e92 100644
--- a/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type.dart
+++ b/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_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.9
+
 // This is a regression test for http://dartbug.com/40248.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_test.dart b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_test.dart
index 3e42573..37fa52f 100644
--- a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_test.dart
+++ b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_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.9
+
 // Testing that `noSuchMethod` forwarding properly handles optional, named and
 // type parameters, and result type checking.
 
diff --git a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_partial_instantiation_test.dart b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_partial_instantiation_test.dart
index 69a554f..25df5f6 100644
--- a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_partial_instantiation_test.dart
+++ b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_partial_instantiation_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.9
+
 // Testing that `noSuchMethod` forwarders can be partially instantiated, and
 // that their delayed type arguments are transparently passed to `noSuchMethod`.
 
diff --git a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_test.dart b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_test.dart
index d54a784..4d29890 100644
--- a/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_test.dart
+++ b/tests/language_2/nosuchmethod_forwarding/nosuchmethod_forwarding_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.9
+
 // Testing that `noSuchMethod` appears to use implicit forwarders (we don't
 // care how it's actually implemented, but it should look like that).
 
diff --git a/tests/language_2/null/access_error_test.dart b/tests/language_2/null/access_error_test.dart
index d909e63..75808fd 100644
--- a/tests/language_2/null/access_error_test.dart
+++ b/tests/language_2/null/access_error_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.9
+
 import "package:expect/expect.dart";
 
 class NullAccessTest {
diff --git a/tests/language_2/null/checked_null_test.dart b/tests/language_2/null/checked_null_test.dart
index f33227b..f13f614 100644
--- a/tests/language_2/null/checked_null_test.dart
+++ b/tests/language_2/null/checked_null_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/null/checked_runtime_test.dart b/tests/language_2/null/checked_runtime_test.dart
index bc644d9..20b088a 100644
--- a/tests/language_2/null/checked_runtime_test.dart
+++ b/tests/language_2/null/checked_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/null/inline_test.dart b/tests/language_2/null/inline_test.dart
index 265eff5..c62383d 100644
--- a/tests/language_2/null/inline_test.dart
+++ b/tests/language_2/null/inline_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.9
+
 // Test that inlining takes null into account.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/null/is2_test.dart b/tests/language_2/null/is2_test.dart
index 1edf139..e8fc8e1 100644
--- a/tests/language_2/null/is2_test.dart
+++ b/tests/language_2/null/is2_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.9
+
 import "package:expect/expect.dart";
 
 class Test<T> {
diff --git a/tests/language_2/null/is_test.dart b/tests/language_2/null/is_test.dart
index e7a1383..32478fd 100644
--- a/tests/language_2/null/is_test.dart
+++ b/tests/language_2/null/is_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/null/method_test.dart b/tests/language_2/null/method_test.dart
index bf5b51f..d8f331e 100644
--- a/tests/language_2/null/method_test.dart
+++ b/tests/language_2/null/method_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.9
+
 // Regression test for dart2js that used to not compile null methods
 // in the presence of typed selectors.
 
diff --git a/tests/language_2/null/no_such_method_test.dart b/tests/language_2/null/no_such_method_test.dart
index 299ba2d..4f8bba6 100644
--- a/tests/language_2/null/no_such_method_test.dart
+++ b/tests/language_2/null/no_such_method_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/null/null2_test.dart b/tests/language_2/null/null2_test.dart
index 3357043..cb7a9b4 100644
--- a/tests/language_2/null/null2_test.dart
+++ b/tests/language_2/null/null2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Second dart test program.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Magic incantation to avoid the compiler recognizing the constant values
diff --git a/tests/language_2/null/null_test.dart b/tests/language_2/null/null_test.dart
index 19f85f0..b69918f 100644
--- a/tests/language_2/null/null_test.dart
+++ b/tests/language_2/null/null_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Second dart test program.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/null/to_string2_test.dart b/tests/language_2/null/to_string2_test.dart
index a56e705..26a40db 100644
--- a/tests/language_2/null/to_string2_test.dart
+++ b/tests/language_2/null/to_string2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correct handling of NULL object in invocation and implicit closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/null/to_string_test.dart b/tests/language_2/null/to_string_test.dart
index 08bb56a..08a865b 100644
--- a/tests/language_2/null/to_string_test.dart
+++ b/tests/language_2/null/to_string_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correct handling of NULL object in invocation and implicit closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/null_aware/access_runtime_1_test.dart b/tests/language_2/null_aware/access_runtime_1_test.dart
index a779325..8cb0707 100644
--- a/tests/language_2/null_aware/access_runtime_1_test.dart
+++ b/tests/language_2/null_aware/access_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_2_test.dart b/tests/language_2/null_aware/access_runtime_2_test.dart
index eb812b6..fd00d2b 100644
--- a/tests/language_2/null_aware/access_runtime_2_test.dart
+++ b/tests/language_2/null_aware/access_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_3_test.dart b/tests/language_2/null_aware/access_runtime_3_test.dart
index 7be7987..0db6102 100644
--- a/tests/language_2/null_aware/access_runtime_3_test.dart
+++ b/tests/language_2/null_aware/access_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_4_test.dart b/tests/language_2/null_aware/access_runtime_4_test.dart
index a10d171..8e664c9 100644
--- a/tests/language_2/null_aware/access_runtime_4_test.dart
+++ b/tests/language_2/null_aware/access_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_5_test.dart b/tests/language_2/null_aware/access_runtime_5_test.dart
index 73df91b..065ced1 100644
--- a/tests/language_2/null_aware/access_runtime_5_test.dart
+++ b/tests/language_2/null_aware/access_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_6_test.dart b/tests/language_2/null_aware/access_runtime_6_test.dart
index 39e966a..73fb9f1 100644
--- a/tests/language_2/null_aware/access_runtime_6_test.dart
+++ b/tests/language_2/null_aware/access_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_7_test.dart b/tests/language_2/null_aware/access_runtime_7_test.dart
index 2cd7a6a..2c17b29 100644
--- a/tests/language_2/null_aware/access_runtime_7_test.dart
+++ b/tests/language_2/null_aware/access_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_runtime_test.dart b/tests/language_2/null_aware/access_runtime_test.dart
index 1455389..f28fcc4 100644
--- a/tests/language_2/null_aware/access_runtime_test.dart
+++ b/tests/language_2/null_aware/access_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/access_test.dart b/tests/language_2/null_aware/access_test.dart
index 7a216c9..be94ddc 100644
--- a/tests/language_2/null_aware/access_test.dart
+++ b/tests/language_2/null_aware/access_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.9
+
 // Verify semantics of the ?. operator when it does not appear on the LHS of an
 // assignment.
 
diff --git a/tests/language_2/null_aware/assignment_runtime_10_test.dart b/tests/language_2/null_aware/assignment_runtime_10_test.dart
index ee7de0a..038604b 100644
--- a/tests/language_2/null_aware/assignment_runtime_10_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_11_test.dart b/tests/language_2/null_aware/assignment_runtime_11_test.dart
index 75b0820..d7e0c81 100644
--- a/tests/language_2/null_aware/assignment_runtime_11_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_11_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_12_test.dart b/tests/language_2/null_aware/assignment_runtime_12_test.dart
index e22b2c3..18a228a 100644
--- a/tests/language_2/null_aware/assignment_runtime_12_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_12_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_13_test.dart b/tests/language_2/null_aware/assignment_runtime_13_test.dart
index 78c5fe0..bcb1be3 100644
--- a/tests/language_2/null_aware/assignment_runtime_13_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_13_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_1_test.dart b/tests/language_2/null_aware/assignment_runtime_1_test.dart
index fb9ee93..2f11473 100644
--- a/tests/language_2/null_aware/assignment_runtime_1_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_2_test.dart b/tests/language_2/null_aware/assignment_runtime_2_test.dart
index 6a69208..d286599 100644
--- a/tests/language_2/null_aware/assignment_runtime_2_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_3_test.dart b/tests/language_2/null_aware/assignment_runtime_3_test.dart
index 62edd74..4f10b56 100644
--- a/tests/language_2/null_aware/assignment_runtime_3_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_4_test.dart b/tests/language_2/null_aware/assignment_runtime_4_test.dart
index c9dc84e..ce89345 100644
--- a/tests/language_2/null_aware/assignment_runtime_4_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_5_test.dart b/tests/language_2/null_aware/assignment_runtime_5_test.dart
index 6f03af5..6d2e41e 100644
--- a/tests/language_2/null_aware/assignment_runtime_5_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_6_test.dart b/tests/language_2/null_aware/assignment_runtime_6_test.dart
index 8cf0a47..915a914 100644
--- a/tests/language_2/null_aware/assignment_runtime_6_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_7_test.dart b/tests/language_2/null_aware/assignment_runtime_7_test.dart
index 09baf2d..a75fcaf 100644
--- a/tests/language_2/null_aware/assignment_runtime_7_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_8_test.dart b/tests/language_2/null_aware/assignment_runtime_8_test.dart
index 4725be7..8476710 100644
--- a/tests/language_2/null_aware/assignment_runtime_8_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_9_test.dart b/tests/language_2/null_aware/assignment_runtime_9_test.dart
index 0bc41ff..7664f44 100644
--- a/tests/language_2/null_aware/assignment_runtime_9_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_runtime_test.dart b/tests/language_2/null_aware/assignment_runtime_test.dart
index 0cbd597..bc52d42 100644
--- a/tests/language_2/null_aware/assignment_runtime_test.dart
+++ b/tests/language_2/null_aware/assignment_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/assignment_test.dart b/tests/language_2/null_aware/assignment_test.dart
index 22bde4f..ef7693d 100644
--- a/tests/language_2/null_aware/assignment_test.dart
+++ b/tests/language_2/null_aware/assignment_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.9
+
 // Verify semantics of the ?. operator when it appears on the LHS of an
 // assignment.
 
diff --git a/tests/language_2/null_aware/conditional_access_helper.dart b/tests/language_2/null_aware/conditional_access_helper.dart
index 530615d..82e21a0 100644
--- a/tests/language_2/null_aware/conditional_access_helper.dart
+++ b/tests/language_2/null_aware/conditional_access_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.9
+
 // Library used by conditional_property_assignment_test.dart,
 // conditional_property_access_test.dart, and
 // conditional_method_invocation_test.dart, all of which import it using the
diff --git a/tests/language_2/null_aware/dynamic_test.dart b/tests/language_2/null_aware/dynamic_test.dart
index 36dfc10..ce76d1a 100644
--- a/tests/language_2/null_aware/dynamic_test.dart
+++ b/tests/language_2/null_aware/dynamic_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_10_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_10_test.dart
index 8be2ec6..c1431f5 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_10_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_11_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_11_test.dart
index 1047e8b..adf9460 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_11_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_11_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_12_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_12_test.dart
index bb84f75..7d176e3 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_12_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_12_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_13_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_13_test.dart
index 7b4118f4..46d5e48 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_13_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_13_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_14_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_14_test.dart
index f712892..d07a250 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_14_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_14_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_15_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_15_test.dart
index 864e758..bd88fdd 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_15_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_15_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_16_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_16_test.dart
index 2ab109c..b51bf10 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_16_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_16_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_17_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_17_test.dart
index f56c3aa..571d2ca 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_17_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_17_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_18_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_18_test.dart
index c11e88d..088ef8e 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_18_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_18_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_19_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_19_test.dart
index 8d796b8..8306967 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_19_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_19_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_1_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_1_test.dart
index 3b825fb..6457698 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_1_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_20_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_20_test.dart
index da8284e..5e1f48b 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_20_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_20_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_21_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_21_test.dart
index 109dc57..3ee8982 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_21_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_21_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_22_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_22_test.dart
index 154228a..fda1113 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_22_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_22_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_23_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_23_test.dart
index 8cad501..ec140f0 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_23_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_23_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_24_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_24_test.dart
index a76bd15..1d0d057 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_24_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_24_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_25_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_25_test.dart
index 0ae8ae2..54b4194 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_25_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_25_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_26_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_26_test.dart
index 47bbd46..95582eb 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_26_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_26_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_27_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_27_test.dart
index 1bf4b88..14489c2 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_27_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_27_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_28_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_28_test.dart
index b62e19c..aee46fe 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_28_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_28_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_2_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_2_test.dart
index eb07c4f..fffdcd9 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_2_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_3_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_3_test.dart
index ce732e7..5cf0193 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_3_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_4_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_4_test.dart
index c6d3562..3d73629 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_4_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_5_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_5_test.dart
index 6b24ecc..5c56056 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_5_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_6_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_6_test.dart
index 3bf81f4..823cd5e 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_6_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_7_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_7_test.dart
index c567658..627a478 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_7_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_8_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_8_test.dart
index b9a6a1d..1b75510 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_8_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_9_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_9_test.dart
index af41766..7afd7dc 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_9_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_runtime_test.dart b/tests/language_2/null_aware/increment_decrement_runtime_test.dart
index e1ef629..8671ce7 100644
--- a/tests/language_2/null_aware/increment_decrement_runtime_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/increment_decrement_test.dart b/tests/language_2/null_aware/increment_decrement_test.dart
index 4e7796e..1b688ee 100644
--- a/tests/language_2/null_aware/increment_decrement_test.dart
+++ b/tests/language_2/null_aware/increment_decrement_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.9
+
 // Verify semantics of the ?. operator when it appears in a postincrement or
 // preincrement expression (or a postdecrement or predecrement expression).
 
diff --git a/tests/language_2/null_aware/index_this_null_aware_equals_test.dart b/tests/language_2/null_aware/index_this_null_aware_equals_test.dart
index fc2ccc9..5b3a2e5 100644
--- a/tests/language_2/null_aware/index_this_null_aware_equals_test.dart
+++ b/tests/language_2/null_aware/index_this_null_aware_equals_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class C {
   static final Expando<int> _debugIds = new Expando<int>();
 
diff --git a/tests/language_2/null_aware/invocation_runtime_1_test.dart b/tests/language_2/null_aware/invocation_runtime_1_test.dart
index 9722db0..75b37de 100644
--- a/tests/language_2/null_aware/invocation_runtime_1_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_2_test.dart b/tests/language_2/null_aware/invocation_runtime_2_test.dart
index b450284..6bebd41 100644
--- a/tests/language_2/null_aware/invocation_runtime_2_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_3_test.dart b/tests/language_2/null_aware/invocation_runtime_3_test.dart
index 0c96523..de66b3e 100644
--- a/tests/language_2/null_aware/invocation_runtime_3_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_4_test.dart b/tests/language_2/null_aware/invocation_runtime_4_test.dart
index c830c78..e445687 100644
--- a/tests/language_2/null_aware/invocation_runtime_4_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_5_test.dart b/tests/language_2/null_aware/invocation_runtime_5_test.dart
index ee15500..9733964 100644
--- a/tests/language_2/null_aware/invocation_runtime_5_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_6_test.dart b/tests/language_2/null_aware/invocation_runtime_6_test.dart
index 6242c72..ce4ace5 100644
--- a/tests/language_2/null_aware/invocation_runtime_6_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_7_test.dart b/tests/language_2/null_aware/invocation_runtime_7_test.dart
index 4ea694d..006886f 100644
--- a/tests/language_2/null_aware/invocation_runtime_7_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_8_test.dart b/tests/language_2/null_aware/invocation_runtime_8_test.dart
index 4d37e3c..3ee9a20 100644
--- a/tests/language_2/null_aware/invocation_runtime_8_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_runtime_test.dart b/tests/language_2/null_aware/invocation_runtime_test.dart
index b4c8217..9045637 100644
--- a/tests/language_2/null_aware/invocation_runtime_test.dart
+++ b/tests/language_2/null_aware/invocation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/null_aware/invocation_test.dart b/tests/language_2/null_aware/invocation_test.dart
index e882353..eae3b76 100644
--- a/tests/language_2/null_aware/invocation_test.dart
+++ b/tests/language_2/null_aware/invocation_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.9
+
 // Verify semantics of the ?. operator when it is used to invoke a method.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/null_aware/opt_test.dart b/tests/language_2/null_aware/opt_test.dart
index 4236ee9..9993c04 100644
--- a/tests/language_2/null_aware/opt_test.dart
+++ b/tests/language_2/null_aware/opt_test.dart
@@ -6,6 +6,8 @@
 //
 // Basic null-aware operator test that invokes the optimizing compiler.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/number/constant_folding1_test.dart b/tests/language_2/number/constant_folding1_test.dart
index 8ee351c..4af9bdc 100644
--- a/tests/language_2/number/constant_folding1_test.dart
+++ b/tests/language_2/number/constant_folding1_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.9
+
 import "package:expect/expect.dart";
 
 // On frogsh constant folded hex literals of large magnitude were truncated on
diff --git a/tests/language_2/number/identifier_runtime_test.dart b/tests/language_2/number/identifier_runtime_test.dart
index 3450bd1..8e81d21 100644
--- a/tests/language_2/number/identifier_runtime_test.dart
+++ b/tests/language_2/number/identifier_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/number/identifier_test.dart b/tests/language_2/number/identifier_test.dart
index d66bf6b..d6ae7a4 100644
--- a/tests/language_2/number/identifier_test.dart
+++ b/tests/language_2/number/identifier_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/number/identity2_test.dart b/tests/language_2/number/identity2_test.dart
index 5dde8ee..2b81158 100644
--- a/tests/language_2/number/identity2_test.dart
+++ b/tests/language_2/number/identity2_test.dart
@@ -7,6 +7,8 @@
 // 'number_identity_test.dart' once fixed.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:typed_data';
 
diff --git a/tests/language_2/number/identity_test.dart b/tests/language_2/number/identity_test.dart
index a4eb7a5..a848670 100644
--- a/tests/language_2/number/identity_test.dart
+++ b/tests/language_2/number/identity_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing params.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/number/infinity_test.dart b/tests/language_2/number/infinity_test.dart
index 8d3a8d6..6c0a20c 100644
--- a/tests/language_2/number/infinity_test.dart
+++ b/tests/language_2/number/infinity_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.9
+
 import "package:expect/expect.dart";
 
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
diff --git a/tests/language_2/number/int2_test.dart b/tests/language_2/number/int2_test.dart
index d15fed9..3cf6e3d 100644
--- a/tests/language_2/number/int2_test.dart
+++ b/tests/language_2/number/int2_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.9
+
 // Regression test for dart2js that used to throw NoSuchMethod if an
 // int did not fit in the SMI range.
 
diff --git a/tests/language_2/number/int64_literal_runtime_10_test.dart b/tests/language_2/number/int64_literal_runtime_10_test.dart
index 6391a0f..7e5ddd0 100644
--- a/tests/language_2/number/int64_literal_runtime_10_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_10_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_11_test.dart b/tests/language_2/number/int64_literal_runtime_11_test.dart
index 02ae918..d57af66 100644
--- a/tests/language_2/number/int64_literal_runtime_11_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_11_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_1_test.dart b/tests/language_2/number/int64_literal_runtime_1_test.dart
index 3b23e7f..8e6c83b 100644
--- a/tests/language_2/number/int64_literal_runtime_1_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_2_test.dart b/tests/language_2/number/int64_literal_runtime_2_test.dart
index 6664a7d..d4c17e9 100644
--- a/tests/language_2/number/int64_literal_runtime_2_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_3_test.dart b/tests/language_2/number/int64_literal_runtime_3_test.dart
index 6a474c9..5766d27 100644
--- a/tests/language_2/number/int64_literal_runtime_3_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_4_test.dart b/tests/language_2/number/int64_literal_runtime_4_test.dart
index e40dd6b..258e070 100644
--- a/tests/language_2/number/int64_literal_runtime_4_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_5_test.dart b/tests/language_2/number/int64_literal_runtime_5_test.dart
index d9f1aac..0bf8cdb 100644
--- a/tests/language_2/number/int64_literal_runtime_5_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_6_test.dart b/tests/language_2/number/int64_literal_runtime_6_test.dart
index fefa1f3..4b2d698 100644
--- a/tests/language_2/number/int64_literal_runtime_6_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_7_test.dart b/tests/language_2/number/int64_literal_runtime_7_test.dart
index 227ea41..4c17a63 100644
--- a/tests/language_2/number/int64_literal_runtime_7_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_8_test.dart b/tests/language_2/number/int64_literal_runtime_8_test.dart
index 07ba174..d1179a6 100644
--- a/tests/language_2/number/int64_literal_runtime_8_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_8_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_9_test.dart b/tests/language_2/number/int64_literal_runtime_9_test.dart
index 7aabfc2..17f73b78 100644
--- a/tests/language_2/number/int64_literal_runtime_9_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_9_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_runtime_test.dart b/tests/language_2/number/int64_literal_runtime_test.dart
index d135bb1..8518390 100644
--- a/tests/language_2/number/int64_literal_runtime_test.dart
+++ b/tests/language_2/number/int64_literal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/int64_literal_test.dart b/tests/language_2/number/int64_literal_test.dart
index edce72e..fb7dcb6 100644
--- a/tests/language_2/number/int64_literal_test.dart
+++ b/tests/language_2/number/int64_literal_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.9
+
 import 'package:expect/expect.dart';
 
 const String realMaxInt64Value = '9223372036854775807';
diff --git a/tests/language_2/number/int_test.dart b/tests/language_2/number/int_test.dart
index c1d084c..8184eb3 100644
--- a/tests/language_2/number/int_test.dart
+++ b/tests/language_2/number/int_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test basic integer operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/number/numbers_test.dart b/tests/language_2/number/numbers_test.dart
index e7c8a75..f105540 100644
--- a/tests/language_2/number/numbers_test.dart
+++ b/tests/language_2/number/numbers_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test number types.
 
+// @dart = 2.9
+
 library NumbersTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/number/syntax_test.dart b/tests/language_2/number/syntax_test.dart
index 94e6890..42115c7 100644
--- a/tests/language_2/number/syntax_test.dart
+++ b/tests/language_2/number/syntax_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.9
+
 import "package:expect/expect.dart";
 
 class NumberSyntaxTest {
diff --git a/tests/language_2/number/web_int_literals_runtime_test.dart b/tests/language_2/number/web_int_literals_runtime_test.dart
index dfbcf56..0341416 100644
--- a/tests/language_2/number/web_int_literals_runtime_test.dart
+++ b/tests/language_2/number/web_int_literals_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/number/web_int_literals_test.dart b/tests/language_2/number/web_int_literals_test.dart
index 094b739..ae37351 100644
--- a/tests/language_2/number/web_int_literals_test.dart
+++ b/tests/language_2/number/web_int_literals_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/and_operation_on_non_integer_operand_test.dart b/tests/language_2/operator/and_operation_on_non_integer_operand_test.dart
index 36b4a04..9ceea32 100644
--- a/tests/language_2/operator/and_operation_on_non_integer_operand_test.dart
+++ b/tests/language_2/operator/and_operation_on_non_integer_operand_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.9
+
 // Regression test for dart2js that used to miscompile boolean add operations
 // if one of the operands was an int and the other was not (issue 22427).
 
diff --git a/tests/language_2/operator/arithmetic_canonicalization_test.dart b/tests/language_2/operator/arithmetic_canonicalization_test.dart
index 2447fa4..b1a40a7 100644
--- a/tests/language_2/operator/arithmetic_canonicalization_test.dart
+++ b/tests/language_2/operator/arithmetic_canonicalization_test.dart
@@ -4,6 +4,8 @@
 // Test canonicalization of simple arithmetic equivalences.
 // VMOptions=--optimization-counter-threshold=20 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/arithmetic_int64_test.dart b/tests/language_2/operator/arithmetic_int64_test.dart
index 6354af0..eeee2a5 100644
--- a/tests/language_2/operator/arithmetic_int64_test.dart
+++ b/tests/language_2/operator/arithmetic_int64_test.dart
@@ -4,6 +4,8 @@
 // Dart test program to test arithmetic operations.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 library arithmetic_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/operator/arithmetic_smi_overflow_test.dart b/tests/language_2/operator/arithmetic_smi_overflow_test.dart
index 1a4eec1..6362c6a 100644
--- a/tests/language_2/operator/arithmetic_smi_overflow_test.dart
+++ b/tests/language_2/operator/arithmetic_smi_overflow_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test arithmetic operations.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=5 --no-background_compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/operator/arithmetic_test.dart b/tests/language_2/operator/arithmetic_test.dart
index 7784f35..966570a 100644
--- a/tests/language_2/operator/arithmetic_test.dart
+++ b/tests/language_2/operator/arithmetic_test.dart
@@ -4,6 +4,8 @@
 // Dart test program to test arithmetic operations.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 library arithmetic_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/operator/bit_operations_test.dart b/tests/language_2/operator/bit_operations_test.dart
index c6fd13c..979492e 100644
--- a/tests/language_2/operator/bit_operations_test.dart
+++ b/tests/language_2/operator/bit_operations_test.dart
@@ -4,6 +4,8 @@
 // Dart test for testing bitwise operations.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/operator/bit_shift_test.dart b/tests/language_2/operator/bit_shift_test.dart
index 1f00423..efe2d29 100644
--- a/tests/language_2/operator/bit_shift_test.dart
+++ b/tests/language_2/operator/bit_shift_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 constants() {
diff --git a/tests/language_2/operator/comparison_test.dart b/tests/language_2/operator/comparison_test.dart
index 59d7005..11dcd6c 100644
--- a/tests/language_2/operator/comparison_test.dart
+++ b/tests/language_2/operator/comparison_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing comparison operators.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/operator/compound_assignment_test.dart b/tests/language_2/operator/compound_assignment_test.dart
index 1b507c9..03b6044 100644
--- a/tests/language_2/operator/compound_assignment_test.dart
+++ b/tests/language_2/operator/compound_assignment_test.dart
@@ -4,6 +4,8 @@
 // Tests that lhs of a compound assignment is executed only once.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Indexed {
diff --git a/tests/language_2/operator/cond_expr_test.dart b/tests/language_2/operator/cond_expr_test.dart
index 7bcc477..b76a10e 100644
--- a/tests/language_2/operator/cond_expr_test.dart
+++ b/tests/language_2/operator/cond_expr_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that conditional expressions can contain assignment expressions.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var e1, e2;
diff --git a/tests/language_2/operator/div_by_zero_test.dart b/tests/language_2/operator/div_by_zero_test.dart
index cb67d68..4339aaf 100644
--- a/tests/language_2/operator/div_by_zero_test.dart
+++ b/tests/language_2/operator/div_by_zero_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test integer div by zero.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class DivByZeroTest {
diff --git a/tests/language_2/operator/div_with_power_of_two2_test.dart b/tests/language_2/operator/div_with_power_of_two2_test.dart
index c8e3bdb..fdbf571 100644
--- a/tests/language_2/operator/div_with_power_of_two2_test.dart
+++ b/tests/language_2/operator/div_with_power_of_two2_test.dart
@@ -5,6 +5,8 @@
 // Test that results before and after optimization are the same.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // [function, [list of tuples argument/result]].
diff --git a/tests/language_2/operator/div_with_power_of_two_test.dart b/tests/language_2/operator/div_with_power_of_two_test.dart
index 3372bce..987b467 100644
--- a/tests/language_2/operator/div_with_power_of_two_test.dart
+++ b/tests/language_2/operator/div_with_power_of_two_test.dart
@@ -5,6 +5,8 @@
 // Test that results before and after optimization are the same.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // [function, [list of tuples argument/result]].
diff --git a/tests/language_2/operator/equality_test.dart b/tests/language_2/operator/equality_test.dart
index 69d8572..ddab2c4 100644
--- a/tests/language_2/operator/equality_test.dart
+++ b/tests/language_2/operator/equality_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/operator/equals_test.dart b/tests/language_2/operator/equals_test.dart
index 109c7c6..a87b4d1 100644
--- a/tests/language_2/operator/equals_test.dart
+++ b/tests/language_2/operator/equals_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.9
+
 // Regression test for dart2js that used to infer [:super == null:]
 // always returns an int.
 
diff --git a/tests/language_2/operator/incr_op_test.dart b/tests/language_2/operator/incr_op_test.dart
index 9050a41..8284a3e 100644
--- a/tests/language_2/operator/incr_op_test.dart
+++ b/tests/language_2/operator/incr_op_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing increment operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/operator/index_evaluation_order_test.dart b/tests/language_2/operator/index_evaluation_order_test.dart
index 023d027..4fcb832 100644
--- a/tests/language_2/operator/index_evaluation_order_test.dart
+++ b/tests/language_2/operator/index_evaluation_order_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/operator/index_test.dart b/tests/language_2/operator/index_test.dart
index bf9ab92..ec542e0 100644
--- a/tests/language_2/operator/index_test.dart
+++ b/tests/language_2/operator/index_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing index operators.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/operator/integer_division_by_zero_test.dart b/tests/language_2/operator/integer_division_by_zero_test.dart
index 03cd661..3ba518a 100644
--- a/tests/language_2/operator/integer_division_by_zero_test.dart
+++ b/tests/language_2/operator/integer_division_by_zero_test.dart
@@ -5,6 +5,8 @@
 // Test that results before and after optimization are the same.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 divBy0(a) => a ~/ 0;
diff --git a/tests/language_2/operator/invalid_assignment_to_postfix_increment_runtime_test.dart b/tests/language_2/operator/invalid_assignment_to_postfix_increment_runtime_test.dart
index 6998367..eff83d4 100644
--- a/tests/language_2/operator/invalid_assignment_to_postfix_increment_runtime_test.dart
+++ b/tests/language_2/operator/invalid_assignment_to_postfix_increment_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/operator/invalid_assignment_to_postfix_increment_test.dart b/tests/language_2/operator/invalid_assignment_to_postfix_increment_test.dart
index fcae91f..62d8eb0 100644
--- a/tests/language_2/operator/invalid_assignment_to_postfix_increment_test.dart
+++ b/tests/language_2/operator/invalid_assignment_to_postfix_increment_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.9
+
 void f(int x, int y) {
   x++ = y;
 //^^^
diff --git a/tests/language_2/operator/invalid_operators_test.dart b/tests/language_2/operator/invalid_operators_test.dart
index 7efa98b..977c644 100644
--- a/tests/language_2/operator/invalid_operators_test.dart
+++ b/tests/language_2/operator/invalid_operators_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.9
+
 class Operators1 {
   operator ==() => true;
   //       ^^
diff --git a/tests/language_2/operator/left_shift_test.dart b/tests/language_2/operator/left_shift_test.dart
index 7f151b1..303747a 100644
--- a/tests/language_2/operator/left_shift_test.dart
+++ b/tests/language_2/operator/left_shift_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/literal_unary_plus_test.dart b/tests/language_2/operator/literal_unary_plus_test.dart
index 8a2530d..0ce8094 100644
--- a/tests/language_2/operator/literal_unary_plus_test.dart
+++ b/tests/language_2/operator/literal_unary_plus_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.9
+
 // There is no unary plus operator in Dart.
 
 main() {
diff --git a/tests/language_2/operator/logical_expression2_test.dart b/tests/language_2/operator/logical_expression2_test.dart
index 04a05e94..d1f25cd 100644
--- a/tests/language_2/operator/logical_expression2_test.dart
+++ b/tests/language_2/operator/logical_expression2_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 17149.
diff --git a/tests/language_2/operator/logical_expression3_test.dart b/tests/language_2/operator/logical_expression3_test.dart
index 9d6efa9..ca7197d 100644
--- a/tests/language_2/operator/logical_expression3_test.dart
+++ b/tests/language_2/operator/logical_expression3_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.9
+
 import "package:expect/expect.dart";
 
 bool nonInlinedNumTypeCheck(Object object) {
diff --git a/tests/language_2/operator/logical_expression4_test.dart b/tests/language_2/operator/logical_expression4_test.dart
index 1442434..5009722 100644
--- a/tests/language_2/operator/logical_expression4_test.dart
+++ b/tests/language_2/operator/logical_expression4_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.9
+
 import "package:expect/expect.dart";
 
 bool nonInlinedNumTypeCheck(Object object) {
diff --git a/tests/language_2/operator/logical_expression5_test.dart b/tests/language_2/operator/logical_expression5_test.dart
index f918604..a3ab83b 100644
--- a/tests/language_2/operator/logical_expression5_test.dart
+++ b/tests/language_2/operator/logical_expression5_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.9
+
 import 'package:expect/expect.dart';
 
 bool nonInlinedNumTypeCheck(Object object) {
diff --git a/tests/language_2/operator/logical_expression_test.dart b/tests/language_2/operator/logical_expression_test.dart
index e3dd195..0eceb92 100644
--- a/tests/language_2/operator/logical_expression_test.dart
+++ b/tests/language_2/operator/logical_expression_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing if statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // For logical-or conditions dart2js sometimes inlined expressions, leading to
diff --git a/tests/language_2/operator/mint_arithmetic_test.dart b/tests/language_2/operator/mint_arithmetic_test.dart
index ee29858..424f139 100644
--- a/tests/language_2/operator/mint_arithmetic_test.dart
+++ b/tests/language_2/operator/mint_arithmetic_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test arithmetic on 64-bit integers.
diff --git a/tests/language_2/operator/modulo_test.dart b/tests/language_2/operator/modulo_test.dart
index ae55626..6e38c09 100644
--- a/tests/language_2/operator/modulo_test.dart
+++ b/tests/language_2/operator/modulo_test.dart
@@ -4,6 +4,8 @@
 // Dart test optimization of modulo operator on Smi.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/mul_recipr_test.dart b/tests/language_2/operator/mul_recipr_test.dart
index a79be78..516797c 100644
--- a/tests/language_2/operator/mul_recipr_test.dart
+++ b/tests/language_2/operator/mul_recipr_test.dart
@@ -7,6 +7,8 @@
 //
 // VMOptions=--optimization-counter-threshold=8 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var xx = 23.0;
diff --git a/tests/language_2/operator/multi_assign_test.dart b/tests/language_2/operator/multi_assign_test.dart
index d88a63a..d3eee4a 100644
--- a/tests/language_2/operator/multi_assign_test.dart
+++ b/tests/language_2/operator/multi_assign_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing multiple assignment.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MultiAssignTest {
diff --git a/tests/language_2/operator/negate_and_method_negate_test.dart b/tests/language_2/operator/negate_and_method_negate_test.dart
index 98a0063..2248dc3 100644
--- a/tests/language_2/operator/negate_and_method_negate_test.dart
+++ b/tests/language_2/operator/negate_and_method_negate_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.9
+
 import "package:expect/expect.dart";
 
 // This checks that it is possible to have a method named negate as
diff --git a/tests/language_2/operator/operations_on_non_num_operand_test.dart b/tests/language_2/operator/operations_on_non_num_operand_test.dart
index 8a98bb3..4b90d41 100644
--- a/tests/language_2/operator/operations_on_non_num_operand_test.dart
+++ b/tests/language_2/operator/operations_on_non_num_operand_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.9
+
 /// Regression test for dart2js that used to miscompile boolean and operations
 /// if one of the operands was an int and the other was not (issue 22427).
 ///
diff --git a/tests/language_2/operator/operator1_test.dart b/tests/language_2/operator/operator1_test.dart
index 5ba6722..d25f934 100644
--- a/tests/language_2/operator/operator1_test.dart
+++ b/tests/language_2/operator/operator1_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.9
+
 /// Operator functions cannot be static.
 
 class C {
diff --git a/tests/language_2/operator/operator2_test.dart b/tests/language_2/operator/operator2_test.dart
index 17f1fd8f..8b0dcb5 100644
--- a/tests/language_2/operator/operator2_test.dart
+++ b/tests/language_2/operator/operator2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Operator dart test program.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/operator/operator3_test.dart b/tests/language_2/operator/operator3_test.dart
index 98e9571..19eb77b 100644
--- a/tests/language_2/operator/operator3_test.dart
+++ b/tests/language_2/operator/operator3_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/operator/operator4_test.dart b/tests/language_2/operator/operator4_test.dart
index e203a16..9cbe523 100644
--- a/tests/language_2/operator/operator4_test.dart
+++ b/tests/language_2/operator/operator4_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/operator/operator5_test.dart b/tests/language_2/operator/operator5_test.dart
index a6d177d..c892ca2 100644
--- a/tests/language_2/operator/operator5_test.dart
+++ b/tests/language_2/operator/operator5_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/operator/operator6_test.dart b/tests/language_2/operator/operator6_test.dart
index 87fae7d..53b570d 100644
--- a/tests/language_2/operator/operator6_test.dart
+++ b/tests/language_2/operator/operator6_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.9
+
 import "package:expect/expect.dart";
 
 class OperatorTest {
diff --git a/tests/language_2/operator/operator7_test.dart b/tests/language_2/operator/operator7_test.dart
index ff43b64..2d6ab19 100644
--- a/tests/language_2/operator/operator7_test.dart
+++ b/tests/language_2/operator/operator7_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.9
+
 /// No "===" operator.
 
 class C {
diff --git a/tests/language_2/operator/operator_test.dart b/tests/language_2/operator/operator_test.dart
index db41d02..9763a58 100644
--- a/tests/language_2/operator/operator_test.dart
+++ b/tests/language_2/operator/operator_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.9
+
 import "package:expect/expect.dart";
 
 class OperatorTest {
diff --git a/tests/language_2/operator/positive_bit_operations_test.dart b/tests/language_2/operator/positive_bit_operations_test.dart
index 396360c..7133f84 100644
--- a/tests/language_2/operator/positive_bit_operations_test.dart
+++ b/tests/language_2/operator/positive_bit_operations_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.9
+
 import "package:expect/expect.dart";
 
 constants() {
diff --git a/tests/language_2/operator/precedence_test.dart b/tests/language_2/operator/precedence_test.dart
index d22ca89..4db2b54 100644
--- a/tests/language_2/operator/precedence_test.dart
+++ b/tests/language_2/operator/precedence_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to test operation precedence.
 
+// @dart = 2.9
+
 library precedence_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/operator/round_test.dart b/tests/language_2/operator/round_test.dart
index e1b3c3e..8f6025a 100644
--- a/tests/language_2/operator/round_test.dart
+++ b/tests/language_2/operator/round_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.9
+
 /// Test of a common rounding bug.
 ///
 /// This bug is common in JavaScript implementations because the ECMA-262
diff --git a/tests/language_2/operator/smi_type_test.dart b/tests/language_2/operator/smi_type_test.dart
index dddfdbe..02cb4a4 100644
--- a/tests/language_2/operator/smi_type_test.dart
+++ b/tests/language_2/operator/smi_type_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=8
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/ternary_test.dart b/tests/language_2/operator/ternary_test.dart
index 240034d..628ec57 100644
--- a/tests/language_2/operator/ternary_test.dart
+++ b/tests/language_2/operator/ternary_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing the ternary operator.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class TernaryTest {
diff --git a/tests/language_2/operator/truncdiv_test.dart b/tests/language_2/operator/truncdiv_test.dart
index bd043d1..b3f3cbd 100644
--- a/tests/language_2/operator/truncdiv_test.dart
+++ b/tests/language_2/operator/truncdiv_test.dart
@@ -4,6 +4,8 @@
 // Dart test optimization of modulo operator on Smi.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/operator/truncdiv_uint32_test.dart b/tests/language_2/operator/truncdiv_uint32_test.dart
index 46930a4..3ca40be 100644
--- a/tests/language_2/operator/truncdiv_uint32_test.dart
+++ b/tests/language_2/operator/truncdiv_uint32_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.9
+
 var a = [0xFFFFFFFF];
 
 main() {
diff --git a/tests/language_2/operator/truncdiv_zero_test.dart b/tests/language_2/operator/truncdiv_zero_test.dart
index 34cecc3..ed41090 100644
--- a/tests/language_2/operator/truncdiv_zero_test.dart
+++ b/tests/language_2/operator/truncdiv_zero_test.dart
@@ -4,6 +4,8 @@
 // Dart test optimization of modulo operator on Smi.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 import "truncdiv_test.dart" as truncdiv_test show foo, foo2;
diff --git a/tests/language_2/operator/unary2_test.dart b/tests/language_2/operator/unary2_test.dart
index a799339..87fe30b 100644
--- a/tests/language_2/operator/unary2_test.dart
+++ b/tests/language_2/operator/unary2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing binary operations.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class UnaryTest {
diff --git a/tests/language_2/operator/unary_plus_test.dart b/tests/language_2/operator/unary_plus_test.dart
index ac6e9ce..279dbdac 100644
--- a/tests/language_2/operator/unary_plus_test.dart
+++ b/tests/language_2/operator/unary_plus_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.9
+
 /// There is no unary plus operator in Dart.
 
 main() {
diff --git a/tests/language_2/operator/unary_test.dart b/tests/language_2/operator/unary_test.dart
index d2421c0..469925d 100644
--- a/tests/language_2/operator/unary_test.dart
+++ b/tests/language_2/operator/unary_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test for testing binary operations.
diff --git a/tests/language_2/operator/unsigned_right_shift_test.dart b/tests/language_2/operator/unsigned_right_shift_test.dart
deleted file mode 100644
index 8a2723f..0000000
--- a/tests/language_2/operator/unsigned_right_shift_test.dart
+++ /dev/null
@@ -1,229 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// SharedOptions=--enable-experiment=triple-shift
-
-import "package:expect/expect.dart";
-import "package:async_helper/async_helper.dart";
-
-// The >>> operator is (again) supported by Dart
-// (This test does not test int.operator>>>, such a test belongs in the corelib
-// test collection. Const uses of int.operator>>> is tested elsewhere as well).
-
-/// Syntactically tricky coincidences containing >>> and >>>=.
-/// DO NOT FORMAT THIS FILE. There should not be a space between >>> and =.
-typedef F3<T extends List<List<int>>>= T Function();
-typedef F4<T extends List<List<List<int>>>>= T Function();
-typedef F5<T extends List<List<List<List<int>>>>>= T Function();
-typedef F6<T extends List<List<List<List<List<int>>>>>>= T Function();
-class E3<T extends List<List<int>>> {}
-class E4<T extends List<List<List<int>>>> {}
-class E5<T extends List<List<List<List<int>>>>> {}
-class E6<T extends List<List<List<List<List<int>>>>>> {}
-
-main() {
-  // >>> is an overridable operator.
-  const c1 = C(1);
-  const c2 = C(2);
-  Expect.identical(c2, c1 >>> c2);
-
-  /// It combines to an assignment operator.
-  C c = c1;
-  c >>>= c2;
-  Expect.identical(c2, c);
-
-  // Operand needs to have correct type for typed invocation.
-  c1 //
-     >>> 4 //# 01: compile-time error
-     >>> "string" //# 02: compile-time error
-  ;
-  c //
-     >>>= 4 //# 03: compile-time error
-  ;
-
-  // Dynamic invocations are allowed, and check types at run-time.
-  dynamic d = c1;
-  Expect.identical(c2, d >>> c2);
-  Expect.throws(() => d >>> 4);
-
-  // There is a symbol for >>>, both as constructed and literal.
-  Expect.identical(const Symbol(">>>"), #>>>);
-
-  // No such method can catch dynamic invocations of >>>:
-  dynamic nsm = NSM();
-  Invocation invocation = nsm >>> c2;
-  Expect.isTrue(invocation.isMethod);
-  Expect.isFalse(invocation.isAccessor);
-  Expect.equals(#>>>, invocation.memberName);
-  Expect.equals(1, invocation.positionalArguments.length);
-  Expect.identical(c2, invocation.positionalArguments[0]);
-  Expect.equals(0, invocation.namedArguments.length);
-
-  invocation = (nsm >>>= c2);
-  Expect.isTrue(invocation.isMethod);
-  Expect.isFalse(invocation.isAccessor);
-  Expect.equals(#>>>, invocation.memberName);
-  Expect.equals(1, invocation.positionalArguments.length);
-  Expect.identical(c2, invocation.positionalArguments[0]);
-  Expect.equals(0, invocation.namedArguments.length);
-
-  // And unimplemented interface methods.
-  ShiftNSM shnsm = ShiftNSM();
-  invocation = shnsm >>> c2;
-  Expect.isTrue(invocation.isMethod);
-  Expect.isFalse(invocation.isAccessor);
-  Expect.equals(#>>>, invocation.memberName);
-  Expect.equals(1, invocation.positionalArguments.length);
-  Expect.identical(c2, invocation.positionalArguments[0]);
-  Expect.equals(0, invocation.namedArguments.length);
-
-  // If there is an interface, we must match it, even if the call
-  // otherwise goes to noSuchMethod.
-  shnsm //
-      >>> 4 //# 04: compile-time error
-  ;
-
-  /// A type error in the nSM return value is caught.
-  dynamic badNSM = BadNSM();
-  Expect.throws(() => badNSM >>> "not an int", (e) => e != "Unreachable");
-  Expect.throws(() => badNSM >>> 4, (e) => e != "Unreachable");
-
-  asyncStart();
-  () async {
-    // Operands can be asynchronous.
-    var fc1 = Future.value(c1);
-    var fc2 = Future.value(c2);
-    Expect.identical(c2, (await fc1) >>> (await fc2));
-    /// The operator itself can be async.
-    var async = Async();
-    Expect.identical(c1, await (async >>> c1));
-
-    var asyncStar = AsyncStar();
-    int count = 0;
-    await for (var v in asyncStar >>> c1) {
-      count++;
-      Expect.identical(c1, v);
-    }
-    Expect.equals(1, count);
-    asyncEnd();
-  }();
-
-  {
-    var syncStar = SyncStar();
-    int count = 0;
-    for (var v in syncStar >>> c1) {
-      count++;
-      Expect.identical(c1, v);
-    }
-    Expect.equals(1, count);
-  }
-
-  // >>> has same precedence as >> (and <<), is left associative.
-  // Binds weaker than addition/multiplication, stronger than other bitwise
-  // operators and comparisons.
-  final a = Assoc("*");
-  Expect.equals("((~*)>>>(~*))", "${~a >>> ~a}");
-  Expect.equals("((*+*)>>>(*+*))", "${a + a >>> a + a}");
-  Expect.equals("((*/*)>>>(*/*))", "${a / a >>> a / a}");
-  Expect.equals("(((*>>*)>>>*)>>*)", "${a >> a >>> a >> a}");
-  Expect.equals("((*&(*>>>*))&*)", "${a & a >>> a & a}");
-  Expect.equals("((*|(*>>>*))|*)", "${a | a >>> a | a}");
-  Expect.equals("((*^(*>>>*))^*)", "${a ^ a >>> a ^ a}");
-  Expect.equals("(*<(*>>>*))", "${a < a >>> a}");
-  Expect.equals("((*>>>*)<*)", "${a >>> a < a}");
-
-  var res = a;
-  res >>>= a;
-  res >>>= a;
-  Expect.equals("((*>>>*)>>>*)", "$res");
-
-  // Exercise the type declarations below.
-  E3<List<List<int>>>();
-  E4<List<List<List<int>>>>();
-  E5<List<List<List<List<int>>>>>();
-  E6<List<List<List<List<List<int>>>>>>();
-  Expect.type<F3<Null>>(() => null);
-  Expect.type<F4<Null>>(() => null);
-  Expect.type<F5<Null>>(() => null);
-  Expect.type<F6<Null>>(() => null);
-}
-
-/// Class with a simple overridden `operator>>>`.
-class C {
-  final int id;
-  const C(this. id);
-  C operator >>>(C other) => other;
-  String toString() => "C($id)";
-}
-
-/// Invalid declarations of `>>>` operator.
-class Invalid {
-  // Overridable operator must have exactly one required parameter.
-  Object operator>>>() => null;  //# arg0: compile-time error
-  Object operator>>>(v1, v2) => null;  //# arg2: compile-time error
-  Object operator>>>([v1]) => null;  //# argOpt: compile-time error
-  Object operator>>>({v1}) => null;  //# argNam: compile-time error
-}
-
-/// Class with noSuchMethod and no `>>>` operator.
-class NSM {
-  dynamic noSuchMethod(Invocation invocation) {
-    return invocation;
-  }
-}
-
-/// Class with nSM and abstract `>>>` (implicit typed forwarder).
-class ShiftNSM extends NSM {
-  dynamic operator>>>(C o);
-}
-
-/// Class with nSM and abstract `>>>` where nSM returns wrong type.
-class BadNSM {
-  int operator>>>(int n);
-  dynamic noSuchMethod(Invocation i) {
-    if (i.memberName == #>>>) {
-      if (i.positionalArguments.first is! int) throw "Unreachable";
-      return "notAnInt";
-    }
-    return super.noSuchMethod(i);
-  }
-}
-
-/// Class with an `async` implementation of `operator >>>`
-class Async {
-  Future<C> operator >>>(C value) async => value;
-}
-
-/// Class with an `async*` implementation of `operator >>>`
-class AsyncStar {
-  Stream<C> operator >>>(C value) async* {
-    yield value;
-  }
-}
-
-/// Class with a `sync*` implementation of `operator >>>`
-class SyncStar {
-  Iterable<C> operator >>>(C value) sync* {
-    yield value;
-  }
-}
-
-/// Helper class to record precedence and associativity of operators.
-class Assoc {
-  final String ops;
-  Assoc(this.ops);
-  Assoc operator ~() => Assoc("(~${this})");
-  Assoc operator +(Assoc other) => Assoc("(${this}+$other)");
-  Assoc operator /(Assoc other) => Assoc("(${this}/$other)");
-  Assoc operator &(Assoc other) => Assoc("(${this}&$other)");
-  Assoc operator |(Assoc other) => Assoc("(${this}|$other)");
-  Assoc operator ^(Assoc other) => Assoc("(${this}^$other)");
-  Assoc operator >(Assoc other) => Assoc("(${this}>$other)");
-  Assoc operator >>(Assoc other) => Assoc("(${this}>>$other)");
-  Assoc operator >>>(Assoc other) => Assoc("(${this}>>>$other)");
-  Assoc operator <(Assoc other) => Assoc("(${this}<$other)");
-  Assoc operator >=(Assoc other) => Assoc("(${this}>=$other)");
-  Assoc operator <=(Assoc other) => Assoc("(${this}<=$other)");
-  String toString() => ops;
-}
diff --git a/tests/language_2/operator/unsupported_runtime_test.dart b/tests/language_2/operator/unsupported_runtime_test.dart
index 57eb8b8..a1bf3d7 100644
--- a/tests/language_2/operator/unsupported_runtime_test.dart
+++ b/tests/language_2/operator/unsupported_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/operator/unsupported_test.dart b/tests/language_2/operator/unsupported_test.dart
index 5649260..7ead00a 100644
--- a/tests/language_2/operator/unsupported_test.dart
+++ b/tests/language_2/operator/unsupported_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.9
+
 // Test handling of unsupported operators.
 
 library unsupported_operators;
diff --git a/tests/language_2/optimize/allocation_sinking_inlining_test.dart b/tests/language_2/optimize/allocation_sinking_inlining_test.dart
index 6ed5501..8ca3c16 100644
--- a/tests/language_2/optimize/allocation_sinking_inlining_test.dart
+++ b/tests/language_2/optimize/allocation_sinking_inlining_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 // Test allocation sinking with polymorphic inlining.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/bailout2_test.dart b/tests/language_2/optimize/bailout2_test.dart
index 8a0dd87..e594c99 100644
--- a/tests/language_2/optimize/bailout2_test.dart
+++ b/tests/language_2/optimize/bailout2_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.9
+
 import "package:expect/expect.dart";
 
 var a;
diff --git a/tests/language_2/optimize/bailout3_test.dart b/tests/language_2/optimize/bailout3_test.dart
index 6fc0923..2a74b05 100644
--- a/tests/language_2/optimize/bailout3_test.dart
+++ b/tests/language_2/optimize/bailout3_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.9
+
 import "package:expect/expect.dart";
 
 // Test that the return type of a method is being registered for both
diff --git a/tests/language_2/optimize/bailout4_test.dart b/tests/language_2/optimize/bailout4_test.dart
index 7397053..99fa2a8 100644
--- a/tests/language_2/optimize/bailout4_test.dart
+++ b/tests/language_2/optimize/bailout4_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.9
+
 import "package:expect/expect.dart";
 
 // Test that dart2s computes the right bailout environment in presence
diff --git a/tests/language_2/optimize/bailout5_test.dart b/tests/language_2/optimize/bailout5_test.dart
index 1d9c233..bbf7da6 100644
--- a/tests/language_2/optimize/bailout5_test.dart
+++ b/tests/language_2/optimize/bailout5_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.9
+
 import "package:expect/expect.dart";
 
 // Test to make sure the bailout environment in dart2js is correct.
diff --git a/tests/language_2/optimize/bailout6_test.dart b/tests/language_2/optimize/bailout6_test.dart
index 38b84db..bd22f36 100644
--- a/tests/language_2/optimize/bailout6_test.dart
+++ b/tests/language_2/optimize/bailout6_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.9
+
 import "package:expect/expect.dart";
 
 // Test for dart2js to make sure the computed bailout environment is
diff --git a/tests/language_2/optimize/bailout7_test.dart b/tests/language_2/optimize/bailout7_test.dart
index b71fe72..7d02e92d 100644
--- a/tests/language_2/optimize/bailout7_test.dart
+++ b/tests/language_2/optimize/bailout7_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.9
+
 import "package:expect/expect.dart";
 
 // Test to make sure the do/while loop exit condition is generated.
diff --git a/tests/language_2/optimize/bailout_container_type_test.dart b/tests/language_2/optimize/bailout_container_type_test.dart
index 7b58f69..ab8442c 100644
--- a/tests/language_2/optimize/bailout_container_type_test.dart
+++ b/tests/language_2/optimize/bailout_container_type_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.9
+
 // Regression test for dart2js that used to generate bad code for the
 // non-bailout version of [main].
 
diff --git a/tests/language_2/optimize/bailout_test.dart b/tests/language_2/optimize/bailout_test.dart
index a88780d..42ddf80 100644
--- a/tests/language_2/optimize/bailout_test.dart
+++ b/tests/language_2/optimize/bailout_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a call to a bailout method in dart2js resolves to the
diff --git a/tests/language_2/optimize/cha_deopt1_deferred_lib.dart b/tests/language_2/optimize/cha_deopt1_deferred_lib.dart
index 7add3ed..25c4696 100644
--- a/tests/language_2/optimize/cha_deopt1_deferred_lib.dart
+++ b/tests/language_2/optimize/cha_deopt1_deferred_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "cha_deopt1_lib.dart";
 
 class U extends T {
diff --git a/tests/language_2/optimize/cha_deopt1_lib.dart b/tests/language_2/optimize/cha_deopt1_lib.dart
index 72a86f3..d5760bb 100644
--- a/tests/language_2/optimize/cha_deopt1_lib.dart
+++ b/tests/language_2/optimize/cha_deopt1_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mylib;
 
 class T {
diff --git a/tests/language_2/optimize/cha_deopt1_test.dart b/tests/language_2/optimize/cha_deopt1_test.dart
index 7cb2a88..e128ba3 100644
--- a/tests/language_2/optimize/cha_deopt1_test.dart
+++ b/tests/language_2/optimize/cha_deopt1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation
 
+// @dart = 2.9
+
 // Test lazy deoptimization at field guards with deferred loading.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/cha_deopt2_deferred_lib.dart b/tests/language_2/optimize/cha_deopt2_deferred_lib.dart
index 53bf9a8..59ec9f8 100644
--- a/tests/language_2/optimize/cha_deopt2_deferred_lib.dart
+++ b/tests/language_2/optimize/cha_deopt2_deferred_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "cha_deopt2_lib.dart";
 
 class U extends T {}
diff --git a/tests/language_2/optimize/cha_deopt2_lib.dart b/tests/language_2/optimize/cha_deopt2_lib.dart
index 922cf9a..20231d9 100644
--- a/tests/language_2/optimize/cha_deopt2_lib.dart
+++ b/tests/language_2/optimize/cha_deopt2_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mylib;
 
 class A {}
diff --git a/tests/language_2/optimize/cha_deopt2_test.dart b/tests/language_2/optimize/cha_deopt2_test.dart
index 7372f5e..15b486d 100644
--- a/tests/language_2/optimize/cha_deopt2_test.dart
+++ b/tests/language_2/optimize/cha_deopt2_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation --no-use-field-guards
 
+// @dart = 2.9
+
 // Test lazy deoptimization at type checks with deferred loading.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/cha_deopt3_deferred_lib.dart b/tests/language_2/optimize/cha_deopt3_deferred_lib.dart
index 31ad3d2..62e9bed 100644
--- a/tests/language_2/optimize/cha_deopt3_deferred_lib.dart
+++ b/tests/language_2/optimize/cha_deopt3_deferred_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import "cha_deopt3_lib.dart";
 
 class U implements T {}
diff --git a/tests/language_2/optimize/cha_deopt3_lib.dart b/tests/language_2/optimize/cha_deopt3_lib.dart
index 922cf9a..20231d9 100644
--- a/tests/language_2/optimize/cha_deopt3_lib.dart
+++ b/tests/language_2/optimize/cha_deopt3_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library mylib;
 
 class A {}
diff --git a/tests/language_2/optimize/cha_deopt3_test.dart b/tests/language_2/optimize/cha_deopt3_test.dart
index dfcd7af..6bb78fb 100644
--- a/tests/language_2/optimize/cha_deopt3_test.dart
+++ b/tests/language_2/optimize/cha_deopt3_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation
 // VMOptions=--optimization-counter-threshold=100 --no-background-compilation --no-use-field-guards
 
+// @dart = 2.9
+
 // Test lazy deoptimization at type checks with interface implementation.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/code_motion_crash_test.dart b/tests/language_2/optimize/code_motion_crash_test.dart
index f0d30b8..06f81a7 100644
--- a/tests/language_2/optimize/code_motion_crash_test.dart
+++ b/tests/language_2/optimize/code_motion_crash_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.9
+
 // Regression test for dart2js that used to crash during the
 // [SsaCodeMotion] phase on this code.
 
diff --git a/tests/language_2/optimize/constant_array_string_access_test.dart b/tests/language_2/optimize/constant_array_string_access_test.dart
index 35b7279..2fc2b3f 100644
--- a/tests/language_2/optimize/constant_array_string_access_test.dart
+++ b/tests/language_2/optimize/constant_array_string_access_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test optimized constant string and constant array access.
diff --git a/tests/language_2/optimize/constant_fold_equals_test.dart b/tests/language_2/optimize/constant_fold_equals_test.dart
index 2db1966..21705d0 100644
--- a/tests/language_2/optimize/constant_fold_equals_test.dart
+++ b/tests/language_2/optimize/constant_fold_equals_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/optimize/constant_propagation_phis_test.dart b/tests/language_2/optimize/constant_propagation_phis_test.dart
index 0ba7d72..2428d0a 100644
--- a/tests/language_2/optimize/constant_propagation_phis_test.dart
+++ b/tests/language_2/optimize/constant_propagation_phis_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test that constant propagation correctly updates phis when predecessor's
diff --git a/tests/language_2/optimize/critical_edge2_test.dart b/tests/language_2/optimize/critical_edge2_test.dart
index 75e3f13..3f3c81d 100644
--- a/tests/language_2/optimize/critical_edge2_test.dart
+++ b/tests/language_2/optimize/critical_edge2_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.9
+
 // This test broke dart2js.
 // A compiler must not construct a critical edge on this program.
 //
diff --git a/tests/language_2/optimize/critical_edge_test.dart b/tests/language_2/optimize/critical_edge_test.dart
index 28c7fd4..9226b20 100644
--- a/tests/language_2/optimize/critical_edge_test.dart
+++ b/tests/language_2/optimize/critical_edge_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.9
+
 // This test broke dart2js.
 // A compiler must not construct a critical edge on this program.
 //
diff --git a/tests/language_2/optimize/dead_field_access_test.dart b/tests/language_2/optimize/dead_field_access_test.dart
index cacaa34..361e274 100644
--- a/tests/language_2/optimize/dead_field_access_test.dart
+++ b/tests/language_2/optimize/dead_field_access_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.9
+
 import 'package:expect/expect.dart';
 
 class Foo {
diff --git a/tests/language_2/optimize/deopt_inlined_function_lazy_test.dart b/tests/language_2/optimize/deopt_inlined_function_lazy_test.dart
index d827884..feda117 100644
--- a/tests/language_2/optimize/deopt_inlined_function_lazy_test.dart
+++ b/tests/language_2/optimize/deopt_inlined_function_lazy_test.dart
@@ -4,6 +4,8 @@
 // Test lazy deoptimization from within an inlined function.
 // VMOptions=--deoptimize_alot --optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 call_native(x) {
diff --git a/tests/language_2/optimize/deopt_inlined_function_test.dart b/tests/language_2/optimize/deopt_inlined_function_test.dart
index e9158ef..ad27600 100644
--- a/tests/language_2/optimize/deopt_inlined_function_test.dart
+++ b/tests/language_2/optimize/deopt_inlined_function_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test deoptimization from within an inlined function.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/deopt_lazy_finalization_test.dart b/tests/language_2/optimize/deopt_lazy_finalization_test.dart
index 43c70cf..7ed8cce 100644
--- a/tests/language_2/optimize/deopt_lazy_finalization_test.dart
+++ b/tests/language_2/optimize/deopt_lazy_finalization_test.dart
@@ -4,6 +4,8 @@
 // Test deoptimziation caused by lazy finalization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/optimize/deopt_no_feedback_test.dart b/tests/language_2/optimize/deopt_no_feedback_test.dart
index 38c6054..62c28c6 100644
--- a/tests/language_2/optimize/deopt_no_feedback_test.dart
+++ b/tests/language_2/optimize/deopt_no_feedback_test.dart
@@ -5,6 +5,8 @@
 // feedback before.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 testStoreIndexed() {
diff --git a/tests/language_2/optimize/deopt_smi_op_test.dart b/tests/language_2/optimize/deopt_smi_op_test.dart
index 30e9fd2..851a334 100644
--- a/tests/language_2/optimize/deopt_smi_op_test.dart
+++ b/tests/language_2/optimize/deopt_smi_op_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test hoisted (loop-invariant) smi operations with deoptimization.
diff --git a/tests/language_2/optimize/deoptimized_function_on_stack_test.dart b/tests/language_2/optimize/deoptimized_function_on_stack_test.dart
index d0df460..a1ab683 100644
--- a/tests/language_2/optimize/deoptimized_function_on_stack_test.dart
+++ b/tests/language_2/optimize/deoptimized_function_on_stack_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // This is a test for deoptimization infrastructure and to reproduce the
diff --git a/tests/language_2/optimize/hoisting_checked_mode_assert_test.dart b/tests/language_2/optimize/hoisting_checked_mode_assert_test.dart
index ac45ebf..12e1c71 100644
--- a/tests/language_2/optimize/hoisting_checked_mode_assert_test.dart
+++ b/tests/language_2/optimize/hoisting_checked_mode_assert_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test checked mode assertions inside loops.
diff --git a/tests/language_2/optimize/inferrer_closure_test.dart b/tests/language_2/optimize/inferrer_closure_test.dart
index 6841bb4..2eaa302 100644
--- a/tests/language_2/optimize/inferrer_closure_test.dart
+++ b/tests/language_2/optimize/inferrer_closure_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.9
+
 // Regression test for dart2js that used to not see a closure could be
 // invoked through a getter access followed by an invocation.
 
diff --git a/tests/language_2/optimize/inferrer_constructor2_test.dart b/tests/language_2/optimize/inferrer_constructor2_test.dart
index 58da3ad..3b8d026 100644
--- a/tests/language_2/optimize/inferrer_constructor2_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor2_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.9
+
 // Regression test for dart2js that used to optimistically infer the
 // wrong types for fields because of generative constructors being
 // inlined.
diff --git a/tests/language_2/optimize/inferrer_constructor3_test.dart b/tests/language_2/optimize/inferrer_constructor3_test.dart
index f40676d..ab89c9d 100644
--- a/tests/language_2/optimize/inferrer_constructor3_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor3_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.9
+
 // Regression test for dart2js that used to optimistically infer the
 // wrong types for fields because of generative constructors being
 // inlined.
diff --git a/tests/language_2/optimize/inferrer_constructor4_test.dart b/tests/language_2/optimize/inferrer_constructor4_test.dart
index bf9e40d..223ac4a 100644
--- a/tests/language_2/optimize/inferrer_constructor4_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor4_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.9
+
 import "package:expect/expect.dart";
 
 escape(object) {
diff --git a/tests/language_2/optimize/inferrer_constructor5_runtime_test.dart b/tests/language_2/optimize/inferrer_constructor5_runtime_test.dart
index eec6a13..85b718a 100644
--- a/tests/language_2/optimize/inferrer_constructor5_runtime_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor5_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/optimize/inferrer_constructor5_test.dart b/tests/language_2/optimize/inferrer_constructor5_test.dart
index 186b3c9..6ba164b 100644
--- a/tests/language_2/optimize/inferrer_constructor5_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor5_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inferrer_constructor_test.dart b/tests/language_2/optimize/inferrer_constructor_test.dart
index 482ef3c..980a947 100644
--- a/tests/language_2/optimize/inferrer_constructor_test.dart
+++ b/tests/language_2/optimize/inferrer_constructor_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.9
+
 // Test that dart2js type inferrer detects dead code.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/inferrer_named_parameter_test.dart b/tests/language_2/optimize/inferrer_named_parameter_test.dart
index a6655b4..a2edd32 100644
--- a/tests/language_2/optimize/inferrer_named_parameter_test.dart
+++ b/tests/language_2/optimize/inferrer_named_parameter_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.9
+
 // Regression test for dart2js's type inferrer, that used to not
 // correctly infer optional named parameters.
 
diff --git a/tests/language_2/optimize/inferrer_synthesized_constructor_test.dart b/tests/language_2/optimize/inferrer_synthesized_constructor_test.dart
index ca695c3..876befd 100644
--- a/tests/language_2/optimize/inferrer_synthesized_constructor_test.dart
+++ b/tests/language_2/optimize/inferrer_synthesized_constructor_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.9
+
 // Regression test for dart2js's type inferrer that used to not
 // propagate default types in synthesized calls.
 
diff --git a/tests/language_2/optimize/inferrer_synthesized_super_constructor2_test.dart b/tests/language_2/optimize/inferrer_synthesized_super_constructor2_test.dart
index bb183af..7b7bc356 100644
--- a/tests/language_2/optimize/inferrer_synthesized_super_constructor2_test.dart
+++ b/tests/language_2/optimize/inferrer_synthesized_super_constructor2_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.9
+
 bool inConstructor = false;
 
 class A {
diff --git a/tests/language_2/optimize/inferrer_synthesized_super_constructor_test.dart b/tests/language_2/optimize/inferrer_synthesized_super_constructor_test.dart
index 1a7284b..07db1d2 100644
--- a/tests/language_2/optimize/inferrer_synthesized_super_constructor_test.dart
+++ b/tests/language_2/optimize/inferrer_synthesized_super_constructor_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.9
+
 import '../compiler_annotations.dart';
 
 class A {
diff --git a/tests/language_2/optimize/inferrer_this_access_test.dart b/tests/language_2/optimize/inferrer_this_access_test.dart
index 4d1b5fc..2c9c131 100644
--- a/tests/language_2/optimize/inferrer_this_access_test.dart
+++ b/tests/language_2/optimize/inferrer_this_access_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inline_add_constants_to_initial_env_test.dart b/tests/language_2/optimize/inline_add_constants_to_initial_env_test.dart
index cd64f44..04e90c6b 100644
--- a/tests/language_2/optimize/inline_add_constants_to_initial_env_test.dart
+++ b/tests/language_2/optimize/inline_add_constants_to_initial_env_test.dart
@@ -5,6 +5,8 @@
 // constants to original environment.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 h(x, y) => x == y;
 
 g(y, [x0 = 0, x1 = 1, x2 = 2, x3 = 3]) => y + x0 + x1 + x2 + x3;
diff --git a/tests/language_2/optimize/inline_argument_test.dart b/tests/language_2/optimize/inline_argument_test.dart
index 61761c5..9ef9919 100644
--- a/tests/language_2/optimize/inline_argument_test.dart
+++ b/tests/language_2/optimize/inline_argument_test.dart
@@ -4,6 +4,8 @@
 // Test that when inlining A.foo, we're not evaluating the argument
 // twice.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inline_closure_with_constant_arguments_test.dart b/tests/language_2/optimize/inline_closure_with_constant_arguments_test.dart
index 1b33e01..c72511d 100644
--- a/tests/language_2/optimize/inline_closure_with_constant_arguments_test.dart
+++ b/tests/language_2/optimize/inline_closure_with_constant_arguments_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test inlining of a closure call with constant propagation.
diff --git a/tests/language_2/optimize/inline_conditional_test.dart b/tests/language_2/optimize/inline_conditional_test.dart
index ab3e85c..00766fd 100644
--- a/tests/language_2/optimize/inline_conditional_test.dart
+++ b/tests/language_2/optimize/inline_conditional_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.9
+
 // Regression test for dart2js. There was a bug in the variable
 // allocator when a pure (side-effect free) instruction stand
 // in-between an inlined `if` and its inlined expression.
diff --git a/tests/language_2/optimize/inline_effect_context_test.dart b/tests/language_2/optimize/inline_effect_context_test.dart
index 7e83f37..df085fa 100644
--- a/tests/language_2/optimize/inline_effect_context_test.dart
+++ b/tests/language_2/optimize/inline_effect_context_test.dart
@@ -6,6 +6,8 @@
 // with instance of B and cause deoptimization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inline_getter_test.dart b/tests/language_2/optimize/inline_getter_test.dart
index 0384b39..a46d361 100644
--- a/tests/language_2/optimize/inline_getter_test.dart
+++ b/tests/language_2/optimize/inline_getter_test.dart
@@ -6,6 +6,8 @@
 // getter for classes 'A' and 'B'. Call later via 'C' and cause deoptimization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inline_in_for_initializer_and_bailout_test.dart b/tests/language_2/optimize/inline_in_for_initializer_and_bailout_test.dart
index fb97c62..21f8683 100644
--- a/tests/language_2/optimize/inline_in_for_initializer_and_bailout_test.dart
+++ b/tests/language_2/optimize/inline_in_for_initializer_and_bailout_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.9
+
 import "package:expect/expect.dart";
 
 dynamic a = 42;
diff --git a/tests/language_2/optimize/inline_super_field_lib.dart b/tests/language_2/optimize/inline_super_field_lib.dart
index dbc3ea6..d3f232a 100644
--- a/tests/language_2/optimize/inline_super_field_lib.dart
+++ b/tests/language_2/optimize/inline_super_field_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library inline_super_field_lib;
 
 // The comment is inserted to ensure that the offset of [bar] is not within
diff --git a/tests/language_2/optimize/inline_super_field_test.dart b/tests/language_2/optimize/inline_super_field_test.dart
index b3316f9..3b4d8f3 100644
--- a/tests/language_2/optimize/inline_super_field_test.dart
+++ b/tests/language_2/optimize/inline_super_field_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.9
+
 // Test that source maps use the correct compilation unit when super class
 // fields from another compilation unit are inlined.
 
diff --git a/tests/language_2/optimize/inline_super_part.dart b/tests/language_2/optimize/inline_super_part.dart
index 914ff4d..9708bb7 100644
--- a/tests/language_2/optimize/inline_super_part.dart
+++ b/tests/language_2/optimize/inline_super_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of inline_super_test;
 
 class Player extends LivingActor {
diff --git a/tests/language_2/optimize/inline_super_test.dart b/tests/language_2/optimize/inline_super_test.dart
index beffdaa..876fee4 100644
--- a/tests/language_2/optimize/inline_super_test.dart
+++ b/tests/language_2/optimize/inline_super_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.9
+
 // Regression test for dart2js issue 6639.
 
 library inline_super_test;
diff --git a/tests/language_2/optimize/inline_test.dart b/tests/language_2/optimize/inline_test.dart
index 0458c6f..8420bc3 100644
--- a/tests/language_2/optimize/inline_test.dart
+++ b/tests/language_2/optimize/inline_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.9
+
 // Regression test for dart2js that used to produce a non-valid SSA
 // graph when inlining within a loop.
 
diff --git a/tests/language_2/optimize/inline_test_context_test.dart b/tests/language_2/optimize/inline_test_context_test.dart
index 42ad2bf..2c11183 100644
--- a/tests/language_2/optimize/inline_test_context_test.dart
+++ b/tests/language_2/optimize/inline_test_context_test.dart
@@ -6,6 +6,8 @@
 // with instance of B and cause deoptimization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/inline_throw_test.dart b/tests/language_2/optimize/inline_throw_test.dart
index 52f3ef4..e20101f 100644
--- a/tests/language_2/optimize/inline_throw_test.dart
+++ b/tests/language_2/optimize/inline_throw_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.9
+
 // Dart test program to test check that we don't fail to compile when an
 // inlinable method contains a throw.
 
diff --git a/tests/language_2/optimize/inline_value_context_test.dart b/tests/language_2/optimize/inline_value_context_test.dart
index 5bdd909..b876bfb 100644
--- a/tests/language_2/optimize/inline_value_context_test.dart
+++ b/tests/language_2/optimize/inline_value_context_test.dart
@@ -6,6 +6,8 @@
 // with instance of B and cause deoptimization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/isempty_test.dart b/tests/language_2/optimize/isempty_test.dart
index 7b8e77c..08ad4d3 100644
--- a/tests/language_2/optimize/isempty_test.dart
+++ b/tests/language_2/optimize/isempty_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 // Test optimization and polymorphic inlining of String.isEmpty.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/optimize/licm2_test.dart b/tests/language_2/optimize/licm2_test.dart
index 9e82949..4ad5393 100644
--- a/tests/language_2/optimize/licm2_test.dart
+++ b/tests/language_2/optimize/licm2_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.9
+
 // Test that a loop invariant code motion optimization does not try to
 // hoist instructions that may throw.
 
diff --git a/tests/language_2/optimize/licm3_test.dart b/tests/language_2/optimize/licm3_test.dart
index c10a493..15f916c 100644
--- a/tests/language_2/optimize/licm3_test.dart
+++ b/tests/language_2/optimize/licm3_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.9
+
 // Test that a loop invariant code motion optimization correctly hoists
 // instructions that may cause deoptimization.
 
diff --git a/tests/language_2/optimize/licm_test.dart b/tests/language_2/optimize/licm_test.dart
index 002c5d9..3be6145 100644
--- a/tests/language_2/optimize/licm_test.dart
+++ b/tests/language_2/optimize/licm_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.9
+
 import "package:expect/expect.dart";
 
 var sum = 0;
diff --git a/tests/language_2/optimize/lists_test.dart b/tests/language_2/optimize/lists_test.dart
index 4d5b91f..105145f 100644
--- a/tests/language_2/optimize/lists_test.dart
+++ b/tests/language_2/optimize/lists_test.dart
@@ -4,6 +4,8 @@
 // Test program for correct optimizations related to types fo allocated lists.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/optimize/osr_test.dart b/tests/language_2/optimize/osr_test.dart
index 4386648..34a55bf 100644
--- a/tests/language_2/optimize/osr_test.dart
+++ b/tests/language_2/optimize/osr_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--optimization-counter-threshold=5 --no-background-compilation
 // Test correct OSR (issue 16151).
 
+// @dart = 2.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/optimize/phi_merge_test.dart b/tests/language_2/optimize/phi_merge_test.dart
index ab8059c..4f0ac26 100644
--- a/tests/language_2/optimize/phi_merge_test.dart
+++ b/tests/language_2/optimize/phi_merge_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.9
+
 // Regression test for dart2js that used to crash on this code.
 
 class A {
diff --git a/tests/language_2/optimize/pure_function2_test.dart b/tests/language_2/optimize/pure_function2_test.dart
index 61b218e..fb593cf 100644
--- a/tests/language_2/optimize/pure_function2_test.dart
+++ b/tests/language_2/optimize/pure_function2_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 17483.
diff --git a/tests/language_2/optimize/pure_function_test.dart b/tests/language_2/optimize/pure_function_test.dart
index 4bd36be..9d555d2 100644
--- a/tests/language_2/optimize/pure_function_test.dart
+++ b/tests/language_2/optimize/pure_function_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 17483.
diff --git a/tests/language_2/optimize/redundant_array_load_test.dart b/tests/language_2/optimize/redundant_array_load_test.dart
index 44256c7..eb89df6 100644
--- a/tests/language_2/optimize/redundant_array_load_test.dart
+++ b/tests/language_2/optimize/redundant_array_load_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test optimization of redundant array loads.
diff --git a/tests/language_2/optimize/setter_test.dart b/tests/language_2/optimize/setter_test.dart
index 60cf407..682dab8 100644
--- a/tests/language_2/optimize/setter_test.dart
+++ b/tests/language_2/optimize/setter_test.dart
@@ -4,6 +4,8 @@
 // Test various setter situations, testing special cases in optimizing compiler.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/optimize/string_charat_test.dart b/tests/language_2/optimize/string_charat_test.dart
index f3368fe..fd26f79 100644
--- a/tests/language_2/optimize/string_charat_test.dart
+++ b/tests/language_2/optimize/string_charat_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test optimized [] on strings.
diff --git a/tests/language_2/optimize/string_charcodeat_test.dart b/tests/language_2/optimize/string_charcodeat_test.dart
index 149069c..e4205a8 100644
--- a/tests/language_2/optimize/string_charcodeat_test.dart
+++ b/tests/language_2/optimize/string_charcodeat_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 // Test optimized CodeUnitAt and array access.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/override/const_field_test.dart b/tests/language_2/override/const_field_test.dart
index 8018296..f988ee0 100644
--- a/tests/language_2/override/const_field_test.dart
+++ b/tests/language_2/override/const_field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test checking that static/instance field shadowing do not conflict.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/override/field_method1_test.dart b/tests/language_2/override/field_method1_test.dart
index bee5869..bb0cd31 100644
--- a/tests/language_2/override/field_method1_test.dart
+++ b/tests/language_2/override/field_method1_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.9
+
 /// Overriding field with method.
 
 class A {
diff --git a/tests/language_2/override/field_method2_test.dart b/tests/language_2/override/field_method2_test.dart
index 0b5e4b3..6a51724 100644
--- a/tests/language_2/override/field_method2_test.dart
+++ b/tests/language_2/override/field_method2_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.9
+
 /// Overriding getter with method.
 
 class A {
diff --git a/tests/language_2/override/field_method3_test.dart b/tests/language_2/override/field_method3_test.dart
index dbd5cfe..9c9a5dc 100644
--- a/tests/language_2/override/field_method3_test.dart
+++ b/tests/language_2/override/field_method3_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.9
+
 /// Overriding method with field.
 
 class A {
diff --git a/tests/language_2/override/field_method4_test.dart b/tests/language_2/override/field_method4_test.dart
index eecea07..57510ff 100644
--- a/tests/language_2/override/field_method4_test.dart
+++ b/tests/language_2/override/field_method4_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.9
+
 /// Overriding method with getter.
 
 class A {
diff --git a/tests/language_2/override/field_test.dart b/tests/language_2/override/field_test.dart
index 4d7a050..c1657a2 100644
--- a/tests/language_2/override/field_test.dart
+++ b/tests/language_2/override/field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test checking that static/instance field shadowing do not conflict.
 
+// @dart = 2.9
+
 class A {
   int instanceFieldInA;
   static int staticFieldInA;
diff --git a/tests/language_2/override/inheritance_abstract_runtime_1_test.dart b/tests/language_2/override/inheritance_abstract_runtime_1_test.dart
index 97b0057..7fc7af0 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_1_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_2_test.dart b/tests/language_2/override/inheritance_abstract_runtime_2_test.dart
index 2b15235..4bada81 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_2_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_3_test.dart b/tests/language_2/override/inheritance_abstract_runtime_3_test.dart
index c54794a..becf222 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_3_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_4_test.dart b/tests/language_2/override/inheritance_abstract_runtime_4_test.dart
index ddfba63..9a05e06 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_4_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_5_test.dart b/tests/language_2/override/inheritance_abstract_runtime_5_test.dart
index 48a350d..42fd0ae 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_5_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_6_test.dart b/tests/language_2/override/inheritance_abstract_runtime_6_test.dart
index e8b1123..644ab0d 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_6_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_7_test.dart b/tests/language_2/override/inheritance_abstract_runtime_7_test.dart
index e1d3cab..878d9b0 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_7_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_7_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_runtime_test.dart b/tests/language_2/override/inheritance_abstract_runtime_test.dart
index 40685ca..a111388 100644
--- a/tests/language_2/override/inheritance_abstract_runtime_test.dart
+++ b/tests/language_2/override/inheritance_abstract_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/override/inheritance_abstract_test.dart b/tests/language_2/override/inheritance_abstract_test.dart
index 5808673..858cb0a 100644
--- a/tests/language_2/override/inheritance_abstract_test.dart
+++ b/tests/language_2/override/inheritance_abstract_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.9
+
 abstract class A {
   method1();
   method5();
diff --git a/tests/language_2/override/inheritance_field_test.dart b/tests/language_2/override/inheritance_field_test.dart
index 82ee9a9..456a547 100644
--- a/tests/language_2/override/inheritance_field_test.dart
+++ b/tests/language_2/override/inheritance_field_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.9
+
 class A {
   get getter1 => null; //# 01: ok
   num get getter2 => null; //# 02: ok
diff --git a/tests/language_2/override/inheritance_generic_test.dart b/tests/language_2/override/inheritance_generic_test.dart
index 6256bc8..43d6e9d 100644
--- a/tests/language_2/override/inheritance_generic_test.dart
+++ b/tests/language_2/override/inheritance_generic_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.9
+
 class A<T> {
   void method1(T t) => null; //# 01: ok
   void method2(T t) => null; //# 02: compile-time error
diff --git a/tests/language_2/override/inheritance_method2_test.dart b/tests/language_2/override/inheritance_method2_test.dart
index e22571f..1dfad11 100644
--- a/tests/language_2/override/inheritance_method2_test.dart
+++ b/tests/language_2/override/inheritance_method2_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.9
+
 main() {
   new C();
 }
diff --git a/tests/language_2/override/inheritance_method_test.dart b/tests/language_2/override/inheritance_method_test.dart
index 724ac24..3b32e9d 100644
--- a/tests/language_2/override/inheritance_method_test.dart
+++ b/tests/language_2/override/inheritance_method_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.9
+
 // Test static warnings for method overrides.
 
 class A {
diff --git a/tests/language_2/override/inheritance_mixed_test.dart b/tests/language_2/override/inheritance_mixed_test.dart
index d4218d6..bd82c29 100644
--- a/tests/language_2/override/inheritance_mixed_test.dart
+++ b/tests/language_2/override/inheritance_mixed_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.9
+
 class A {
   var member1; //# 01: compile-time error
   member2() {} //# 02: compile-time error
diff --git a/tests/language_2/override/inheritance_no_such_method_test.dart b/tests/language_2/override/inheritance_no_such_method_test.dart
index 535f5a4..0a60b22 100644
--- a/tests/language_2/override/inheritance_no_such_method_test.dart
+++ b/tests/language_2/override/inheritance_no_such_method_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.9
+
 // Test use of noSuchMethod in relation to abstract methods in
 // concrete classes.
 
diff --git a/tests/language_2/override/inheritance_setter_test.dart b/tests/language_2/override/inheritance_setter_test.dart
index f709c75..a3c7a03 100644
--- a/tests/language_2/override/inheritance_setter_test.dart
+++ b/tests/language_2/override/inheritance_setter_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 main() {
   new C();
 }
diff --git a/tests/language_2/override/method_with_field_runtime_test.dart b/tests/language_2/override/method_with_field_runtime_test.dart
index c18d588..6205618 100644
--- a/tests/language_2/override/method_with_field_runtime_test.dart
+++ b/tests/language_2/override/method_with_field_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/override/method_with_field_test.dart b/tests/language_2/override/method_with_field_test.dart
index 7d31ba2..169e411 100644
--- a/tests/language_2/override/method_with_field_test.dart
+++ b/tests/language_2/override/method_with_field_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.9
+
 import "package:expect/expect.dart";
 
 // Test overriding a method with a field.
diff --git a/tests/language_2/parameter/bad_named2_runtime_test.dart b/tests/language_2/parameter/bad_named2_runtime_test.dart
index 5e30826..22780ef 100644
--- a/tests/language_2/parameter/bad_named2_runtime_test.dart
+++ b/tests/language_2/parameter/bad_named2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/parameter/bad_named2_test.dart b/tests/language_2/parameter/bad_named2_test.dart
index 131909b..7198a8a 100644
--- a/tests/language_2/parameter/bad_named2_test.dart
+++ b/tests/language_2/parameter/bad_named2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing bad named parameters.
 
+// @dart = 2.9
+
 class BadNamedParameters2Test {
   int foo(int a) {
     // Although no optional named parameters are declared, we must check that
diff --git a/tests/language_2/parameter/bad_named_parameters_test.dart b/tests/language_2/parameter/bad_named_parameters_test.dart
index aa36c13..94e841b 100644
--- a/tests/language_2/parameter/bad_named_parameters_test.dart
+++ b/tests/language_2/parameter/bad_named_parameters_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing bad named parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class BadNamedParametersTest {
diff --git a/tests/language_2/parameter/bad_named_runtime_test.dart b/tests/language_2/parameter/bad_named_runtime_test.dart
index 66e75ee..0eaedcd 100644
--- a/tests/language_2/parameter/bad_named_runtime_test.dart
+++ b/tests/language_2/parameter/bad_named_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/parameter/default_test.dart b/tests/language_2/parameter/default_test.dart
index 3e5b990..4dad097 100644
--- a/tests/language_2/parameter/default_test.dart
+++ b/tests/language_2/parameter/default_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.9
+
 class C {
   foo(a
       : 1 // //# 01: syntax error
diff --git a/tests/language_2/parameter/initializer1_test.dart b/tests/language_2/parameter/initializer1_test.dart
index 34465a4..ee2d304 100644
--- a/tests/language_2/parameter/initializer1_test.dart
+++ b/tests/language_2/parameter/initializer1_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.9
+
 /// Fails because this.x parameter is used in a function.
 
 class Foo {
diff --git a/tests/language_2/parameter/initializer2_test.dart b/tests/language_2/parameter/initializer2_test.dart
index ac5e0ce..53941bf 100644
--- a/tests/language_2/parameter/initializer2_test.dart
+++ b/tests/language_2/parameter/initializer2_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.9
+
 import "package:expect/expect.dart";
 
 // Test Parameter Intializer.
diff --git a/tests/language_2/parameter/initializer3_test.dart b/tests/language_2/parameter/initializer3_test.dart
index bf81a6d..22db707 100644
--- a/tests/language_2/parameter/initializer3_test.dart
+++ b/tests/language_2/parameter/initializer3_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.9
+
 /// Fails because this.x parameter is used in a factory.
 
 class Foo {
diff --git a/tests/language_2/parameter/initializer4_test.dart b/tests/language_2/parameter/initializer4_test.dart
index 49cf633..ff49426 100644
--- a/tests/language_2/parameter/initializer4_test.dart
+++ b/tests/language_2/parameter/initializer4_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.9
+
 /// Fails because this.x parameter is used in a static function.
 
 class Foo {
diff --git a/tests/language_2/parameter/initializer5_test.dart b/tests/language_2/parameter/initializer5_test.dart
index 8bdd968..d0d500b 100644
--- a/tests/language_2/parameter/initializer5_test.dart
+++ b/tests/language_2/parameter/initializer5_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.9
+
 // Use the this.x parameter in an initializer expression.
 
 class Foo {
diff --git a/tests/language_2/parameter/initializer6_test.dart b/tests/language_2/parameter/initializer6_test.dart
index 117a0c3..0f3812b 100644
--- a/tests/language_2/parameter/initializer6_test.dart
+++ b/tests/language_2/parameter/initializer6_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.9
+
 import "package:expect/expect.dart";
 
 /// It is a compile-time error if a named formal parameter begins with an '_'.
diff --git a/tests/language_2/parameter/initializer7_test.dart b/tests/language_2/parameter/initializer7_test.dart
index b1bca78..ee253d1 100644
--- a/tests/language_2/parameter/initializer7_test.dart
+++ b/tests/language_2/parameter/initializer7_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.9
+
 /// Fails because this.x parameter is used in a setter.
 
 class Foo {
diff --git a/tests/language_2/parameter/initializer_test.dart b/tests/language_2/parameter/initializer_test.dart
index 1696703..3a558e3 100644
--- a/tests/language_2/parameter/initializer_test.dart
+++ b/tests/language_2/parameter/initializer_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.9
+
 import "package:expect/expect.dart";
 
 class ParameterInitializerTest {
diff --git a/tests/language_2/parameter/metadata_test.dart b/tests/language_2/parameter/metadata_test.dart
index 706ff11..8ad871b 100644
--- a/tests/language_2/parameter/metadata_test.dart
+++ b/tests/language_2/parameter/metadata_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.9
+
 // Test that metadata annotations can be handled on nested parameters.
 
 test(
diff --git a/tests/language_2/parameter/name_conflict_test.dart b/tests/language_2/parameter/name_conflict_test.dart
index 3f238da..8e5764f 100644
--- a/tests/language_2/parameter/name_conflict_test.dart
+++ b/tests/language_2/parameter/name_conflict_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.9
+
 import "package:expect/expect.dart";
 
 foo(t0) {
diff --git a/tests/language_2/parameter/named2_test.dart b/tests/language_2/parameter/named2_test.dart
index 8465782..de1413c 100644
--- a/tests/language_2/parameter/named2_test.dart
+++ b/tests/language_2/parameter/named2_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing named parameters.
 // You may not provide the same parameter as both a positional and a named argument.
 
+// @dart = 2.9
+
 int test(int a, [int b]) {
   return a;
 }
diff --git a/tests/language_2/parameter/named3_test.dart b/tests/language_2/parameter/named3_test.dart
index 42ab0dc..fcd8a23 100644
--- a/tests/language_2/parameter/named3_test.dart
+++ b/tests/language_2/parameter/named3_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing named parameters.
 // Specifying named argument for not existing named parameter is run time error.
 
+// @dart = 2.9
+
 int test(int a, [int b]) {
   return a;
 }
diff --git a/tests/language_2/parameter/named4_test.dart b/tests/language_2/parameter/named4_test.dart
index 5701758..509b86d 100644
--- a/tests/language_2/parameter/named4_test.dart
+++ b/tests/language_2/parameter/named4_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing named parameters.
 // Specifying named argument for not existing named parameter is run time error.
 
+// @dart = 2.9
+
 // This test is very similar to NamedParameters3Test, but exercises a
 // different corner case in the frog compiler. frog wasn't detecting unused
 // named arguments when no other arguments were expected. So, this test
diff --git a/tests/language_2/parameter/named_aggregated_runtime_test.dart b/tests/language_2/parameter/named_aggregated_runtime_test.dart
index eaf37fb..8c71105 100644
--- a/tests/language_2/parameter/named_aggregated_runtime_test.dart
+++ b/tests/language_2/parameter/named_aggregated_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/parameter/named_aggregated_test.dart b/tests/language_2/parameter/named_aggregated_test.dart
index 9c2cd70..485af9b 100644
--- a/tests/language_2/parameter/named_aggregated_test.dart
+++ b/tests/language_2/parameter/named_aggregated_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing named parameters.
 
+// @dart = 2.9
+
 class TypeTester<T> {}
 
 // Expect compile-time error as no default values are allowed
diff --git a/tests/language_2/parameter/named_clash_test.dart b/tests/language_2/parameter/named_clash_test.dart
index aefcbf8..2ec2399 100644
--- a/tests/language_2/parameter/named_clash_test.dart
+++ b/tests/language_2/parameter/named_clash_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.9
+
 import 'package:expect/expect.dart';
 
 class Foo {
diff --git a/tests/language_2/parameter/named_count_test.dart b/tests/language_2/parameter/named_count_test.dart
index 80f9e38..0000fc1 100644
--- a/tests/language_2/parameter/named_count_test.dart
+++ b/tests/language_2/parameter/named_count_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.9
+
 import "package:expect/expect.dart";
 
 // Test for named parameter called 'count'.
diff --git a/tests/language_2/parameter/named_default_eq_runtime_test.dart b/tests/language_2/parameter/named_default_eq_runtime_test.dart
index 66bf165..a78cae6 100644
--- a/tests/language_2/parameter/named_default_eq_runtime_test.dart
+++ b/tests/language_2/parameter/named_default_eq_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/parameter/named_default_eq_test.dart b/tests/language_2/parameter/named_default_eq_test.dart
index 4e991c8..4884666 100644
--- a/tests/language_2/parameter/named_default_eq_test.dart
+++ b/tests/language_2/parameter/named_default_eq_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.9
+
 // Check that both `=` and `:` are allowed for named parameters.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/parameter/named_parameters_test.dart b/tests/language_2/parameter/named_parameters_test.dart
index 3f1ee9c..7f75468 100644
--- a/tests/language_2/parameter/named_parameters_test.dart
+++ b/tests/language_2/parameter/named_parameters_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing named parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class NamedParametersTest {
diff --git a/tests/language_2/parameter/named_passing_false_test.dart b/tests/language_2/parameter/named_passing_false_test.dart
index 048711b..75c79bd 100644
--- a/tests/language_2/parameter/named_passing_false_test.dart
+++ b/tests/language_2/parameter/named_passing_false_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing named parameters with 'false' passed as an
diff --git a/tests/language_2/parameter/named_passing_falsy_test.dart b/tests/language_2/parameter/named_passing_falsy_test.dart
index e17b75a..7644fff 100644
--- a/tests/language_2/parameter/named_passing_falsy_test.dart
+++ b/tests/language_2/parameter/named_passing_falsy_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing named parameters with various values that might
diff --git a/tests/language_2/parameter/named_passing_null_test.dart b/tests/language_2/parameter/named_passing_null_test.dart
index ce7573d..d6ab9f2 100644
--- a/tests/language_2/parameter/named_passing_null_test.dart
+++ b/tests/language_2/parameter/named_passing_null_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing named parameters with 'null' passed as an
diff --git a/tests/language_2/parameter/named_passing_zero_test.dart b/tests/language_2/parameter/named_passing_zero_test.dart
index 02afcfe..6a9b826 100644
--- a/tests/language_2/parameter/named_passing_zero_test.dart
+++ b/tests/language_2/parameter/named_passing_zero_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing named parameters with zero passed as an
diff --git a/tests/language_2/parameter/named_regression_test.dart b/tests/language_2/parameter/named_regression_test.dart
index a702464..82581a7 100644
--- a/tests/language_2/parameter/named_regression_test.dart
+++ b/tests/language_2/parameter/named_regression_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.9
+
 // A regression test for dart2js bug 6015.
 
 class Fisk {
diff --git a/tests/language_2/parameter/named_runtime_test.dart b/tests/language_2/parameter/named_runtime_test.dart
index ace45ef..dc58135 100644
--- a/tests/language_2/parameter/named_runtime_test.dart
+++ b/tests/language_2/parameter/named_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/parameter/named_type_runtime_test.dart b/tests/language_2/parameter/named_type_runtime_test.dart
index a3a8ff1..a9ee03a 100644
--- a/tests/language_2/parameter/named_type_runtime_test.dart
+++ b/tests/language_2/parameter/named_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/parameter/named_type_test.dart b/tests/language_2/parameter/named_type_test.dart
index 7cb2cdf..34dbf29 100644
--- a/tests/language_2/parameter/named_type_test.dart
+++ b/tests/language_2/parameter/named_type_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing optional named parameters in type tests.
 
+// @dart = 2.9
+
 main() {
   Function anyFunction;
   void acceptFunNumOptBool(void funNumOptBool(num n, {bool b})) {}
diff --git a/tests/language_2/parameter/named_with_conversions_test.dart b/tests/language_2/parameter/named_with_conversions_test.dart
index 5b949e6..0e640dc 100644
--- a/tests/language_2/parameter/named_with_conversions_test.dart
+++ b/tests/language_2/parameter/named_with_conversions_test.dart
@@ -6,6 +6,8 @@
 // method is called via function call syntax or method call syntax.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 Validate(tag, a, b) {
diff --git a/tests/language_2/parameter/named_with_dollars_test.dart b/tests/language_2/parameter/named_with_dollars_test.dart
index 9088af4..644771f 100644
--- a/tests/language_2/parameter/named_with_dollars_test.dart
+++ b/tests/language_2/parameter/named_with_dollars_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.9
+
 import "package:expect/expect.dart";
 
 // Test to stress Frog's named parameter scheme.
diff --git a/tests/language_2/parameter/named_with_object_property_names_test.dart b/tests/language_2/parameter/named_with_object_property_names_test.dart
index e4005b6..b448f20 100644
--- a/tests/language_2/parameter/named_with_object_property_names_test.dart
+++ b/tests/language_2/parameter/named_with_object_property_names_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.9
+
 import "package:expect/expect.dart";
 
 // Test for named parameter with the name of a JavaScript property found on
diff --git a/tests/language_2/parameter/optional_named_runtime_test.dart b/tests/language_2/parameter/optional_named_runtime_test.dart
index f02243a..2809398 100644
--- a/tests/language_2/parameter/optional_named_runtime_test.dart
+++ b/tests/language_2/parameter/optional_named_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/parameter/optional_named_test.dart b/tests/language_2/parameter/optional_named_test.dart
index ba2af7d..17a3292 100644
--- a/tests/language_2/parameter/optional_named_test.dart
+++ b/tests/language_2/parameter/optional_named_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing optional named parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class OptionalNamedParametersTest {
diff --git a/tests/language_2/parameter/param_test.dart b/tests/language_2/parameter/param_test.dart
index b0be01d..579bf6e 100644
--- a/tests/language_2/parameter/param_test.dart
+++ b/tests/language_2/parameter/param_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing params.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/parameter/parameter1_test.dart b/tests/language_2/parameter/parameter1_test.dart
index 4c8c0a0..67de1cb 100644
--- a/tests/language_2/parameter/parameter1_test.dart
+++ b/tests/language_2/parameter/parameter1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing params.
 
+// @dart = 2.9
+
 class Param1Test {
   // TODO(asiva): Should we try to interpret 1 above as an int? In order to
   // avoid a type error with --enable_type_checks, the type of i below is
diff --git a/tests/language_2/parameter/parameter2_test.dart b/tests/language_2/parameter/parameter2_test.dart
index 2f075a1..67ae462 100644
--- a/tests/language_2/parameter/parameter2_test.dart
+++ b/tests/language_2/parameter/parameter2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing function type parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Param2Test {
diff --git a/tests/language_2/parameter/positional_type_runtime_test.dart b/tests/language_2/parameter/positional_type_runtime_test.dart
index 87d1516..50901a3 100644
--- a/tests/language_2/parameter/positional_type_runtime_test.dart
+++ b/tests/language_2/parameter/positional_type_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/parameter/positional_type_test.dart b/tests/language_2/parameter/positional_type_test.dart
index 4bb4aa1..8e96699 100644
--- a/tests/language_2/parameter/positional_type_test.dart
+++ b/tests/language_2/parameter/positional_type_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing optional positional parameters in type tests.
 
+// @dart = 2.9
+
 main() {
   Function anyFunction;
   void acceptFunNumOptBool(void funNumOptBool(num n, [bool b])) {}
diff --git a/tests/language_2/parameter/types_specialization_test.dart b/tests/language_2/parameter/types_specialization_test.dart
index 532a7a7..5dae22e 100644
--- a/tests/language_2/parameter/types_specialization_test.dart
+++ b/tests/language_2/parameter/types_specialization_test.dart
@@ -4,6 +4,8 @@
 // Test that we invalidate parameter type optimization in the presence
 // of optional parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/part/missing_part_of_tag_part.dart b/tests/language_2/part/missing_part_of_tag_part.dart
index c4618bc..479f0d4 100644
--- a/tests/language_2/part/missing_part_of_tag_part.dart
+++ b/tests/language_2/part/missing_part_of_tag_part.dart
@@ -1,3 +1,5 @@
 // Copyright (c) 2013, 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.9
diff --git a/tests/language_2/part/missing_part_of_tag_test.dart b/tests/language_2/part/missing_part_of_tag_test.dart
index ea91f42..5ac9b50 100644
--- a/tests/language_2/part/missing_part_of_tag_test.dart
+++ b/tests/language_2/part/missing_part_of_tag_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.9
+
 // Test for missing part-of tag.
 
 library lib;
diff --git a/tests/language_2/part/of_multiple_libs_lib.dart b/tests/language_2/part/of_multiple_libs_lib.dart
index e1d5306..9eebf16 100644
--- a/tests/language_2/part/of_multiple_libs_lib.dart
+++ b/tests/language_2/part/of_multiple_libs_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library ambiguous_lib;
 
 part "of_multiple_libs_part.dart";
diff --git a/tests/language_2/part/of_multiple_libs_part.dart b/tests/language_2/part/of_multiple_libs_part.dart
index 4ac530b..023bab5 100644
--- a/tests/language_2/part/of_multiple_libs_part.dart
+++ b/tests/language_2/part/of_multiple_libs_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of ambiguous_lib;
 
 bar() {}
diff --git a/tests/language_2/part/of_multiple_libs_runtime_test.dart b/tests/language_2/part/of_multiple_libs_runtime_test.dart
index 31b3e8d..96cfb95 100644
--- a/tests/language_2/part/of_multiple_libs_runtime_test.dart
+++ b/tests/language_2/part/of_multiple_libs_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/part/of_multiple_libs_test.dart b/tests/language_2/part/of_multiple_libs_test.dart
index 811617b..3fa76ca 100644
--- a/tests/language_2/part/of_multiple_libs_test.dart
+++ b/tests/language_2/part/of_multiple_libs_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.9
+
 library ambiguous_lib;
 
 import 'of_multiple_libs_lib.dart';
diff --git a/tests/language_2/part/of_uri2_part.dart b/tests/language_2/part/of_uri2_part.dart
index 2893a74..11ee3f4 100644
--- a/tests/language_2/part/of_uri2_part.dart
+++ b/tests/language_2/part/of_uri2_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of "of_uri2_test.dart";
 
 // Refer to declaration in library and other part.
diff --git a/tests/language_2/part/of_uri2_part2.dart b/tests/language_2/part/of_uri2_part2.dart
index 0b049fb..bb093eb 100644
--- a/tests/language_2/part/of_uri2_part2.dart
+++ b/tests/language_2/part/of_uri2_part2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of part_of_uri2;
 
 // Refer to declaration in library and other part.
diff --git a/tests/language_2/part/of_uri2_test.dart b/tests/language_2/part/of_uri2_test.dart
index ae0a12d..1b63b56 100644
--- a/tests/language_2/part/of_uri2_test.dart
+++ b/tests/language_2/part/of_uri2_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.9
+
 library part_of_uri2;
 
 part "of_uri2_part.dart"; // declares bar1, baz1, uses URI.
diff --git a/tests/language_2/part/of_uri_part.dart b/tests/language_2/part/of_uri_part.dart
index 65e9fd7..6c9c100 100644
--- a/tests/language_2/part/of_uri_part.dart
+++ b/tests/language_2/part/of_uri_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of "of_uri_test.dart";
 
 // Refer to declaration in library and other part.
diff --git a/tests/language_2/part/of_uri_part2.dart b/tests/language_2/part/of_uri_part2.dart
index 9facbf4..ec19b10 100644
--- a/tests/language_2/part/of_uri_part2.dart
+++ b/tests/language_2/part/of_uri_part2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of "of_uri_test.dart";
 
 // Refer to declaration in library and other part.
diff --git a/tests/language_2/part/of_uri_test.dart b/tests/language_2/part/of_uri_test.dart
index acb568d..a1cef56 100644
--- a/tests/language_2/part/of_uri_test.dart
+++ b/tests/language_2/part/of_uri_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.9
+
 // No library declaration
 part "of_uri_part.dart"; // declares bar1, baz1
 part "of_uri_part2.dart"; // declares bar2, baz2
diff --git a/tests/language_2/part/part.dart b/tests/language_2/part/part.dart
index 6c255db..3e28359 100644
--- a/tests/language_2/part/part.dart
+++ b/tests/language_2/part/part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of org.dartlang.test.part_test;
 
 const foo = 'foo';
diff --git a/tests/language_2/part/part2_test.dart b/tests/language_2/part/part2_test.dart
index 706bc1f..dd92d83 100644
--- a/tests/language_2/part/part2_test.dart
+++ b/tests/language_2/part/part2_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.9
+
 library org.dartlang.test.part2_test;
 
 part "part.dart"; //# 01: compile-time error
diff --git a/tests/language_2/part/part_test.dart b/tests/language_2/part/part_test.dart
index cc6cd77..f4829e7 100644
--- a/tests/language_2/part/part_test.dart
+++ b/tests/language_2/part/part_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.9
+
 library org.dartlang.test.part_test;
 
 part "part.dart";
diff --git a/tests/language_2/part/refers_to_core_library_runtime_test.dart b/tests/language_2/part/refers_to_core_library_runtime_test.dart
index e9abfec..9b10a6c 100644
--- a/tests/language_2/part/refers_to_core_library_runtime_test.dart
+++ b/tests/language_2/part/refers_to_core_library_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/part/refers_to_core_library_test.dart b/tests/language_2/part/refers_to_core_library_test.dart
deleted file mode 100644
index 4eb8dc7..0000000
--- a/tests/language_2/part/refers_to_core_library_test.dart
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2017, 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.
-
-// This test reproduces https://github.com/dart-lang/sdk/issues/29709.
-
-library dart.async;
-
-part 'dart:async/future.dart';
-//   ^
-// [cfe] Can't use 'org-dartlang-untranslatable-uri:dart%3Aasync%2Ffuture.dart' as a part, because it has no 'part of' declaration.
-//   ^
-// [cfe] Not found: 'dart:async/future.dart'
-
-main() {}
diff --git a/tests/language_2/part/self_test.dart b/tests/language_2/part/self_test.dart
index cc3e777..8298f3c 100644
--- a/tests/language_2/part/self_test.dart
+++ b/tests/language_2/part/self_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.9
+
 part "self_test.dart";
 //   ^^^^^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.PART_OF_NON_PART
diff --git a/tests/language_2/prefix/assignment_runtime_test.dart b/tests/language_2/prefix/assignment_runtime_test.dart
index c33c8f5..de7ec2b 100644
--- a/tests/language_2/prefix/assignment_runtime_test.dart
+++ b/tests/language_2/prefix/assignment_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/prefix/assignment_test.dart b/tests/language_2/prefix/assignment_test.dart
index 5a32011..bed6119 100644
--- a/tests/language_2/prefix/assignment_test.dart
+++ b/tests/language_2/prefix/assignment_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.9
+
 // Validate that assignment to a prefix is handled consistently with the
 // following spec text from section 16.19 (Assignment):
 //     Evaluation of an assignment a of the form v = e proceeds as follows:
diff --git a/tests/language_2/prefix/empty_library.dart b/tests/language_2/prefix/empty_library.dart
index fe101dc..073586f 100644
--- a/tests/language_2/prefix/empty_library.dart
+++ b/tests/language_2/prefix/empty_library.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.9
+
 library empty_library;
diff --git a/tests/language_2/prefix/identifier_reference_test.dart b/tests/language_2/prefix/identifier_reference_test.dart
index e59b6fe..6dcb682 100644
--- a/tests/language_2/prefix/identifier_reference_test.dart
+++ b/tests/language_2/prefix/identifier_reference_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.9
+
 // Validate the following spec text from section 16.32 (Identifier Reference):
 //     Evaluation of an identifier expression e of the form id proceeds as
 //   follows:
diff --git a/tests/language_2/prefix/import_collision_runtime_test.dart b/tests/language_2/prefix/import_collision_runtime_test.dart
index e0dc3c0..219a701 100644
--- a/tests/language_2/prefix/import_collision_runtime_test.dart
+++ b/tests/language_2/prefix/import_collision_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/import_collision_test.dart b/tests/language_2/prefix/import_collision_test.dart
index 0f561f8..c97ff67 100644
--- a/tests/language_2/prefix/import_collision_test.dart
+++ b/tests/language_2/prefix/import_collision_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.9
+
 // Using the same prefix name while importing two different libraries is
 // not an error but both library1.dart and library2.dart define 'foo' which
 // results in a duplicate definition error.
diff --git a/tests/language_2/prefix/invalid_name_runtime_test.dart b/tests/language_2/prefix/invalid_name_runtime_test.dart
index a2a71f1..a88c4d0 100644
--- a/tests/language_2/prefix/invalid_name_runtime_test.dart
+++ b/tests/language_2/prefix/invalid_name_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/invalid_name_test.dart b/tests/language_2/prefix/invalid_name_test.dart
index 7ee08b1..b513fad 100644
--- a/tests/language_2/prefix/invalid_name_test.dart
+++ b/tests/language_2/prefix/invalid_name_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.9
+
 // Prefix must be a valid identifier.
 import "../library1.dart"
     as lib1.invalid
diff --git a/tests/language_2/prefix/new_test.dart b/tests/language_2/prefix/new_test.dart
index 23c7834..a056bdf 100644
--- a/tests/language_2/prefix/new_test.dart
+++ b/tests/language_2/prefix/new_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.9
+
 library PrefixTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/new_test1.dart b/tests/language_2/prefix/new_test1.dart
index 106de80..98c0e76 100644
--- a/tests/language_2/prefix/new_test1.dart
+++ b/tests/language_2/prefix/new_test1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library PrefixTest1;
 
 import "test2.dart" as test2;
diff --git a/tests/language_2/prefix/new_test2.dart b/tests/language_2/prefix/new_test2.dart
index 75a5c6e..c23f84d 100644
--- a/tests/language_2/prefix/new_test2.dart
+++ b/tests/language_2/prefix/new_test2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library PrefixNewTest2;
 
 class Prefix {
diff --git a/tests/language_2/prefix/prefix101_test.dart b/tests/language_2/prefix/prefix101_test.dart
index b479e6d..cc2570f 100644
--- a/tests/language_2/prefix/prefix101_test.dart
+++ b/tests/language_2/prefix/prefix101_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.9
+
 // Test to check if we are able to import multiple libraries using the
 // same prefix.
 
diff --git a/tests/language_2/prefix/prefix10_test.dart b/tests/language_2/prefix/prefix10_test.dart
index 3e0853c..dbcd3fd 100644
--- a/tests/language_2/prefix/prefix10_test.dart
+++ b/tests/language_2/prefix/prefix10_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.9
+
 library Prefix10Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix11_test.dart b/tests/language_2/prefix/prefix11_test.dart
index ec09c33..b621f9e 100644
--- a/tests/language_2/prefix/prefix11_test.dart
+++ b/tests/language_2/prefix/prefix11_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library Prefix11Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix12_test.dart b/tests/language_2/prefix/prefix12_test.dart
index 5ce98bd..eeca286 100644
--- a/tests/language_2/prefix/prefix12_test.dart
+++ b/tests/language_2/prefix/prefix12_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 library Prefix12Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix14_test.dart b/tests/language_2/prefix/prefix14_test.dart
index f9d5c68..a72ae2d 100644
--- a/tests/language_2/prefix/prefix14_test.dart
+++ b/tests/language_2/prefix/prefix14_test.dart
@@ -4,6 +4,8 @@
 //
 // Use qualified symbols at various places.
 
+// @dart = 2.9
+
 library Prefix14Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix15_test.dart b/tests/language_2/prefix/prefix15_test.dart
index 123ae99..85e6f16 100644
--- a/tests/language_2/prefix/prefix15_test.dart
+++ b/tests/language_2/prefix/prefix15_test.dart
@@ -4,6 +4,8 @@
 //
 // Use qualified symbols with generics at various places.
 
+// @dart = 2.9
+
 library Prefix15Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix16_runtime_test.dart b/tests/language_2/prefix/prefix16_runtime_test.dart
index 718777f..465bc05 100644
--- a/tests/language_2/prefix/prefix16_runtime_test.dart
+++ b/tests/language_2/prefix/prefix16_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/prefix16_test.dart b/tests/language_2/prefix/prefix16_test.dart
index 874b910..e3f4ad9 100644
--- a/tests/language_2/prefix/prefix16_test.dart
+++ b/tests/language_2/prefix/prefix16_test.dart
@@ -6,6 +6,8 @@
 // In this test, the function myFunc contains malformed types because
 // lib12.Library13 is not resolved.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "../library12.dart" as lib12;
 
diff --git a/tests/language_2/prefix/prefix17_test.dart b/tests/language_2/prefix/prefix17_test.dart
index 4af6f96..1bbadd8 100644
--- a/tests/language_2/prefix/prefix17_test.dart
+++ b/tests/language_2/prefix/prefix17_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.9
+
 library Prefix17Test.dart;
 
 import "../library12.dart" as lib12;
diff --git a/tests/language_2/prefix/prefix21_bad_lib.dart b/tests/language_2/prefix/prefix21_bad_lib.dart
index 1869a7f..4bd7201 100644
--- a/tests/language_2/prefix/prefix21_bad_lib.dart
+++ b/tests/language_2/prefix/prefix21_bad_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library Prefix21Bad;
 
 int badFunction(int x) {
diff --git a/tests/language_2/prefix/prefix21_good_lib.dart b/tests/language_2/prefix/prefix21_good_lib.dart
index 2557726..1f1b3e3 100644
--- a/tests/language_2/prefix/prefix21_good_lib.dart
+++ b/tests/language_2/prefix/prefix21_good_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library Prefix21Good;
 
 int goodFunction(int x) {
diff --git a/tests/language_2/prefix/prefix21_test.dart b/tests/language_2/prefix/prefix21_test.dart
index bcaebd1..1c1121e 100644
--- a/tests/language_2/prefix/prefix21_test.dart
+++ b/tests/language_2/prefix/prefix21_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.9
+
 library Prefix21;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix22_runtime_test.dart b/tests/language_2/prefix/prefix22_runtime_test.dart
index 286256a..178ab0d 100644
--- a/tests/language_2/prefix/prefix22_runtime_test.dart
+++ b/tests/language_2/prefix/prefix22_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/prefix/prefix22_test.dart b/tests/language_2/prefix/prefix22_test.dart
index e28423d..95d0827 100644
--- a/tests/language_2/prefix/prefix22_test.dart
+++ b/tests/language_2/prefix/prefix22_test.dart
@@ -5,6 +5,8 @@
 // Unresolved symbols should be reported as static type warnings.
 // This should not prevent execution.
 
+// @dart = 2.9
+
 library Prefix21NegativeTest.dart;
 import "../library12.dart" as lib12;
 
diff --git a/tests/language_2/prefix/prefix23_runtime_test.dart b/tests/language_2/prefix/prefix23_runtime_test.dart
index 6ab1736..6d59d60d 100644
--- a/tests/language_2/prefix/prefix23_runtime_test.dart
+++ b/tests/language_2/prefix/prefix23_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/prefix23_test.dart b/tests/language_2/prefix/prefix23_test.dart
index ef85f1f..a5c7b948 100644
--- a/tests/language_2/prefix/prefix23_test.dart
+++ b/tests/language_2/prefix/prefix23_test.dart
@@ -5,6 +5,8 @@
 // Unresolved symbols should be reported as an static type warnings.
 // This should not prevent execution.
 
+// @dart = 2.9
+
 library Prefix23Test.dart;
 
 import "../library12.dart" as lib12;
diff --git a/tests/language_2/prefix/prefix24_lib1.dart b/tests/language_2/prefix/prefix24_lib1.dart
index 557ed84..aca4e95 100644
--- a/tests/language_2/prefix/prefix24_lib1.dart
+++ b/tests/language_2/prefix/prefix24_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.9
+
 library prefix24_lib1;
 
 import "prefix24_lib2.dart" as X;
diff --git a/tests/language_2/prefix/prefix24_lib2.dart b/tests/language_2/prefix/prefix24_lib2.dart
index d4dd592..1a93567 100644
--- a/tests/language_2/prefix/prefix24_lib2.dart
+++ b/tests/language_2/prefix/prefix24_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.9
+
 library prefix24_lib2;
 
 bar() => "prefix24_lib2_bar";
diff --git a/tests/language_2/prefix/prefix24_lib3.dart b/tests/language_2/prefix/prefix24_lib3.dart
index 4490f9b..5a41739 100644
--- a/tests/language_2/prefix/prefix24_lib3.dart
+++ b/tests/language_2/prefix/prefix24_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.9
+
 library prefix24_lib3;
 
 class X {
diff --git a/tests/language_2/prefix/prefix24_test.dart b/tests/language_2/prefix/prefix24_test.dart
index 1e2f4e6..da8f1f3 100644
--- a/tests/language_2/prefix/prefix24_test.dart
+++ b/tests/language_2/prefix/prefix24_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.9
+
 library prefix24_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/prefix_test.dart b/tests/language_2/prefix/prefix_test.dart
index bcecae7..a5341d6 100644
--- a/tests/language_2/prefix/prefix_test.dart
+++ b/tests/language_2/prefix/prefix_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.9
+
 library PrefixTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/shadow_runtime_test.dart b/tests/language_2/prefix/shadow_runtime_test.dart
index dc83ce3..abab315 100644
--- a/tests/language_2/prefix/shadow_runtime_test.dart
+++ b/tests/language_2/prefix/shadow_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/shadow_test.dart b/tests/language_2/prefix/shadow_test.dart
index 1af4c58..ef22825 100644
--- a/tests/language_2/prefix/shadow_test.dart
+++ b/tests/language_2/prefix/shadow_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.9
+
 // Type parameters can shadow a library prefix.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/prefix/test1.dart b/tests/language_2/prefix/test1.dart
index a9c546c..62e6567 100644
--- a/tests/language_2/prefix/test1.dart
+++ b/tests/language_2/prefix/test1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library PrefixTest1.dart;
 
 import "test2.dart" as prefix;
diff --git a/tests/language_2/prefix/test2.dart b/tests/language_2/prefix/test2.dart
index 8538ca3..4042663 100644
--- a/tests/language_2/prefix/test2.dart
+++ b/tests/language_2/prefix/test2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library PrefixTest2.dart;
 
 class Prefix {
diff --git a/tests/language_2/prefix/transitive_import_prefix_runtime_test.dart b/tests/language_2/prefix/transitive_import_prefix_runtime_test.dart
index 7b016cc..78a0ece 100644
--- a/tests/language_2/prefix/transitive_import_prefix_runtime_test.dart
+++ b/tests/language_2/prefix/transitive_import_prefix_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/transitive_import_prefix_test.dart b/tests/language_2/prefix/transitive_import_prefix_test.dart
index 3365f2f..b9e526c 100644
--- a/tests/language_2/prefix/transitive_import_prefix_test.dart
+++ b/tests/language_2/prefix/transitive_import_prefix_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2011, 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.9
 import "../library10.dart";
 
 main() {
diff --git a/tests/language_2/prefix/transitive_import_runtime_test.dart b/tests/language_2/prefix/transitive_import_runtime_test.dart
index 6c130f6..b098e60 100644
--- a/tests/language_2/prefix/transitive_import_runtime_test.dart
+++ b/tests/language_2/prefix/transitive_import_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/transitive_import_test.dart b/tests/language_2/prefix/transitive_import_test.dart
index ef53584..65b7b94 100644
--- a/tests/language_2/prefix/transitive_import_test.dart
+++ b/tests/language_2/prefix/transitive_import_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.9
+
 // Symbols in libraries imported by the prefixed library should not be visible.
 
 import "../library12.dart" as lib12;
diff --git a/tests/language_2/prefix/unqualified_invocation_runtime_test.dart b/tests/language_2/prefix/unqualified_invocation_runtime_test.dart
index 0841ed0..b74d671 100644
--- a/tests/language_2/prefix/unqualified_invocation_runtime_test.dart
+++ b/tests/language_2/prefix/unqualified_invocation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/prefix/unqualified_invocation_test.dart b/tests/language_2/prefix/unqualified_invocation_test.dart
index decb209..8294dfb 100644
--- a/tests/language_2/prefix/unqualified_invocation_test.dart
+++ b/tests/language_2/prefix/unqualified_invocation_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.9
+
 // Validate the following spec text from section 16.14.3 (Unqualified
 // invocation):
 //     An unqualifiedfunction invocation i has the form
diff --git a/tests/language_2/prefix/unresolved_class_runtime_test.dart b/tests/language_2/prefix/unresolved_class_runtime_test.dart
index 17442cc..32efe0b 100644
--- a/tests/language_2/prefix/unresolved_class_runtime_test.dart
+++ b/tests/language_2/prefix/unresolved_class_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/unresolved_class_test.dart b/tests/language_2/prefix/unresolved_class_test.dart
index dd46a62..a0e532d 100644
--- a/tests/language_2/prefix/unresolved_class_test.dart
+++ b/tests/language_2/prefix/unresolved_class_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.9
+
 // Unresolved symbols should be reported as an error.
 import "../library12.dart" as lib12;
 
diff --git a/tests/language_2/prefix/variable_collision_runtime_test.dart b/tests/language_2/prefix/variable_collision_runtime_test.dart
index 87082c0..f702e99 100644
--- a/tests/language_2/prefix/variable_collision_runtime_test.dart
+++ b/tests/language_2/prefix/variable_collision_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/prefix/variable_collision_test.dart b/tests/language_2/prefix/variable_collision_test.dart
index 64dfa3c..6668d45 100644
--- a/tests/language_2/prefix/variable_collision_test.dart
+++ b/tests/language_2/prefix/variable_collision_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2011, 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.9
 import "../library10.dart" as lib10;
 //                         ^
 // [cfe] 'lib10' is already declared in this scope.
diff --git a/tests/language_2/private/access_lib.dart b/tests/language_2/private/access_lib.dart
index 1ffa127..3e6ef90 100644
--- a/tests/language_2/private/access_lib.dart
+++ b/tests/language_2/private/access_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library private;
 
 _function() {}
diff --git a/tests/language_2/private/access_runtime_test.dart b/tests/language_2/private/access_runtime_test.dart
index f314be7..5b90337 100644
--- a/tests/language_2/private/access_runtime_test.dart
+++ b/tests/language_2/private/access_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/private/access_test.dart b/tests/language_2/private/access_test.dart
index 6e10558..eae947b 100644
--- a/tests/language_2/private/access_test.dart
+++ b/tests/language_2/private/access_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.9
+
 import 'package:expect/expect.dart';
 
 import 'access_lib.dart';
diff --git a/tests/language_2/private/clash_lib.dart b/tests/language_2/private/clash_lib.dart
index 40dbc02..720336a 100644
--- a/tests/language_2/private/clash_lib.dart
+++ b/tests/language_2/private/clash_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library a$_b;
 
 class B {
diff --git a/tests/language_2/private/clash_test.dart b/tests/language_2/private/clash_test.dart
index dffbc26..8c719a9 100644
--- a/tests/language_2/private/clash_test.dart
+++ b/tests/language_2/private/clash_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.9
+
 library a;
 
 import 'clash_lib.dart' as lib;
diff --git a/tests/language_2/private/lib.dart b/tests/language_2/private/lib.dart
index f0cac6a..3c9c5ec 100644
--- a/tests/language_2/private/lib.dart
+++ b/tests/language_2/private/lib.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields.
 
+// @dart = 2.9
+
 library PrivateLib;
 
 class PrivateLib {
diff --git a/tests/language_2/private/main.dart b/tests/language_2/private/main.dart
index 51eb3d8..6bf7927 100644
--- a/tests/language_2/private/main.dart
+++ b/tests/language_2/private/main.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields.
 
+// @dart = 2.9
+
 part of Private3Test.dart;
 
 main() {
diff --git a/tests/language_2/private/member1_lib.dart b/tests/language_2/private/member1_lib.dart
index 62b00c5..55b4f73 100644
--- a/tests/language_2/private/member1_lib.dart
+++ b/tests/language_2/private/member1_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'member1_test.dart';
 
 class B extends A {
diff --git a/tests/language_2/private/member1_test.dart b/tests/language_2/private/member1_test.dart
index 415bd25..acd7259 100644
--- a/tests/language_2/private/member1_test.dart
+++ b/tests/language_2/private/member1_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.9
+
 import 'member1_lib.dart';
 
 class A {}
diff --git a/tests/language_2/private/member2_lib.dart b/tests/language_2/private/member2_lib.dart
index cba5811..68acc8d 100644
--- a/tests/language_2/private/member2_lib.dart
+++ b/tests/language_2/private/member2_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'member2_test.dart';
 
 class B extends A {
diff --git a/tests/language_2/private/member2_test.dart b/tests/language_2/private/member2_test.dart
index 6851ad7..8b7fff5 100644
--- a/tests/language_2/private/member2_test.dart
+++ b/tests/language_2/private/member2_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.9
+
 import 'member2_lib.dart';
 
 class A {}
diff --git a/tests/language_2/private/member3_lib.dart b/tests/language_2/private/member3_lib.dart
index c51338a..7d25d0c 100644
--- a/tests/language_2/private/member3_lib.dart
+++ b/tests/language_2/private/member3_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'member3_test.dart';
 
 class B extends A {
diff --git a/tests/language_2/private/member3_test.dart b/tests/language_2/private/member3_test.dart
index 557a9e6..fd6e0a0 100644
--- a/tests/language_2/private/member3_test.dart
+++ b/tests/language_2/private/member3_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.9
+
 import 'member3_lib.dart';
 
 class A {}
diff --git a/tests/language_2/private/member_lib_b.dart b/tests/language_2/private/member_lib_b.dart
index dfc3931..7442b13 100644
--- a/tests/language_2/private/member_lib_b.dart
+++ b/tests/language_2/private/member_lib_b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library PrivateMemberLibB;
 
 import 'member_test.dart';
diff --git a/tests/language_2/private/member_test.dart b/tests/language_2/private/member_test.dart
index 5c8c3ec..1ea7adc 100644
--- a/tests/language_2/private/member_test.dart
+++ b/tests/language_2/private/member_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.9
+
 library PrivateMemberLibA;
 
 import 'member_lib_b.dart';
diff --git a/tests/language_2/private/method_tearoff_lib.dart b/tests/language_2/private/method_tearoff_lib.dart
index 344a3c6..ecbbc4b 100644
--- a/tests/language_2/private/method_tearoff_lib.dart
+++ b/tests/language_2/private/method_tearoff_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Companion library for private_method_tearoff_test.dart.
 
 class Bar {
diff --git a/tests/language_2/private/method_tearoff_test.dart b/tests/language_2/private/method_tearoff_test.dart
index 84f6bd7..9978b55 100644
--- a/tests/language_2/private/method_tearoff_test.dart
+++ b/tests/language_2/private/method_tearoff_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.9
+
 import 'package:expect/expect.dart';
 
 import 'method_tearoff_lib.dart';
diff --git a/tests/language_2/private/mixin2_test.dart b/tests/language_2/private/mixin2_test.dart
index 848f838..041c79fd 100644
--- a/tests/language_2/private/mixin2_test.dart
+++ b/tests/language_2/private/mixin2_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.9
+
 // Dart test for testing access to private fields on mixins.
 
 library private_mixin2;
diff --git a/tests/language_2/private/mixin_exception_throw_test.dart b/tests/language_2/private/mixin_exception_throw_test.dart
index 96570d7..ade4f04 100644
--- a/tests/language_2/private/mixin_exception_throw_test.dart
+++ b/tests/language_2/private/mixin_exception_throw_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.9
+
 // Regression test for http://dartbug.com/11637
 
 class _C {}
diff --git a/tests/language_2/private/other.dart b/tests/language_2/private/other.dart
index 88c3e28..6f28882 100644
--- a/tests/language_2/private/other.dart
+++ b/tests/language_2/private/other.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields.
 
+// @dart = 2.9
+
 part of Private3Test.dart;
 
 class PrivateOther {
diff --git a/tests/language_2/private/other_lib.dart b/tests/language_2/private/other_lib.dart
index 0bcbb41..df836275 100644
--- a/tests/language_2/private/other_lib.dart
+++ b/tests/language_2/private/other_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test for testing access to private fields.
 library PrivateOther;
 
diff --git a/tests/language_2/private/other_library.dart b/tests/language_2/private/other_library.dart
index f831462..83466b2 100644
--- a/tests/language_2/private/other_library.dart
+++ b/tests/language_2/private/other_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Test that inlining in the compiler works with privacy.
 
 library other_library;
diff --git a/tests/language_2/private/other_mixin2.dart b/tests/language_2/private/other_mixin2.dart
index a263279..31aa24d 100644
--- a/tests/language_2/private/other_mixin2.dart
+++ b/tests/language_2/private/other_mixin2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test for testing access to private fields on mixins.
 
 library private_mixin2_other;
diff --git a/tests/language_2/private/private1.dart b/tests/language_2/private/private1.dart
index 7bf3de3..e78ddcd 100644
--- a/tests/language_2/private/private1.dart
+++ b/tests/language_2/private/private1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test for testing access to private fields.
 
 part of PrivateTest.dart;
diff --git a/tests/language_2/private/private2.dart b/tests/language_2/private/private2.dart
index 0dd65ac..252babd 100644
--- a/tests/language_2/private/private2.dart
+++ b/tests/language_2/private/private2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Dart test for testing access to private fields.
 
 part of PrivateTest.dart;
diff --git a/tests/language_2/private/private2_lib.dart b/tests/language_2/private/private2_lib.dart
index 4e1fcee..46cffbd 100644
--- a/tests/language_2/private/private2_lib.dart
+++ b/tests/language_2/private/private2_lib.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields across class hierarchies.
 
+// @dart = 2.9
+
 library Private2Lib;
 
 import "private2_test.dart";
diff --git a/tests/language_2/private/private2_main.dart b/tests/language_2/private/private2_main.dart
index d074dad..852462e 100644
--- a/tests/language_2/private/private2_main.dart
+++ b/tests/language_2/private/private2_main.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields across class hierarchies.
 
+// @dart = 2.9
+
 part of Private2Test;
 
 class A {
diff --git a/tests/language_2/private/private2_test.dart b/tests/language_2/private/private2_test.dart
index 368cb42..b2d0915 100644
--- a/tests/language_2/private/private2_test.dart
+++ b/tests/language_2/private/private2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields across class hierarchies.
 
+// @dart = 2.9
+
 library Private2Test;
 
 import "private2_lib.dart";
diff --git a/tests/language_2/private/private3_test.dart b/tests/language_2/private/private3_test.dart
index d0e0c78..b83b7ae 100644
--- a/tests/language_2/private/private3_test.dart
+++ b/tests/language_2/private/private3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing access to private fields.
 
+// @dart = 2.9
+
 library Private3Test.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/private/private4_test.dart b/tests/language_2/private/private4_test.dart
index ff5aec6..b282b7c 100644
--- a/tests/language_2/private/private4_test.dart
+++ b/tests/language_2/private/private4_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.9
+
 // Test that inlining in the compiler works with privacy.
 
 library private4_test;
diff --git a/tests/language_2/private/private_test.dart b/tests/language_2/private/private_test.dart
index e6ff096..d8f3ba5 100644
--- a/tests/language_2/private/private_test.dart
+++ b/tests/language_2/private/private_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.9
+
 // Dart test for testing access to private fields.
 
 library PrivateTest.dart;
diff --git a/tests/language_2/private/selector_lib.dart b/tests/language_2/private/selector_lib.dart
index 0ca9560a..a0900a7 100644
--- a/tests/language_2/private/selector_lib.dart
+++ b/tests/language_2/private/selector_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library private_selector_lib;
 
 import 'selector_test.dart';
diff --git a/tests/language_2/private/selector_test.dart b/tests/language_2/private/selector_test.dart
index 8855f23..d0d36d8 100644
--- a/tests/language_2/private/selector_test.dart
+++ b/tests/language_2/private/selector_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.9
+
 library private_selector_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/private/super_constructor_lib.dart b/tests/language_2/private/super_constructor_lib.dart
index 04b73d3..5da18fa 100644
--- a/tests/language_2/private/super_constructor_lib.dart
+++ b/tests/language_2/private/super_constructor_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library private_super_constructor_lib;
 
 class B {
diff --git a/tests/language_2/private/super_constructor_runtime_test.dart b/tests/language_2/private/super_constructor_runtime_test.dart
index 3b82c7d..ddba338 100644
--- a/tests/language_2/private/super_constructor_runtime_test.dart
+++ b/tests/language_2/private/super_constructor_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/private/super_constructor_test.dart b/tests/language_2/private/super_constructor_test.dart
index 03ad4f3..68905a6 100644
--- a/tests/language_2/private/super_constructor_test.dart
+++ b/tests/language_2/private/super_constructor_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.9
+
 library private_super_constructor_test;
 
 import 'super_constructor_lib.dart';
diff --git a/tests/language_2/propagate/argument_type_check_test.dart b/tests/language_2/propagate/argument_type_check_test.dart
index 8962cb4..beaf22d 100644
--- a/tests/language_2/propagate/argument_type_check_test.dart
+++ b/tests/language_2/propagate/argument_type_check_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/propagate/assert_assignable_test.dart b/tests/language_2/propagate/assert_assignable_test.dart
index 1e34119..58adf64 100644
--- a/tests/language_2/propagate/assert_assignable_test.dart
+++ b/tests/language_2/propagate/assert_assignable_test.dart
@@ -4,6 +4,8 @@
 // Check that type of the AssertAssignable is recomputed correctly.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/propagate/in_for_update_test.dart b/tests/language_2/propagate/in_for_update_test.dart
index 058518e..e72058d 100644
--- a/tests/language_2/propagate/in_for_update_test.dart
+++ b/tests/language_2/propagate/in_for_update_test.dart
@@ -4,6 +4,8 @@
 // Check that phi type computation in the Dart2Js compiler does the
 // correct thing.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bar() => 'foo';
diff --git a/tests/language_2/propagate/past_constant_test.dart b/tests/language_2/propagate/past_constant_test.dart
index 095e706..9e1f7f7 100644
--- a/tests/language_2/propagate/past_constant_test.dart
+++ b/tests/language_2/propagate/past_constant_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.9
+
 import 'package:expect/expect.dart';
 
 foo(x) => x;
diff --git a/tests/language_2/propagate/phi_test.dart b/tests/language_2/propagate/phi_test.dart
index 4c8e3e2..c49c6d2 100644
--- a/tests/language_2/propagate/phi_test.dart
+++ b/tests/language_2/propagate/phi_test.dart
@@ -4,6 +4,8 @@
 // Check that phi type computation in the Dart2Js compiler does the
 // correct thing.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 bar() => 490;
diff --git a/tests/language_2/propagate/propagate2_test.dart b/tests/language_2/propagate/propagate2_test.dart
index a09041b9..5c17bd3 100644
--- a/tests/language_2/propagate/propagate2_test.dart
+++ b/tests/language_2/propagate/propagate2_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.9
+
 // Regression test for dart2js that used to infinite loop on
 // speculatively propagating types.
 
diff --git a/tests/language_2/propagate/propagate3_test.dart b/tests/language_2/propagate/propagate3_test.dart
index 2848f9b..d2fa1f2 100644
--- a/tests/language_2/propagate/propagate3_test.dart
+++ b/tests/language_2/propagate/propagate3_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.9
+
 // Regression test for dart2js that used to generate wrong code for
 // it. The bug happened in the SSA type propagation.
 
diff --git a/tests/language_2/propagate/type_propagation_test.dart b/tests/language_2/propagate/type_propagation_test.dart
index 53501f1..0b22d9a3 100644
--- a/tests/language_2/propagate/type_propagation_test.dart
+++ b/tests/language_2/propagate/type_propagation_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.9
+
 // dart2js used to have an infinite loop in its type propagation
 // algorithm due to types becoming broader instead of narrower.
 
diff --git a/tests/language_2/redirecting/constructor_initializer_test.dart b/tests/language_2/redirecting/constructor_initializer_test.dart
index 6a2f451..851f324 100644
--- a/tests/language_2/redirecting/constructor_initializer_test.dart
+++ b/tests/language_2/redirecting/constructor_initializer_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.9
+
 import "package:expect/expect.dart";
 
 var string = '';
diff --git a/tests/language_2/redirecting/factory_bounds_test.dart b/tests/language_2/redirecting/factory_bounds_test.dart
index e8dbabf..9fec8bd 100644
--- a/tests/language_2/redirecting/factory_bounds_test.dart
+++ b/tests/language_2/redirecting/factory_bounds_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.9
+
 // Bounds checking on redirecting factories.
 
 class Foo<T> {}
diff --git a/tests/language_2/redirecting/factory_default_values_runtime_test.dart b/tests/language_2/redirecting/factory_default_values_runtime_test.dart
index a17a7d6..3120a38 100644
--- a/tests/language_2/redirecting/factory_default_values_runtime_test.dart
+++ b/tests/language_2/redirecting/factory_default_values_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/redirecting/factory_default_values_test.dart b/tests/language_2/redirecting/factory_default_values_test.dart
index 23a0e3c..d4709b9 100644
--- a/tests/language_2/redirecting/factory_default_values_test.dart
+++ b/tests/language_2/redirecting/factory_default_values_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.9
+
 // Test that parameter default values are disallowed in a redirecting factory.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/redirecting/factory_incompatible_signature_runtime_test.dart b/tests/language_2/redirecting/factory_incompatible_signature_runtime_test.dart
index b565714..0474306 100644
--- a/tests/language_2/redirecting/factory_incompatible_signature_runtime_test.dart
+++ b/tests/language_2/redirecting/factory_incompatible_signature_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/redirecting/factory_incompatible_signature_test.dart b/tests/language_2/redirecting/factory_incompatible_signature_test.dart
index 7c0253a..aef5010 100644
--- a/tests/language_2/redirecting/factory_incompatible_signature_test.dart
+++ b/tests/language_2/redirecting/factory_incompatible_signature_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.9
+
 // Test that incompatible signatures in a forwarding factory
 // constructor leads to a compile-time error.
 
diff --git a/tests/language_2/redirecting/factory_infinite_steps_test.dart b/tests/language_2/redirecting/factory_infinite_steps_test.dart
index d70a86f..8cc9443 100644
--- a/tests/language_2/redirecting/factory_infinite_steps_test.dart
+++ b/tests/language_2/redirecting/factory_infinite_steps_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.9
+
 // From Dart Language Specification, 0.12 M1, "7.6.2 Factories": It is
 // a compile-time error if a redirecting factory constructor does not
 // redirect to a non-redirecting factory constructor or to a
diff --git a/tests/language_2/redirecting/factory_long_test.dart b/tests/language_2/redirecting/factory_long_test.dart
index 5066dc7..e1486cd 100644
--- a/tests/language_2/redirecting/factory_long_test.dart
+++ b/tests/language_2/redirecting/factory_long_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.9
+
 // Test long substitution of long redirection chains.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/redirecting/factory_malbounded_runtime_test.dart b/tests/language_2/redirecting/factory_malbounded_runtime_test.dart
index 8cfc36b..78c6f99 100644
--- a/tests/language_2/redirecting/factory_malbounded_runtime_test.dart
+++ b/tests/language_2/redirecting/factory_malbounded_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/redirecting/factory_malbounded_test.dart b/tests/language_2/redirecting/factory_malbounded_test.dart
index 29dd27875..d22972f 100644
--- a/tests/language_2/redirecting/factory_malbounded_test.dart
+++ b/tests/language_2/redirecting/factory_malbounded_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.9
+
 class Foo<T> {
   factory Foo() = Bar<T>;
   //              ^
diff --git a/tests/language_2/redirecting/factory_upcast_test.dart b/tests/language_2/redirecting/factory_upcast_test.dart
index ff3ad11..a91daea 100644
--- a/tests/language_2/redirecting/factory_upcast_test.dart
+++ b/tests/language_2/redirecting/factory_upcast_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.9
+
 class A implements B {
   var x;
   A(Object this.x);
diff --git a/tests/language_2/reg_exp/reg_exp2_test.dart b/tests/language_2/reg_exp/reg_exp2_test.dart
index 20fe43b..50f061d 100644
--- a/tests/language_2/reg_exp/reg_exp2_test.dart
+++ b/tests/language_2/reg_exp/reg_exp2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class RegExp2Test {
diff --git a/tests/language_2/reg_exp/reg_exp3_test.dart b/tests/language_2/reg_exp/reg_exp3_test.dart
index cb375a5..d39faae 100644
--- a/tests/language_2/reg_exp/reg_exp3_test.dart
+++ b/tests/language_2/reg_exp/reg_exp3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class RegExp3Test {
diff --git a/tests/language_2/reg_exp/reg_exp4_test.dart b/tests/language_2/reg_exp/reg_exp4_test.dart
index 6e323f3..941118c 100644
--- a/tests/language_2/reg_exp/reg_exp4_test.dart
+++ b/tests/language_2/reg_exp/reg_exp4_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 class RegEx2Test {
   static void testMain() {
     final helloPattern = new RegExp("with (hello)");
diff --git a/tests/language_2/reg_exp/reg_exp_test.dart b/tests/language_2/reg_exp/reg_exp_test.dart
index 82f4595..d83588d 100644
--- a/tests/language_2/reg_exp/reg_exp_test.dart
+++ b/tests/language_2/reg_exp/reg_exp_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing regular expressions in Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/regress/r24720_test.dart b/tests/language_2/regress/r24720_test.dart
index 4f24001..c5fd87c 100644
--- a/tests/language_2/regress/r24720_test.dart
+++ b/tests/language_2/regress/r24720_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.9
+
 // Regression test for r24720.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress10204_test.dart b/tests/language_2/regress/regress10204_test.dart
index 1f1619e..734ca27 100644
--- a/tests/language_2/regress/regress10204_test.dart
+++ b/tests/language_2/regress/regress10204_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.9
+
 // Regression test for dart2js that used to miscompile
 // [A.visitInvokeDynamicMethod].
 
diff --git a/tests/language_2/regress/regress10321_test.dart b/tests/language_2/regress/regress10321_test.dart
index fb35dcd..7632b8d 100644
--- a/tests/language_2/regress/regress10321_test.dart
+++ b/tests/language_2/regress/regress10321_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for dart2js that used to miscompile [A.foo].
diff --git a/tests/language_2/regress/regress10561_test.dart b/tests/language_2/regress/regress10561_test.dart
index 16e0cca..0961a2e 100644
--- a/tests/language_2/regress/regress10561_test.dart
+++ b/tests/language_2/regress/regress10561_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.9
+
 // Regression test for dart2js that used to miscompile classes
 // extending HashMap, because HashMap is patched.
 
diff --git a/tests/language_2/regress/regress10581_test.dart b/tests/language_2/regress/regress10581_test.dart
index 00fe0c1..21eefee 100644
--- a/tests/language_2/regress/regress10581_test.dart
+++ b/tests/language_2/regress/regress10581_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.9
+
 // Regression test for https://code.google.com/p/dart/issues/detail?id=10581.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress10721_test.dart b/tests/language_2/regress/regress10721_test.dart
index 4bad7a0..cca6c92 100644
--- a/tests/language_2/regress/regress10721_test.dart
+++ b/tests/language_2/regress/regress10721_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/regress/regress10747_test.dart b/tests/language_2/regress/regress10747_test.dart
index 46fb8bd..38f6406 100644
--- a/tests/language_2/regress/regress10747_test.dart
+++ b/tests/language_2/regress/regress10747_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.9
+
 import "package:expect/expect.dart";
 
 class B<T> {}
diff --git a/tests/language_2/regress/regress10783_test.dart b/tests/language_2/regress/regress10783_test.dart
index 1d0b66f..7a5ca31 100644
--- a/tests/language_2/regress/regress10783_test.dart
+++ b/tests/language_2/regress/regress10783_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/regress/regress10996_lib.dart b/tests/language_2/regress/regress10996_lib.dart
index 77071a2..4dd4507 100644
--- a/tests/language_2/regress/regress10996_lib.dart
+++ b/tests/language_2/regress/regress10996_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library regress_10996_lib;
 
 var a = 3;
diff --git a/tests/language_2/regress/regress10996_test.dart b/tests/language_2/regress/regress10996_test.dart
index eee0095..d6f07be 100644
--- a/tests/language_2/regress/regress10996_test.dart
+++ b/tests/language_2/regress/regress10996_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.9
+
 import "package:expect/expect.dart";
 import "regress10996_lib.dart" as lib;
 
diff --git a/tests/language_2/regress/regress11010_test.dart b/tests/language_2/regress/regress11010_test.dart
index 12f6609..203bdd8 100644
--- a/tests/language_2/regress/regress11010_test.dart
+++ b/tests/language_2/regress/regress11010_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.9
+
 // We used to have an issue in dart2js where calling a top-level or
 // static field wouldn't register the 'call' selector correctly.
 var caller = new Caller();
diff --git a/tests/language_2/regress/regress11724_runtime_test.dart b/tests/language_2/regress/regress11724_runtime_test.dart
index 6cf180d..e4057ce 100644
--- a/tests/language_2/regress/regress11724_runtime_test.dart
+++ b/tests/language_2/regress/regress11724_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/regress/regress11724_test.dart b/tests/language_2/regress/regress11724_test.dart
index a408da1..f039452 100644
--- a/tests/language_2/regress/regress11724_test.dart
+++ b/tests/language_2/regress/regress11724_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/regress/regress11793_test.dart b/tests/language_2/regress/regress11793_test.dart
index 566a671..00700d7 100644
--- a/tests/language_2/regress/regress11793_test.dart
+++ b/tests/language_2/regress/regress11793_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.9
+
 // Regression test for dart2js, whose value range analysis phase
 // assumed loop phis that were integer necessarily had integer inputs.
 
diff --git a/tests/language_2/regress/regress11800_test.dart b/tests/language_2/regress/regress11800_test.dart
index 14c8a6f..7acb686 100644
--- a/tests/language_2/regress/regress11800_test.dart
+++ b/tests/language_2/regress/regress11800_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test correct register allocation with a value used twice at the same
diff --git a/tests/language_2/regress/regress12023_test.dart b/tests/language_2/regress/regress12023_test.dart
index 5e1a936b..c8dc06d 100644
--- a/tests/language_2/regress/regress12023_test.dart
+++ b/tests/language_2/regress/regress12023_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/regress/regress12118_test.dart b/tests/language_2/regress/regress12118_test.dart
index fea6996..ec4652b 100644
--- a/tests/language_2/regress/regress12118_test.dart
+++ b/tests/language_2/regress/regress12118_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.9
+
 // Regression test for issue 12118 which caused a crash in dart2js.
 
 const X = 42;
diff --git a/tests/language_2/regress/regress12284_test.dart b/tests/language_2/regress/regress12284_test.dart
index d8f8f06..25a91f1 100644
--- a/tests/language_2/regress/regress12284_test.dart
+++ b/tests/language_2/regress/regress12284_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.9
+
 import "package:expect/expect.dart";
 import "../compiler_annotations.dart";
 
diff --git a/tests/language_2/regress/regress12288_test.dart b/tests/language_2/regress/regress12288_test.dart
index bbe6b92..9227ae5 100644
--- a/tests/language_2/regress/regress12288_test.dart
+++ b/tests/language_2/regress/regress12288_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.9
+
 main() {
   var parent = new Element(null);
   var child = new Element(parent);
diff --git a/tests/language_2/regress/regress12336_test.dart b/tests/language_2/regress/regress12336_test.dart
index 029c3f1..9c62ae0 100644
--- a/tests/language_2/regress/regress12336_test.dart
+++ b/tests/language_2/regress/regress12336_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.9
+
 // Regression test for dart2js that used to generate wrong code for
 // [foo].
 
diff --git a/tests/language_2/regress/regress124683_test.dart b/tests/language_2/regress/regress124683_test.dart
index d305903..3da3ec9 100644
--- a/tests/language_2/regress/regress124683_test.dart
+++ b/tests/language_2/regress/regress124683_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.9
+
 // Regression test for ddc failure triggered by
 // https://dart-review.googlesource.com/c/sdk/+/124683
 
diff --git a/tests/language_2/regress/regress12561_test.dart b/tests/language_2/regress/regress12561_test.dart
index 12acf0e..2edf2a1 100644
--- a/tests/language_2/regress/regress12561_test.dart
+++ b/tests/language_2/regress/regress12561_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/regress/regress12615_test.dart b/tests/language_2/regress/regress12615_test.dart
index 02511c9..0e5a4f9 100644
--- a/tests/language_2/regress/regress12615_test.dart
+++ b/tests/language_2/regress/regress12615_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.9
+
 // Test that try-catch works properly in the VM.
 
 main() {
diff --git a/tests/language_2/regress/regress13179_test.dart b/tests/language_2/regress/regress13179_test.dart
index d1492b4..f8ac487d 100644
--- a/tests/language_2/regress/regress13179_test.dart
+++ b/tests/language_2/regress/regress13179_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.9
+
 import "package:expect/expect.dart";
 
 int count = 0;
diff --git a/tests/language_2/regress/regress13494_test.dart b/tests/language_2/regress/regress13494_test.dart
index 9e239c6..39b383f 100644
--- a/tests/language_2/regress/regress13494_test.dart
+++ b/tests/language_2/regress/regress13494_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.9
+
 // Regression test for dart2js. Test that the argument to an unresolved static
 // getter is only evaluated once.
 
diff --git a/tests/language_2/regress/regress13556_test.dart b/tests/language_2/regress/regress13556_test.dart
index b9388d6..14119d6 100644
--- a/tests/language_2/regress/regress13556_test.dart
+++ b/tests/language_2/regress/regress13556_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.9
+
 // Regression test for dart2js that used to crash when resolving the
 // @B() annotation.
 
diff --git a/tests/language_2/regress/regress1363_lib.dart b/tests/language_2/regress/regress1363_lib.dart
index fdbbba6..1706957 100644
--- a/tests/language_2/regress/regress1363_lib.dart
+++ b/tests/language_2/regress/regress1363_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library Issue1363;
 
 class C {}
diff --git a/tests/language_2/regress/regress1363_runtime_test.dart b/tests/language_2/regress/regress1363_runtime_test.dart
index f3f5eb1..bb28153 100644
--- a/tests/language_2/regress/regress1363_runtime_test.dart
+++ b/tests/language_2/regress/regress1363_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/regress/regress1363_test.dart b/tests/language_2/regress/regress1363_test.dart
index 27f02c2..71fc5fb 100644
--- a/tests/language_2/regress/regress1363_test.dart
+++ b/tests/language_2/regress/regress1363_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--enable_type_checks
 
+// @dart = 2.9
+
 library Issue1363Test.dart;
 
 import 'regress1363_lib.dart' as lib;
diff --git a/tests/language_2/regress/regress13673_test.dart b/tests/language_2/regress/regress13673_test.dart
index b510c61..56631aa 100644
--- a/tests/language_2/regress/regress13673_test.dart
+++ b/tests/language_2/regress/regress13673_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.9
+
 import "package:expect/expect.dart";
 
 class Bar {
diff --git a/tests/language_2/regress/regress14014_2_test.dart b/tests/language_2/regress/regress14014_2_test.dart
index 5363619..1543673 100644
--- a/tests/language_2/regress/regress14014_2_test.dart
+++ b/tests/language_2/regress/regress14014_2_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.9
+
 // Test that a type variable used in a parameter of a constructor that
 // has a closure in its initializer list does not lead to a crash in
 // dart2js.
diff --git a/tests/language_2/regress/regress14014_3_test.dart b/tests/language_2/regress/regress14014_3_test.dart
index 58957fb..8bdd11b 100644
--- a/tests/language_2/regress/regress14014_3_test.dart
+++ b/tests/language_2/regress/regress14014_3_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.9
+
 // Test that an is check on a function type involving type parameters
 // does not crash dart2js, when the is test is in the initializer list
 // of a constructor.
diff --git a/tests/language_2/regress/regress14014_test.dart b/tests/language_2/regress/regress14014_test.dart
index c887a33..ab0dd89 100644
--- a/tests/language_2/regress/regress14014_test.dart
+++ b/tests/language_2/regress/regress14014_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.9
+
 class A<T> {
   A(f);
 }
diff --git a/tests/language_2/regress/regress14105_test.dart b/tests/language_2/regress/regress14105_test.dart
index 8051513..1ec2d0c 100644
--- a/tests/language_2/regress/regress14105_test.dart
+++ b/tests/language_2/regress/regress14105_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.9
+
 // Regression test for Issue 14105.
 
 typedef UsedAsFieldType();
diff --git a/tests/language_2/regress/regress14242_test.dart b/tests/language_2/regress/regress14242_test.dart
index 118a8e0..57cf550 100644
--- a/tests/language_2/regress/regress14242_test.dart
+++ b/tests/language_2/regress/regress14242_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.9
+
 // Regression test for dart2js that used to crash on type literals
 // used in a cascade send.
 
diff --git a/tests/language_2/regress/regress14348_test.dart b/tests/language_2/regress/regress14348_test.dart
index 96ac17d..100eafa 100644
--- a/tests/language_2/regress/regress14348_test.dart
+++ b/tests/language_2/regress/regress14348_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.9
+
 // Regression test for issue 14348.
 
 import "package:collection/equality.dart";
diff --git a/tests/language_2/regress/regress15606_runtime_test.dart b/tests/language_2/regress/regress15606_runtime_test.dart
index 539a0d7..ddcd579 100644
--- a/tests/language_2/regress/regress15606_runtime_test.dart
+++ b/tests/language_2/regress/regress15606_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/regress/regress15606_test.dart b/tests/language_2/regress/regress15606_test.dart
index f367e9e..24604f8 100644
--- a/tests/language_2/regress/regress15606_test.dart
+++ b/tests/language_2/regress/regress15606_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.9
+
 class Foo<T> {}
 
 var a = [new Object(), 42];
diff --git a/tests/language_2/regress/regress15702_test.dart b/tests/language_2/regress/regress15702_test.dart
index 072182d..13fbb67 100644
--- a/tests/language_2/regress/regress15702_test.dart
+++ b/tests/language_2/regress/regress15702_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.9
+
 main() {
   Amount stake = new Amount(2.5);
   if ((stake.value * 10).toInt() != 25) {
diff --git a/tests/language_2/regress/regress15720_test.dart b/tests/language_2/regress/regress15720_test.dart
index 638fc98..f07405e 100644
--- a/tests/language_2/regress/regress15720_test.dart
+++ b/tests/language_2/regress/regress15720_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.9
+
 // Regression test for dart2js, issue 15720.
 
 class B {}
diff --git a/tests/language_2/regress/regress1578_test.dart b/tests/language_2/regress/regress1578_test.dart
index ad355ae..d899ca8 100644
--- a/tests/language_2/regress/regress1578_test.dart
+++ b/tests/language_2/regress/regress1578_test.dart
@@ -2,13 +2,15 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test for issue 1578.
 
 ]~<)$
-// [error line 7, column 1, length 1]
+// [error line 9, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
 // [cfe] Expected a declaration, but got ']'.
-// [error line 7, column 2, length 1]
+// [error line 9, column 2, length 1]
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_EXECUTABLE
 // [cfe] Expected a declaration, but got '~'.
 //^
@@ -19,7 +21,6 @@
 // [cfe] Expected a declaration, but got ')'.
 //  ^
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-// [cfe] Expected ';' after this.
-//  ^
 // [analyzer] SYNTACTIC_ERROR.MISSING_CONST_FINAL_VAR_OR_TYPE
+// [cfe] Expected ';' after this.
 // [cfe] Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
diff --git a/tests/language_2/regress/regress16640_test.dart b/tests/language_2/regress/regress16640_test.dart
index 8fe8399..299442d 100644
--- a/tests/language_2/regress/regress16640_test.dart
+++ b/tests/language_2/regress/regress16640_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.9
+
 // Regression test for issue 16640.
 
 class Segment extends SegmentGen {}
diff --git a/tests/language_2/regress/regress17382_test.dart b/tests/language_2/regress/regress17382_test.dart
index 275c1b8..fa72d34 100644
--- a/tests/language_2/regress/regress17382_test.dart
+++ b/tests/language_2/regress/regress17382_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.9
+
 // Regression test for issue 17382.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress1751477_lib1.dart b/tests/language_2/regress/regress1751477_lib1.dart
index b0398a1..10ce32d 100644
--- a/tests/language_2/regress/regress1751477_lib1.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 library lib1;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib11.dart b/tests/language_2/regress/regress1751477_lib11.dart
index 8b73628..f0c4e0d 100644
--- a/tests/language_2/regress/regress1751477_lib11.dart
+++ b/tests/language_2/regress/regress1751477_lib11.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib11;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib2.dart b/tests/language_2/regress/regress1751477_lib2.dart
index 61c0756..63a3216 100644
--- a/tests/language_2/regress/regress1751477_lib2.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 library lib2;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib21.dart b/tests/language_2/regress/regress1751477_lib21.dart
index d3a8546..24b9aee 100644
--- a/tests/language_2/regress/regress1751477_lib21.dart
+++ b/tests/language_2/regress/regress1751477_lib21.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib21;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib3.dart b/tests/language_2/regress/regress1751477_lib3.dart
index caec885..c651837 100644
--- a/tests/language_2/regress/regress1751477_lib3.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 library lib3;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib31.dart b/tests/language_2/regress/regress1751477_lib31.dart
index 93412ad..e27d72c 100644
--- a/tests/language_2/regress/regress1751477_lib31.dart
+++ b/tests/language_2/regress/regress1751477_lib31.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib31;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib4.dart b/tests/language_2/regress/regress1751477_lib4.dart
index e12cb88..db6297c 100644
--- a/tests/language_2/regress/regress1751477_lib4.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 library lib4;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib41.dart b/tests/language_2/regress/regress1751477_lib41.dart
index a4c5536..0fb044e 100644
--- a/tests/language_2/regress/regress1751477_lib41.dart
+++ b/tests/language_2/regress/regress1751477_lib41.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib41;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib5.dart b/tests/language_2/regress/regress1751477_lib5.dart
index 2049e28..6a2ec5b 100644
--- a/tests/language_2/regress/regress1751477_lib5.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 library lib5;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib51.dart b/tests/language_2/regress/regress1751477_lib51.dart
index 31bff9f..e50b83e 100644
--- a/tests/language_2/regress/regress1751477_lib51.dart
+++ b/tests/language_2/regress/regress1751477_lib51.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib51;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib6.dart b/tests/language_2/regress/regress1751477_lib6.dart
index 9255cfd..d9fd9ae 100644
--- a/tests/language_2/regress/regress1751477_lib6.dart
+++ b/tests/language_2/regress/regress1751477_lib6.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib6;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib61.dart b/tests/language_2/regress/regress1751477_lib61.dart
index 93a4ac3..c624ca5 100644
--- a/tests/language_2/regress/regress1751477_lib61.dart
+++ b/tests/language_2/regress/regress1751477_lib61.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib61;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib7.dart b/tests/language_2/regress/regress1751477_lib7.dart
index 35fe1d1..736473c 100644
--- a/tests/language_2/regress/regress1751477_lib7.dart
+++ b/tests/language_2/regress/regress1751477_lib7.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib7;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib71.dart b/tests/language_2/regress/regress1751477_lib71.dart
index e80f0c5..735e989 100644
--- a/tests/language_2/regress/regress1751477_lib71.dart
+++ b/tests/language_2/regress/regress1751477_lib71.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib71;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib8.dart b/tests/language_2/regress/regress1751477_lib8.dart
index e4240a0..98a13b6 100644
--- a/tests/language_2/regress/regress1751477_lib8.dart
+++ b/tests/language_2/regress/regress1751477_lib8.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib8;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib81.dart b/tests/language_2/regress/regress1751477_lib81.dart
index 050e005..d4ad07a 100644
--- a/tests/language_2/regress/regress1751477_lib81.dart
+++ b/tests/language_2/regress/regress1751477_lib81.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib81;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_lib9.dart b/tests/language_2/regress/regress1751477_lib9.dart
index fea7a64..6355f02 100644
--- a/tests/language_2/regress/regress1751477_lib9.dart
+++ b/tests/language_2/regress/regress1751477_lib9.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib9;
 
 import 'regress1751477_lib2.dart';
diff --git a/tests/language_2/regress/regress1751477_lib91.dart b/tests/language_2/regress/regress1751477_lib91.dart
index d122125..dc3a0c9 100644
--- a/tests/language_2/regress/regress1751477_lib91.dart
+++ b/tests/language_2/regress/regress1751477_lib91.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib91;
 
 import 'regress1751477_lib1.dart';
diff --git a/tests/language_2/regress/regress1751477_test.dart b/tests/language_2/regress/regress1751477_test.dart
index 647fa90..5647ac9 100644
--- a/tests/language_2/regress/regress1751477_test.dart
+++ b/tests/language_2/regress/regress1751477_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.9
+
 import 'regress1751477_lib1.dart' deferred as lib1;
 import 'regress1751477_lib2.dart' deferred as lib2;
 import 'regress1751477_lib3.dart' deferred as lib3;
diff --git a/tests/language_2/regress/regress18435_test.dart b/tests/language_2/regress/regress18435_test.dart
index 267562f..599b21f 100644
--- a/tests/language_2/regress/regress18435_test.dart
+++ b/tests/language_2/regress/regress18435_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.9
+
 // Regression test for issue 18435.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/regress/regress18628_1_runtime_test.dart b/tests/language_2/regress/regress18628_1_runtime_test.dart
index 56d7377..8f996ad 100644
--- a/tests/language_2/regress/regress18628_1_runtime_test.dart
+++ b/tests/language_2/regress/regress18628_1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/regress/regress18628_1_test.dart b/tests/language_2/regress/regress18628_1_test.dart
index 214f9aa..ba8e67c 100644
--- a/tests/language_2/regress/regress18628_1_test.dart
+++ b/tests/language_2/regress/regress18628_1_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.9
+
 // This test checks for a regression found in Dart Editor: the
 // analyzer was treating [Type] as more specific than any type
 // variable (generic parameter).
diff --git a/tests/language_2/regress/regress18628_2_runtime_test.dart b/tests/language_2/regress/regress18628_2_runtime_test.dart
index d604adb..ebfb189 100644
--- a/tests/language_2/regress/regress18628_2_runtime_test.dart
+++ b/tests/language_2/regress/regress18628_2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/regress/regress18628_2_test.dart b/tests/language_2/regress/regress18628_2_test.dart
index 622b724..85d59ca 100644
--- a/tests/language_2/regress/regress18628_2_test.dart
+++ b/tests/language_2/regress/regress18628_2_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.9
+
 // This test checks for a regression found in Dart Editor: the
 // analyzer was treating [Type] as more specific than any type
 // variable (generic parameter).
diff --git a/tests/language_2/regress/regress18713_test.dart b/tests/language_2/regress/regress18713_test.dart
index 01f51d8..08a03b2 100644
--- a/tests/language_2/regress/regress18713_test.dart
+++ b/tests/language_2/regress/regress18713_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.9
+
 import "package:expect/expect.dart";
 
 class T<X> {
diff --git a/tests/language_2/regress/regress18865_test.dart b/tests/language_2/regress/regress18865_test.dart
index 8727bb3..ca7cec2 100644
--- a/tests/language_2/regress/regress18865_test.dart
+++ b/tests/language_2/regress/regress18865_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.9
+
 // Regression test for issue 18865.
 
 class B<T> {}
diff --git a/tests/language_2/regress/regress19413_bar.dart b/tests/language_2/regress/regress19413_bar.dart
index 98ef508..681826b 100644
--- a/tests/language_2/regress/regress19413_bar.dart
+++ b/tests/language_2/regress/regress19413_bar.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library bar;
 
 f() {
diff --git a/tests/language_2/regress/regress19413_foo.dart b/tests/language_2/regress/regress19413_foo.dart
index b7e9a19..5165bba 100644
--- a/tests/language_2/regress/regress19413_foo.dart
+++ b/tests/language_2/regress/regress19413_foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 f() {
diff --git a/tests/language_2/regress/regress19413_test.dart b/tests/language_2/regress/regress19413_test.dart
index eb0e2ad..9f6f5eb 100644
--- a/tests/language_2/regress/regress19413_test.dart
+++ b/tests/language_2/regress/regress19413_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.9
+
 // Regression test for issue 19413.
 
 import 'regress19413_foo.dart' as foo;
diff --git a/tests/language_2/regress/regress19728_test.dart b/tests/language_2/regress/regress19728_test.dart
index 1253aab..6af7cfd 100644
--- a/tests/language_2/regress/regress19728_test.dart
+++ b/tests/language_2/regress/regress19728_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.9
+
 // Regression test for issue 19728.
 
 class C<T extends dynamic> {
diff --git a/tests/language_2/regress/regress20074_test.dart b/tests/language_2/regress/regress20074_test.dart
index 77623e1..6b80c20 100644
--- a/tests/language_2/regress/regress20074_test.dart
+++ b/tests/language_2/regress/regress20074_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.9
+
 // Regression test for issue 20074. Check that a parameter is not declared
 // in the same scope as its function declaration.
 
diff --git a/tests/language_2/regress/regress20394_lib.dart b/tests/language_2/regress/regress20394_lib.dart
index ab5154b..e4f39eb 100644
--- a/tests/language_2/regress/regress20394_lib.dart
+++ b/tests/language_2/regress/regress20394_lib.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library lib;
 
 class Super {
diff --git a/tests/language_2/regress/regress20394_runtime_test.dart b/tests/language_2/regress/regress20394_runtime_test.dart
index 80da6ba..e6458f8 100644
--- a/tests/language_2/regress/regress20394_runtime_test.dart
+++ b/tests/language_2/regress/regress20394_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 import 'regress20394_lib.dart';
 
 class M {}
diff --git a/tests/language_2/regress/regress20394_test.dart b/tests/language_2/regress/regress20394_test.dart
index daff29b..a09869b 100644
--- a/tests/language_2/regress/regress20394_test.dart
+++ b/tests/language_2/regress/regress20394_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'regress20394_lib.dart';
 
 class M {}
diff --git a/tests/language_2/regress/regress20476_test.dart b/tests/language_2/regress/regress20476_test.dart
index f0202be..5b4c9e8 100644
--- a/tests/language_2/regress/regress20476_test.dart
+++ b/tests/language_2/regress/regress20476_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.9
+
 import 'package:expect/expect.dart';
 
 foo() {
diff --git a/tests/language_2/regress/regress20840_test.dart b/tests/language_2/regress/regress20840_test.dart
index c9cf445..79237644 100644
--- a/tests/language_2/regress/regress20840_test.dart
+++ b/tests/language_2/regress/regress20840_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.9
+
 // Regression test for issue 20840.
 
 class SomeClass {
diff --git a/tests/language_2/regress/regress21016_test.dart b/tests/language_2/regress/regress21016_test.dart
index a8ca2d9..a98a85b 100644
--- a/tests/language_2/regress/regress21016_test.dart
+++ b/tests/language_2/regress/regress21016_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.9
+
 // Test that we give up on tracing a function if one of its closurizations
 // escapes tracing.
 
diff --git a/tests/language_2/regress/regress21793_runtime_test.dart b/tests/language_2/regress/regress21793_runtime_test.dart
index 4bdd03b..f7bc9da 100644
--- a/tests/language_2/regress/regress21793_runtime_test.dart
+++ b/tests/language_2/regress/regress21793_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/regress/regress21793_test.dart b/tests/language_2/regress/regress21793_test.dart
index e4fec2e..2928280 100644
--- a/tests/language_2/regress/regress21793_test.dart
+++ b/tests/language_2/regress/regress21793_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.9
+
 // Regression test for issue 21793.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress21795_test.dart b/tests/language_2/regress/regress21795_test.dart
index 2ca18a3..bc0d46e 100644
--- a/tests/language_2/regress/regress21795_test.dart
+++ b/tests/language_2/regress/regress21795_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.9
+
 // Regression test for issue 21795.
 
 @pragma("vm:entry-point") // Prevent obfuscation
diff --git a/tests/language_2/regress/regress21912_runtime_test.dart b/tests/language_2/regress/regress21912_runtime_test.dart
index e44b17f..5d98f6d 100644
--- a/tests/language_2/regress/regress21912_runtime_test.dart
+++ b/tests/language_2/regress/regress21912_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/regress/regress21912_test.dart b/tests/language_2/regress/regress21912_test.dart
index eaacaad..d103a78 100644
--- a/tests/language_2/regress/regress21912_test.dart
+++ b/tests/language_2/regress/regress21912_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.9
+
 // Regression test for issue 21912.
 
 class A {}
diff --git a/tests/language_2/regress/regress21957_double_test.dart b/tests/language_2/regress/regress21957_double_test.dart
index d2920a4..097f11d 100644
--- a/tests/language_2/regress/regress21957_double_test.dart
+++ b/tests/language_2/regress/regress21957_double_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.9
+
 // Check slow path for PotentialUnboxedStore.
 // VMOptions=--optimization_counter_threshold=-1
 
diff --git a/tests/language_2/regress/regress21957_float32x4_test.dart b/tests/language_2/regress/regress21957_float32x4_test.dart
index f364261..d668029 100644
--- a/tests/language_2/regress/regress21957_float32x4_test.dart
+++ b/tests/language_2/regress/regress21957_float32x4_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.9
+
 // Check slow path for PotentialUnboxedStore.
 // VMOptions=--optimization_counter_threshold=-1
 
diff --git a/tests/language_2/regress/regress21957_float64x2_test.dart b/tests/language_2/regress/regress21957_float64x2_test.dart
index 5b51722..9b9890c 100644
--- a/tests/language_2/regress/regress21957_float64x2_test.dart
+++ b/tests/language_2/regress/regress21957_float64x2_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.9
+
 // Check slow path for PotentialUnboxedStore.
 // VMOptions=--optimization_counter_threshold=-1
 
diff --git a/tests/language_2/regress/regress21998_1_test.dart b/tests/language_2/regress/regress21998_1_test.dart
index 132877e..8f12a0b 100644
--- a/tests/language_2/regress/regress21998_1_test.dart
+++ b/tests/language_2/regress/regress21998_1_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.9
+
 import 'dart:math' as Math;
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress21998_2_test.dart b/tests/language_2/regress/regress21998_2_test.dart
index 9214d6b..83cdd76 100644
--- a/tests/language_2/regress/regress21998_2_test.dart
+++ b/tests/language_2/regress/regress21998_2_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.9
+
 import 'dart:math' as Math;
 import 'package:expect/expect.dart';
 import 'regress21998_lib1.dart' as lib1;
diff --git a/tests/language_2/regress/regress21998_3_test.dart b/tests/language_2/regress/regress21998_3_test.dart
index ebd3782..970f319 100644
--- a/tests/language_2/regress/regress21998_3_test.dart
+++ b/tests/language_2/regress/regress21998_3_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.9
+
 import 'dart:math' as Math;
 import 'package:expect/expect.dart';
 import 'regress21998_lib1.dart' as lib1;
diff --git a/tests/language_2/regress/regress21998_4_test.dart b/tests/language_2/regress/regress21998_4_test.dart
index 6bc8c03..c1f6a0c 100644
--- a/tests/language_2/regress/regress21998_4_test.dart
+++ b/tests/language_2/regress/regress21998_4_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.9
+
 import 'dart:math' as Math;
 import 'package:expect/expect.dart';
 import 'regress21998_lib1.dart' as lib1;
diff --git a/tests/language_2/regress/regress21998_lib1.dart b/tests/language_2/regress/regress21998_lib1.dart
index 29750b6..2e3912c 100644
--- a/tests/language_2/regress/regress21998_lib1.dart
+++ b/tests/language_2/regress/regress21998_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.9
+
 library regress_21998_lib1;
 
 String max(String a, String b, String c) => '$a$b$c';
diff --git a/tests/language_2/regress/regress21998_lib2.dart b/tests/language_2/regress/regress21998_lib2.dart
index 83117f9..8cbff7c 100644
--- a/tests/language_2/regress/regress21998_lib2.dart
+++ b/tests/language_2/regress/regress21998_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.9
+
 library regress_21998_lib2;
 
 import 'dart:math';
diff --git a/tests/language_2/regress/regress21998_lib3.dart b/tests/language_2/regress/regress21998_lib3.dart
index 33ea88f..3e355e5 100644
--- a/tests/language_2/regress/regress21998_lib3.dart
+++ b/tests/language_2/regress/regress21998_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.9
+
 library regress_21998_lib3;
 
 import 'dart:math' as math;
diff --git a/tests/language_2/regress/regress22438_test.dart b/tests/language_2/regress/regress22438_test.dart
index 32132b2..c16312d 100644
--- a/tests/language_2/regress/regress22438_test.dart
+++ b/tests/language_2/regress/regress22438_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress22443_lib.dart b/tests/language_2/regress/regress22443_lib.dart
index 879d5f7..cc7c6d5 100644
--- a/tests/language_2/regress/regress22443_lib.dart
+++ b/tests/language_2/regress/regress22443_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library regress_22443;
 
 class LazyClass {}
diff --git a/tests/language_2/regress/regress22443_test.dart b/tests/language_2/regress/regress22443_test.dart
index 81a1e5d..c327241 100644
--- a/tests/language_2/regress/regress22443_test.dart
+++ b/tests/language_2/regress/regress22443_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.9
+
 import 'regress22443_lib.dart' deferred as D;
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress22445_test.dart b/tests/language_2/regress/regress22445_test.dart
index 10f238c..fc569ab 100644
--- a/tests/language_2/regress/regress22445_test.dart
+++ b/tests/language_2/regress/regress22445_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress22579_test.dart b/tests/language_2/regress/regress22579_test.dart
index 1077e85..600006c 100644
--- a/tests/language_2/regress/regress22579_test.dart
+++ b/tests/language_2/regress/regress22579_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress22666_test.dart b/tests/language_2/regress/regress22666_test.dart
index 432ec7c..fd89422 100644
--- a/tests/language_2/regress/regress22666_test.dart
+++ b/tests/language_2/regress/regress22666_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.9
+
 import 'dart:collection';
 
 class A extends Object with LinkedListEntry<A> {}
diff --git a/tests/language_2/regress/regress22700_test.dart b/tests/language_2/regress/regress22700_test.dart
index 0be42f3..844c381 100644
--- a/tests/language_2/regress/regress22700_test.dart
+++ b/tests/language_2/regress/regress22700_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.9
+
 import "package:expect/expect.dart";
 
 class WrapT<T> {
diff --git a/tests/language_2/regress/regress22719_test.dart b/tests/language_2/regress/regress22719_test.dart
index 13310ef..01be222 100644
--- a/tests/language_2/regress/regress22719_test.dart
+++ b/tests/language_2/regress/regress22719_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.9
+
 import 'dart:collection';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress22728_test.dart b/tests/language_2/regress/regress22728_test.dart
index b4f32c5..0e0aea6 100644
--- a/tests/language_2/regress/regress22728_test.dart
+++ b/tests/language_2/regress/regress22728_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.9
+
 import 'package:expect/expect.dart';
 
 bool assertsChecked() {
diff --git a/tests/language_2/regress/regress22777_test.dart b/tests/language_2/regress/regress22777_test.dart
index 38bc24b..99fbdb2 100644
--- a/tests/language_2/regress/regress22777_test.dart
+++ b/tests/language_2/regress/regress22777_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.9
+
 import "package:async_helper/async_helper.dart";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress22780_test.dart b/tests/language_2/regress/regress22780_test.dart
index 34dabd6..d90a945 100644
--- a/tests/language_2/regress/regress22780_test.dart
+++ b/tests/language_2/regress/regress22780_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.9
+
 main() {
   f() => "Oh, the joy of ${f()}"; print(f()); //# 01: runtime error
 }
diff --git a/tests/language_2/regress/regress22800_test.dart b/tests/language_2/regress/regress22800_test.dart
index 36b6978..929bb9d 100644
--- a/tests/language_2/regress/regress22800_test.dart
+++ b/tests/language_2/regress/regress22800_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.9
+
 // Check proper exception handler finalization, even for unreachable handlers.
 
 void main() {
diff --git a/tests/language_2/regress/regress22822_test.dart b/tests/language_2/regress/regress22822_test.dart
index ad990c7..8a5e0ce 100644
--- a/tests/language_2/regress/regress22822_test.dart
+++ b/tests/language_2/regress/regress22822_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.9
+
 // Regression test for issue 22822. The assignment in the finally block
 // used to crash because it was executed at context level 1 instead of
 // context level 2.
diff --git a/tests/language_2/regress/regress22858_test.dart b/tests/language_2/regress/regress22858_test.dart
index d685ce2..fbc26cc 100644
--- a/tests/language_2/regress/regress22858_test.dart
+++ b/tests/language_2/regress/regress22858_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/language_2/regress/regress22936_test.dart b/tests/language_2/regress/regress22936_test.dart
index 878e7c4..4852e1b 100644
--- a/tests/language_2/regress/regress22936_test.dart
+++ b/tests/language_2/regress/regress22936_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.9
+
 // Regression test for issue 22936.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress22976_test.dart b/tests/language_2/regress/regress22976_test.dart
index de83e9b..4a954e6 100644
--- a/tests/language_2/regress/regress22976_test.dart
+++ b/tests/language_2/regress/regress22976_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.9
+
 // Regression test for issue 22976.
 
 class A<T> {}
@@ -9,7 +11,7 @@
 class B<T> implements A<T> {}
 
 class C<S, T> implements B<S>, A<T> {}
-// [error line 11, column 1, length 38]
+// [error line 13, column 1, length 38]
 // [analyzer] COMPILE_TIME_ERROR.CONFLICTING_GENERIC_INTERFACES
 //    ^
 // [cfe] 'C' can't implement both 'A<S>' and 'A<T>'
@@ -21,6 +23,5 @@
   A<int> a1 = c2;
   //          ^^
   // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  //          ^
   // [cfe] A value of type 'C<String, int>' can't be assigned to a variable of type 'A<int>'.
 }
diff --git a/tests/language_2/regress/regress23038_runtime_test.dart b/tests/language_2/regress/regress23038_runtime_test.dart
index fb22db1..1e69c04 100644
--- a/tests/language_2/regress/regress23038_runtime_test.dart
+++ b/tests/language_2/regress/regress23038_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/regress/regress23038_test.dart b/tests/language_2/regress/regress23038_test.dart
index 0967098..0b861e1 100644
--- a/tests/language_2/regress/regress23038_test.dart
+++ b/tests/language_2/regress/regress23038_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.9
+
 class C<T> {
   const
     factory
diff --git a/tests/language_2/regress/regress23046_test.dart b/tests/language_2/regress/regress23046_test.dart
index e5dcdc4..83ab215 100644
--- a/tests/language_2/regress/regress23046_test.dart
+++ b/tests/language_2/regress/regress23046_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.9
+
 import "package:expect/expect.dart";
 
 // Make sure the logic for skipping the initial quotes in a string isn't
diff --git a/tests/language_2/regress/regress23051_test.dart b/tests/language_2/regress/regress23051_test.dart
index f9837de..7aee0bf 100644
--- a/tests/language_2/regress/regress23051_test.dart
+++ b/tests/language_2/regress/regress23051_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.9
+
 // Regression test for issue 23051.
 
 main() {
diff --git a/tests/language_2/regress/regress23089_test.dart b/tests/language_2/regress/regress23089_test.dart
index 2718475..a139f26 100644
--- a/tests/language_2/regress/regress23089_test.dart
+++ b/tests/language_2/regress/regress23089_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.9
+
 // Test doesn't cover http://dartbug.com/23089 anymore.
 // Generic bounds now must be fully instantiated. This means that the
 // cycle is not possible anymore.
diff --git a/tests/language_2/regress/regress23244_test.dart b/tests/language_2/regress/regress23244_test.dart
index c955874..87e244d 100644
--- a/tests/language_2/regress/regress23244_test.dart
+++ b/tests/language_2/regress/regress23244_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/language_2/regress/regress23408_lib.dart b/tests/language_2/regress/regress23408_lib.dart
index 564c2eb..2ff9ced 100644
--- a/tests/language_2/regress/regress23408_lib.dart
+++ b/tests/language_2/regress/regress23408_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library regress_23408_lib;
 
 import "regress23408_test.dart" as main;
diff --git a/tests/language_2/regress/regress23408_test.dart b/tests/language_2/regress/regress23408_test.dart
index 1ad8c55..2a153c2 100644
--- a/tests/language_2/regress/regress23408_test.dart
+++ b/tests/language_2/regress/regress23408_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.9
+
 library regress_23408_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress23408a_test.dart b/tests/language_2/regress/regress23408a_test.dart
index 453d161..8c417d8 100644
--- a/tests/language_2/regress/regress23408a_test.dart
+++ b/tests/language_2/regress/regress23408a_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.9
+
 library regress_23408a_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress23498_test.dart b/tests/language_2/regress/regress23498_test.dart
index eb48049..e6db492 100644
--- a/tests/language_2/regress/regress23498_test.dart
+++ b/tests/language_2/regress/regress23498_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress23500_test.dart b/tests/language_2/regress/regress23500_test.dart
index cce070c..931e57f 100644
--- a/tests/language_2/regress/regress23500_test.dart
+++ b/tests/language_2/regress/regress23500_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress23537_test.dart b/tests/language_2/regress/regress23537_test.dart
index c8c6667..78cf219 100644
--- a/tests/language_2/regress/regress23537_test.dart
+++ b/tests/language_2/regress/regress23537_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.9
+
 import 'package:expect/expect.dart';
 
 var d;
diff --git a/tests/language_2/regress/regress23650_test.dart b/tests/language_2/regress/regress23650_test.dart
index 1684736..036e689 100644
--- a/tests/language_2/regress/regress23650_test.dart
+++ b/tests/language_2/regress/regress23650_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.9
+
 // Test that type variables in try-catch work.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/regress/regress23914_test.dart b/tests/language_2/regress/regress23914_test.dart
index 5ba0335..f40c5d2 100644
--- a/tests/language_2/regress/regress23914_test.dart
+++ b/tests/language_2/regress/regress23914_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.9
+
 import 'dart:collection';
 
 class C extends LinkedListEntry<C> {}
diff --git a/tests/language_2/regress/regress23996_test.dart b/tests/language_2/regress/regress23996_test.dart
index 4401a46..7551471 100644
--- a/tests/language_2/regress/regress23996_test.dart
+++ b/tests/language_2/regress/regress23996_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.9
+
 import "dart:async";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/regress/regress24283_test.dart b/tests/language_2/regress/regress24283_test.dart
index 056bfd8..2856887 100644
--- a/tests/language_2/regress/regress24283_test.dart
+++ b/tests/language_2/regress/regress24283_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/regress/regress24567_test.dart b/tests/language_2/regress/regress24567_test.dart
index 8010da7..e49fbfa 100644
--- a/tests/language_2/regress/regress24567_test.dart
+++ b/tests/language_2/regress/regress24567_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.9
+
 import "package:expect/expect.dart";
 import 'dart:math' as math;
 
diff --git a/tests/language_2/regress/regress24935_test.dart b/tests/language_2/regress/regress24935_test.dart
index 430629f..b225938 100644
--- a/tests/language_2/regress/regress24935_test.dart
+++ b/tests/language_2/regress/regress24935_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.9
+
 import 'dart:async';
 
 S() => new Stream.fromIterable([1]);
diff --git a/tests/language_2/regress/regress25122_test.dart b/tests/language_2/regress/regress25122_test.dart
index b7d4068..c3cad4f 100644
--- a/tests/language_2/regress/regress25122_test.dart
+++ b/tests/language_2/regress/regress25122_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.9
+
 main() {}
 
 class AbstractListMember<E, M extends AbstractListMember<E, M>> {}
diff --git a/tests/language_2/regress/regress25246_1_test.dart b/tests/language_2/regress/regress25246_1_test.dart
index 65101de..722245c 100644
--- a/tests/language_2/regress/regress25246_1_test.dart
+++ b/tests/language_2/regress/regress25246_1_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.9
+
 import 'regress25246_2.dart';
 
 class ConcreteClass extends Object with MixIn {}
diff --git a/tests/language_2/regress/regress25246_2.dart b/tests/language_2/regress/regress25246_2.dart
index 3c91e73..438b9c3 100644
--- a/tests/language_2/regress/regress25246_2.dart
+++ b/tests/language_2/regress/regress25246_2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'regress25246_3.dart';
 
 class MixIn {
diff --git a/tests/language_2/regress/regress25246_3.dart b/tests/language_2/regress/regress25246_3.dart
index ce61a2e..fb781b2 100644
--- a/tests/language_2/regress/regress25246_3.dart
+++ b/tests/language_2/regress/regress25246_3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Test3 {
   final fn;
   Test3(this.fn);
diff --git a/tests/language_2/regress/regress25389_part.dart b/tests/language_2/regress/regress25389_part.dart
index 254c87b..0117fa0 100644
--- a/tests/language_2/regress/regress25389_part.dart
+++ b/tests/language_2/regress/regress25389_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of regress_25389;
 
 abstract class ComponentState<S extends ComponentState<S>> {}
diff --git a/tests/language_2/regress/regress25389_test.dart b/tests/language_2/regress/regress25389_test.dart
index 8a4b882..546350b 100644
--- a/tests/language_2/regress/regress25389_test.dart
+++ b/tests/language_2/regress/regress25389_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.9
+
 library regress_25389;
 
 part 'regress25389_part.dart';
diff --git a/tests/language_2/regress/regress25550_test.dart b/tests/language_2/regress/regress25550_test.dart
index 4a8a7c5..d679f36 100644
--- a/tests/language_2/regress/regress25550_test.dart
+++ b/tests/language_2/regress/regress25550_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.9
+
 typedef int Adder(int a, int b);
 
 class Mock {
diff --git a/tests/language_2/regress/regress25568_test.dart b/tests/language_2/regress/regress25568_test.dart
index 14d4986..7f756ef 100644
--- a/tests/language_2/regress/regress25568_test.dart
+++ b/tests/language_2/regress/regress25568_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.9
+
 main() {
   var c1 = new BacklogListEditorState();
   var c2 = new BacklogsState();
diff --git a/tests/language_2/regress/regress25609_lib1.dart b/tests/language_2/regress/regress25609_lib1.dart
index 1e9c886..ae8cbfc 100644
--- a/tests/language_2/regress/regress25609_lib1.dart
+++ b/tests/language_2/regress/regress25609_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.9
+
 library regress_25609_lib1;
 
 import 'regress25609_lib2.dart';
diff --git a/tests/language_2/regress/regress25609_lib2.dart b/tests/language_2/regress/regress25609_lib2.dart
index d51c061..bfbb2f9 100644
--- a/tests/language_2/regress/regress25609_lib2.dart
+++ b/tests/language_2/regress/regress25609_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.9
+
 library regress_25609_lib2;
 
 typedef void Bar(double x);
diff --git a/tests/language_2/regress/regress25609_test.dart b/tests/language_2/regress/regress25609_test.dart
index 074eca6..18884df 100644
--- a/tests/language_2/regress/regress25609_test.dart
+++ b/tests/language_2/regress/regress25609_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.9
+
 import 'regress25609_lib1.dart';
 
 Foo baz() => null;
diff --git a/tests/language_2/regress/regress25620_test.dart b/tests/language_2/regress/regress25620_test.dart
index ed47189..bde71a2 100644
--- a/tests/language_2/regress/regress25620_test.dart
+++ b/tests/language_2/regress/regress25620_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.9
+
 import "dart:async";
 
 typedef Future<T> SyncedExecutionFn<T>(Future<T> fn());
diff --git a/tests/language_2/regress/regress25935_test.dart b/tests/language_2/regress/regress25935_test.dart
index 5b2e4e1..de84161 100644
--- a/tests/language_2/regress/regress25935_test.dart
+++ b/tests/language_2/regress/regress25935_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.9
+
 main() {
   AddIssueSourceMember2 m = new AddIssueSourceMember2();
 }
diff --git a/tests/language_2/regress/regress26133_test.dart b/tests/language_2/regress/regress26133_test.dart
index 7c657a1..f1d3326 100644
--- a/tests/language_2/regress/regress26133_test.dart
+++ b/tests/language_2/regress/regress26133_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.9
+
 import 'dart:async';
 
 var x = 'a';
diff --git a/tests/language_2/regress/regress26175_test.dart b/tests/language_2/regress/regress26175_test.dart
index dd7ac2a..8e2dd08 100644
--- a/tests/language_2/regress/regress26175_test.dart
+++ b/tests/language_2/regress/regress26175_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.9
+
 import 'dart:async';
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/regress/regress26230_test.dart b/tests/language_2/regress/regress26230_test.dart
index 77792bc..31b645d 100644
--- a/tests/language_2/regress/regress26230_test.dart
+++ b/tests/language_2/regress/regress26230_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.9
+
 class _RenderTabBar extends RenderBox
     with
         ContainerRenderObjectMixin<RenderBox, _TabBarParentData>,
diff --git a/tests/language_2/regress/regress26453_test.dart b/tests/language_2/regress/regress26453_test.dart
index 32d6f59..fc7b612 100644
--- a/tests/language_2/regress/regress26453_test.dart
+++ b/tests/language_2/regress/regress26453_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.9
+
 // The program crashed with segfault because we when we first compile foo
 // and bar we allocate all four variables (a, b, c and d) to the context.
 // When we compile foo the second time (with optimizations) we allocate
diff --git a/tests/language_2/regress/regress26530_test.dart b/tests/language_2/regress/regress26530_test.dart
index ab22638..881dc04 100644
--- a/tests/language_2/regress/regress26530_test.dart
+++ b/tests/language_2/regress/regress26530_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.9
+
 import "package:expect/expect.dart";
 
 var trace = "";
diff --git a/tests/language_2/regress/regress26543_1_test.dart b/tests/language_2/regress/regress26543_1_test.dart
index 39305f6..1939171 100644
--- a/tests/language_2/regress/regress26543_1_test.dart
+++ b/tests/language_2/regress/regress26543_1_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.9
+
 // Regression test for issue 26543
 
 class C {
diff --git a/tests/language_2/regress/regress26543_2_test.dart b/tests/language_2/regress/regress26543_2_test.dart
index ac7b5f5..ba569b2 100644
--- a/tests/language_2/regress/regress26543_2_test.dart
+++ b/tests/language_2/regress/regress26543_2_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.9
+
 // Regression test for issue 26543
 
 class C {
diff --git a/tests/language_2/regress/regress26543_3_test.dart b/tests/language_2/regress/regress26543_3_test.dart
index 91bbfa4..5ed39d2 100644
--- a/tests/language_2/regress/regress26543_3_test.dart
+++ b/tests/language_2/regress/regress26543_3_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.9
+
 // Regression test for issue 26543
 
 class C {
diff --git a/tests/language_2/regress/regress26668_test.dart b/tests/language_2/regress/regress26668_test.dart
index 4a29458..9b4b998 100644
--- a/tests/language_2/regress/regress26668_test.dart
+++ b/tests/language_2/regress/regress26668_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.9
+
 import 'dart:async';
 
 main() async {
diff --git a/tests/language_2/regress/regress26855_runtime_test.dart b/tests/language_2/regress/regress26855_runtime_test.dart
index a5cc175..9802c5c 100644
--- a/tests/language_2/regress/regress26855_runtime_test.dart
+++ b/tests/language_2/regress/regress26855_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/regress/regress26855_test.dart b/tests/language_2/regress/regress26855_test.dart
index 889d1ee..c34f264 100644
--- a/tests/language_2/regress/regress26855_test.dart
+++ b/tests/language_2/regress/regress26855_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.9
+
 void f0(this.x) {}
 //      ^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.FIELD_INITIALIZER_OUTSIDE_CONSTRUCTOR
diff --git a/tests/language_2/regress/regress26948_test.dart b/tests/language_2/regress/regress26948_test.dart
index c37d3f7..7dbd0db 100644
--- a/tests/language_2/regress/regress26948_test.dart
+++ b/tests/language_2/regress/regress26948_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/regress/regress27164_test.dart b/tests/language_2/regress/regress27164_test.dart
index a71873c..7b6766b 100644
--- a/tests/language_2/regress/regress27164_test.dart
+++ b/tests/language_2/regress/regress27164_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.9
+
 // Regression test for issue 27164.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress27572_test.dart b/tests/language_2/regress/regress27572_test.dart
index 398fdb9..9f9b037 100644
--- a/tests/language_2/regress/regress27572_test.dart
+++ b/tests/language_2/regress/regress27572_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.9
+
 // Test has been modified and doesn't test http://dartbug.com/275272 anymore.
 // Static unresolved calls are not allowed anymore.
 
diff --git a/tests/language_2/regress/regress27617_runtime_test.dart b/tests/language_2/regress/regress27617_runtime_test.dart
index e75bc21..3a1dca6 100644
--- a/tests/language_2/regress/regress27617_runtime_test.dart
+++ b/tests/language_2/regress/regress27617_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/regress/regress27617_test.dart b/tests/language_2/regress/regress27617_test.dart
index fbd06e4..1645a7c 100644
--- a/tests/language_2/regress/regress27617_test.dart
+++ b/tests/language_2/regress/regress27617_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.9
+
 class Foo {
   final String greeting;
   Foo._(this.greeting) {}
diff --git a/tests/language_2/regress/regress27659_test.dart b/tests/language_2/regress/regress27659_test.dart
index e40a886..06b5ac37 100644
--- a/tests/language_2/regress/regress27659_test.dart
+++ b/tests/language_2/regress/regress27659_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.9
+
 const String lineLength = '120';
 
 foo({lineLength: lineLength}) {
diff --git a/tests/language_2/regress/regress27700_test.dart b/tests/language_2/regress/regress27700_test.dart
index c5bacec..2054f70 100644
--- a/tests/language_2/regress/regress27700_test.dart
+++ b/tests/language_2/regress/regress27700_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.9
+
 // Regression test for issue 27700.
 
 main() {
diff --git a/tests/language_2/regress/regress27957_lib1.dart b/tests/language_2/regress/regress27957_lib1.dart
index 7a06ff3..e8a16e8 100644
--- a/tests/language_2/regress/regress27957_lib1.dart
+++ b/tests/language_2/regress/regress27957_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.9
+
 library regress_27957_lib1;
 
 class Superclass {
diff --git a/tests/language_2/regress/regress27957_lib2.dart b/tests/language_2/regress/regress27957_lib2.dart
index 24097d0..babe611 100644
--- a/tests/language_2/regress/regress27957_lib2.dart
+++ b/tests/language_2/regress/regress27957_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.9
+
 library regress_27957_lib2;
 
 class Superclass {
diff --git a/tests/language_2/regress/regress27957_test.dart b/tests/language_2/regress/regress27957_test.dart
index 1c5dbcd..fa3fa74 100644
--- a/tests/language_2/regress/regress27957_test.dart
+++ b/tests/language_2/regress/regress27957_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.9
+
 import "package:expect/expect.dart";
 import 'regress27957_lib1.dart' as s1;
 import 'regress27957_lib2.dart' as s2;
diff --git a/tests/language_2/regress/regress28217_test.dart b/tests/language_2/regress/regress28217_test.dart
index a49876f..06fc8da 100644
--- a/tests/language_2/regress/regress28217_test.dart
+++ b/tests/language_2/regress/regress28217_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.9
+
 // Test non-existing redirecting constructor and
 // redirecting to a factory constructor.
 
diff --git a/tests/language_2/regress/regress28268_test.dart b/tests/language_2/regress/regress28268_test.dart
index a2a0bd5..591fa94 100644
--- a/tests/language_2/regress/regress28268_test.dart
+++ b/tests/language_2/regress/regress28268_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.9
+
 import 'package:expect/expect.dart';
 
 class E {
diff --git a/tests/language_2/regress/regress28278_lib.dart b/tests/language_2/regress/regress28278_lib.dart
index 0bc67f1..510109a 100644
--- a/tests/language_2/regress/regress28278_lib.dart
+++ b/tests/language_2/regress/regress28278_lib.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.9
+
 foo(x) => x + "Hello";
diff --git a/tests/language_2/regress/regress28278_test.dart b/tests/language_2/regress/regress28278_test.dart
index aaeed57..0f2004f 100644
--- a/tests/language_2/regress/regress28278_test.dart
+++ b/tests/language_2/regress/regress28278_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--load-deferred-eagerly
 // VMOptions=
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 import "regress28278_lib.dart" deferred as def;
diff --git a/tests/language_2/regress/regress28341_test.dart b/tests/language_2/regress/regress28341_test.dart
index c43d594..c15df1c 100644
--- a/tests/language_2/regress/regress28341_test.dart
+++ b/tests/language_2/regress/regress28341_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.9
+
 import "package:expect/expect.dart";
 
 enum E { A }
diff --git a/tests/language_2/regress/regress28498_test.dart b/tests/language_2/regress/regress28498_test.dart
index 664d33b..9251f02 100644
--- a/tests/language_2/regress/regress28498_test.dart
+++ b/tests/language_2/regress/regress28498_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.9
+
 // The Kernel async transformer should not skip assert statements.
 
 import 'dart:async';
diff --git a/tests/language_2/regress/regress28610_test.dart b/tests/language_2/regress/regress28610_test.dart
index adefd32d..b8b3755 100644
--- a/tests/language_2/regress/regress28610_test.dart
+++ b/tests/language_2/regress/regress28610_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/regress/regress29025_test.dart b/tests/language_2/regress/regress29025_test.dart
index 867d738..f9a6b8c 100644
--- a/tests/language_2/regress/regress29025_test.dart
+++ b/tests/language_2/regress/regress29025_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.9
+
 abstract class F<T> {
   T foo(T t);
 }
diff --git a/tests/language_2/regress/regress29243_test.dart b/tests/language_2/regress/regress29243_test.dart
index 60b0cb7..108ce42 100644
--- a/tests/language_2/regress/regress29243_test.dart
+++ b/tests/language_2/regress/regress29243_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.9
+
 import "package:expect/expect.dart";
 
 int Function() x = () => 42;
diff --git a/tests/language_2/regress/regress29349_test.dart b/tests/language_2/regress/regress29349_test.dart
index ea91b79..d91e6be 100644
--- a/tests/language_2/regress/regress29349_test.dart
+++ b/tests/language_2/regress/regress29349_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.9
+
 List<T> get<T>(T item) => <T>[item];
 List<T> get2<T>(T item) => <T>[item];
 
diff --git a/tests/language_2/regress/regress29357_test.dart b/tests/language_2/regress/regress29357_test.dart
index 3777e3c..34efe15 100644
--- a/tests/language_2/regress/regress29357_test.dart
+++ b/tests/language_2/regress/regress29357_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.9
+
 abstract class A<T extends A<T>> {}
 
 abstract class B<T extends A<T>> {}
diff --git a/tests/language_2/regress/regress29784_runtime_test.dart b/tests/language_2/regress/regress29784_runtime_test.dart
index f145ed4..aa53e16 100644
--- a/tests/language_2/regress/regress29784_runtime_test.dart
+++ b/tests/language_2/regress/regress29784_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/regress/regress29784_test.dart b/tests/language_2/regress/regress29784_test.dart
index 37db686..4bef070 100644
--- a/tests/language_2/regress/regress29784_test.dart
+++ b/tests/language_2/regress/regress29784_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.9
+
 // VMOptions=--enable_asserts
 
 // Verify that only static members can be accessed in initializers, and this
diff --git a/tests/language_2/regress/regress29949_test.dart b/tests/language_2/regress/regress29949_test.dart
index 8685fae..b3d00ca 100644
--- a/tests/language_2/regress/regress29949_test.dart
+++ b/tests/language_2/regress/regress29949_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.9
+
 abstract class S {}
 
 abstract class M<T> {}
diff --git a/tests/language_2/regress/regress30092_test.dart b/tests/language_2/regress/regress30092_test.dart
index 46ff3cd..1196edb 100644
--- a/tests/language_2/regress/regress30092_test.dart
+++ b/tests/language_2/regress/regress30092_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.9
+
 class BigInt {}
 
 main() {
diff --git a/tests/language_2/regress/regress30121_test.dart b/tests/language_2/regress/regress30121_test.dart
index 99451f5..835ad83 100644
--- a/tests/language_2/regress/regress30121_test.dart
+++ b/tests/language_2/regress/regress30121_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.9
+
 class Mock {
   noSuchMethod(i) {}
 }
diff --git a/tests/language_2/regress/regress30339_test.dart b/tests/language_2/regress/regress30339_test.dart
index c3a6861..a7ea7db 100644
--- a/tests/language_2/regress/regress30339_test.dart
+++ b/tests/language_2/regress/regress30339_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress30516_test.dart b/tests/language_2/regress/regress30516_test.dart
index d62e4d6..424fdd4 100644
--- a/tests/language_2/regress/regress30516_test.dart
+++ b/tests/language_2/regress/regress30516_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.9
+
 typedef void RecognizerCallback<T>();
 typedef void GestureTapCancelCallback();
 GestureTapCancelCallback onTapCancel;
diff --git a/tests/language_2/regress/regress30669_test.dart b/tests/language_2/regress/regress30669_test.dart
index 967ee54..24f1ce7 100644
--- a/tests/language_2/regress/regress30669_test.dart
+++ b/tests/language_2/regress/regress30669_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.9
+
 import 'package:expect/expect.dart';
 
 class M {
diff --git a/tests/language_2/regress/regress30927_test.dart b/tests/language_2/regress/regress30927_test.dart
index dc3c9aa..5cd4490 100644
--- a/tests/language_2/regress/regress30927_test.dart
+++ b/tests/language_2/regress/regress30927_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.9
+
 import 'package:expect/expect.dart';
 
 class B {
diff --git a/tests/language_2/regress/regress31057_test.dart b/tests/language_2/regress/regress31057_test.dart
index aa443ef..b205976 100644
--- a/tests/language_2/regress/regress31057_test.dart
+++ b/tests/language_2/regress/regress31057_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.9
+
 // VMOptions=--reify-generic-functions
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress31066_test.dart b/tests/language_2/regress/regress31066_test.dart
index fa33f19..312fd0b 100644
--- a/tests/language_2/regress/regress31066_test.dart
+++ b/tests/language_2/regress/regress31066_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.9
+
 import 'package:expect/expect.dart';
 
 typedef Bar = int Function(int);
diff --git a/tests/language_2/regress/regress31106_test.dart b/tests/language_2/regress/regress31106_test.dart
index aa2cb71..3e431f7 100644
--- a/tests/language_2/regress/regress31106_test.dart
+++ b/tests/language_2/regress/regress31106_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/regress/regress31279_test.dart b/tests/language_2/regress/regress31279_test.dart
index 57b0914..398a048 100644
--- a/tests/language_2/regress/regress31279_test.dart
+++ b/tests/language_2/regress/regress31279_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.9
+
 abstract class Base {
   void update(void Function(Iterable) updates);
   void update2(void updates(Iterable iterable));
diff --git a/tests/language_2/regress/regress31436_test.dart b/tests/language_2/regress/regress31436_test.dart
index eace48f..f151b6c 100644
--- a/tests/language_2/regress/regress31436_test.dart
+++ b/tests/language_2/regress/regress31436_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.9
+
 import "package:expect/expect.dart";
 
 void block_test() {
diff --git a/tests/language_2/regress/regress31591_test.dart b/tests/language_2/regress/regress31591_test.dart
index 7b09643..95564f4 100644
--- a/tests/language_2/regress/regress31591_test.dart
+++ b/tests/language_2/regress/regress31591_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.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/regress/regress31596_covariant_declaration_test.dart b/tests/language_2/regress/regress31596_covariant_declaration_test.dart
index c9c9053..6c6297e 100644
--- a/tests/language_2/regress/regress31596_covariant_declaration_test.dart
+++ b/tests/language_2/regress/regress31596_covariant_declaration_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.9
+
 class I0 {}
 
 class A {}
diff --git a/tests/language_2/regress/regress31596_override_test.dart b/tests/language_2/regress/regress31596_override_test.dart
index 592ae44..57f9e7b 100644
--- a/tests/language_2/regress/regress31596_override_test.dart
+++ b/tests/language_2/regress/regress31596_override_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.9
+
 class I0 {}
 
 class A {}
diff --git a/tests/language_2/regress/regress31596_runtime_test.dart b/tests/language_2/regress/regress31596_runtime_test.dart
index c4dd7f0..c5d6223 100644
--- a/tests/language_2/regress/regress31596_runtime_test.dart
+++ b/tests/language_2/regress/regress31596_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/regress/regress31596_super_runtime_1_test.dart b/tests/language_2/regress/regress31596_super_runtime_1_test.dart
index b3cc5e1..70d96a5 100644
--- a/tests/language_2/regress/regress31596_super_runtime_1_test.dart
+++ b/tests/language_2/regress/regress31596_super_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress31596_super_runtime_2_test.dart b/tests/language_2/regress/regress31596_super_runtime_2_test.dart
index ba37a8c..1be5148 100644
--- a/tests/language_2/regress/regress31596_super_runtime_2_test.dart
+++ b/tests/language_2/regress/regress31596_super_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress31596_super_runtime_3_test.dart b/tests/language_2/regress/regress31596_super_runtime_3_test.dart
index 98e9f6e..d30aa10 100644
--- a/tests/language_2/regress/regress31596_super_runtime_3_test.dart
+++ b/tests/language_2/regress/regress31596_super_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress31596_super_runtime_test.dart b/tests/language_2/regress/regress31596_super_runtime_test.dart
index d65653a..f3d8434 100644
--- a/tests/language_2/regress/regress31596_super_runtime_test.dart
+++ b/tests/language_2/regress/regress31596_super_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress31596_super_test.dart b/tests/language_2/regress/regress31596_super_test.dart
index edf7e93..faa1668 100644
--- a/tests/language_2/regress/regress31596_super_test.dart
+++ b/tests/language_2/regress/regress31596_super_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.9
+
 import "package:expect/expect.dart";
 
 class I0 {}
diff --git a/tests/language_2/regress/regress31596_tearoff_test.dart b/tests/language_2/regress/regress31596_tearoff_test.dart
index 035a7c7..7b3a9a5 100644
--- a/tests/language_2/regress/regress31596_tearoff_test.dart
+++ b/tests/language_2/regress/regress31596_tearoff_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/regress/regress31596_test.dart b/tests/language_2/regress/regress31596_test.dart
index b70f62a..df94d09 100644
--- a/tests/language_2/regress/regress31596_test.dart
+++ b/tests/language_2/regress/regress31596_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/regress/regress32012_test.dart b/tests/language_2/regress/regress32012_test.dart
index 3e38419..1cc5cc2 100644
--- a/tests/language_2/regress/regress32012_test.dart
+++ b/tests/language_2/regress/regress32012_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.9
+
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/tests/language_2/regress/regress32267_test.dart b/tests/language_2/regress/regress32267_test.dart
index 5180b62..67f95ff 100644
--- a/tests/language_2/regress/regress32267_test.dart
+++ b/tests/language_2/regress/regress32267_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.9
+
 // There was a bug in the Kernel mixin transformation: it copied factory
 // constructors from the mixin into the mixin application class.  This could be
 // observed as an unbound type parameter which led to a crash.
diff --git a/tests/language_2/regress/regress32305_test.dart b/tests/language_2/regress/regress32305_test.dart
index 5943764..f86ad2c 100644
--- a/tests/language_2/regress/regress32305_test.dart
+++ b/tests/language_2/regress/regress32305_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.9
+
 void main() {
   int Function(int) f;
 
diff --git a/tests/language_2/regress/regress32353_2_test.dart b/tests/language_2/regress/regress32353_2_test.dart
index 19aff61..f4ff930 100644
--- a/tests/language_2/regress/regress32353_2_test.dart
+++ b/tests/language_2/regress/regress32353_2_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.9
+
 // The following compile-time error is expected:
 //
 // Error: 'D' can't implement both '#lib1::B<#lib1::D::X, #lib1::D::Y>' and
diff --git a/tests/language_2/regress/regress32353_test.dart b/tests/language_2/regress/regress32353_test.dart
index 080d46d..2b10961 100644
--- a/tests/language_2/regress/regress32353_test.dart
+++ b/tests/language_2/regress/regress32353_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.9
+
 import "package:expect/expect.dart";
 
 class io_FileSystemEntity {}
diff --git a/tests/language_2/regress/regress32372_test.dart b/tests/language_2/regress/regress32372_test.dart
index 2ce2b42..89c32c3 100644
--- a/tests/language_2/regress/regress32372_test.dart
+++ b/tests/language_2/regress/regress32372_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.9
+
 import "package:expect/expect.dart";
 
 class A extends Object with B<String>, C {}
diff --git a/tests/language_2/regress/regress32425_test.dart b/tests/language_2/regress/regress32425_test.dart
index fe19937..56ce6b9 100644
--- a/tests/language_2/regress/regress32425_test.dart
+++ b/tests/language_2/regress/regress32425_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.9
+
 import 'package:expect/expect.dart';
 
 class A<T> {}
diff --git a/tests/language_2/regress/regress32660_test.dart b/tests/language_2/regress/regress32660_test.dart
index eab8d80..090af81 100644
--- a/tests/language_2/regress/regress32660_test.dart
+++ b/tests/language_2/regress/regress32660_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.9
+
 // noSuchMethod does not overwrite actual implementations, so if an
 // implemetation of a member exists that doesn't fulfill the interface it's
 // an error.
diff --git a/tests/language_2/regress/regress33009_lib.dart b/tests/language_2/regress/regress33009_lib.dart
index 28afdbb..dd695fb 100644
--- a/tests/language_2/regress/regress33009_lib.dart
+++ b/tests/language_2/regress/regress33009_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class I<T> {
   T get foo => _foo;
   T _foo = null;
diff --git a/tests/language_2/regress/regress33009_test.dart b/tests/language_2/regress/regress33009_test.dart
index f951245..247fdb8 100644
--- a/tests/language_2/regress/regress33009_test.dart
+++ b/tests/language_2/regress/regress33009_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.9
+
 import 'regress33009_lib.dart';
 
 class A implements I<dynamic> {
diff --git a/tests/language_2/regress/regress33235_01_runtime_test.dart b/tests/language_2/regress/regress33235_01_runtime_test.dart
index 7ca47d7..691e16c 100644
--- a/tests/language_2/regress/regress33235_01_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_01_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_01_test.dart b/tests/language_2/regress/regress33235_01_test.dart
index 2936782..8671046 100644
--- a/tests/language_2/regress/regress33235_01_test.dart
+++ b/tests/language_2/regress/regress33235_01_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_02_runtime_test.dart b/tests/language_2/regress/regress33235_02_runtime_test.dart
index 8694344..9e469cb 100644
--- a/tests/language_2/regress/regress33235_02_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_02_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_02_test.dart b/tests/language_2/regress/regress33235_02_test.dart
index 5d9156b..ea9d171 100644
--- a/tests/language_2/regress/regress33235_02_test.dart
+++ b/tests/language_2/regress/regress33235_02_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_03_runtime_test.dart b/tests/language_2/regress/regress33235_03_runtime_test.dart
index 01801f6..694f8fd 100644
--- a/tests/language_2/regress/regress33235_03_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_03_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_03_test.dart b/tests/language_2/regress/regress33235_03_test.dart
index c47118d..47454b6 100644
--- a/tests/language_2/regress/regress33235_03_test.dart
+++ b/tests/language_2/regress/regress33235_03_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_04_runtime_test.dart b/tests/language_2/regress/regress33235_04_runtime_test.dart
index 56e2636..f49fb70 100644
--- a/tests/language_2/regress/regress33235_04_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_04_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_04_test.dart b/tests/language_2/regress/regress33235_04_test.dart
index 2214c0a..0e0be39 100644
--- a/tests/language_2/regress/regress33235_04_test.dart
+++ b/tests/language_2/regress/regress33235_04_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_05_runtime_test.dart b/tests/language_2/regress/regress33235_05_runtime_test.dart
index d2d1f9d..dca9426 100644
--- a/tests/language_2/regress/regress33235_05_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_05_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_05_test.dart b/tests/language_2/regress/regress33235_05_test.dart
index fa22f82..b3f6068 100644
--- a/tests/language_2/regress/regress33235_05_test.dart
+++ b/tests/language_2/regress/regress33235_05_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_06_runtime_test.dart b/tests/language_2/regress/regress33235_06_runtime_test.dart
index 4d9123d..4dd087b 100644
--- a/tests/language_2/regress/regress33235_06_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_06_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_06_test.dart b/tests/language_2/regress/regress33235_06_test.dart
index 3e36251..7df4b8a 100644
--- a/tests/language_2/regress/regress33235_06_test.dart
+++ b/tests/language_2/regress/regress33235_06_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_07_runtime_test.dart b/tests/language_2/regress/regress33235_07_runtime_test.dart
index 1100c43..8effc2d 100644
--- a/tests/language_2/regress/regress33235_07_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_07_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_07_test.dart b/tests/language_2/regress/regress33235_07_test.dart
index 9912e7c..04c9846 100644
--- a/tests/language_2/regress/regress33235_07_test.dart
+++ b/tests/language_2/regress/regress33235_07_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_08_runtime_test.dart b/tests/language_2/regress/regress33235_08_runtime_test.dart
index d2d1f9d..dca9426 100644
--- a/tests/language_2/regress/regress33235_08_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_08_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_08_test.dart b/tests/language_2/regress/regress33235_08_test.dart
index 26aa457..616cbf8 100644
--- a/tests/language_2/regress/regress33235_08_test.dart
+++ b/tests/language_2/regress/regress33235_08_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_09_runtime_test.dart b/tests/language_2/regress/regress33235_09_runtime_test.dart
index 4d9123d..4dd087b 100644
--- a/tests/language_2/regress/regress33235_09_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_09_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_09_test.dart b/tests/language_2/regress/regress33235_09_test.dart
index 4e17aa0..ebb2e9a 100644
--- a/tests/language_2/regress/regress33235_09_test.dart
+++ b/tests/language_2/regress/regress33235_09_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_10_runtime_test.dart b/tests/language_2/regress/regress33235_10_runtime_test.dart
index 1100c43..8effc2d 100644
--- a/tests/language_2/regress/regress33235_10_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_10_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_10_test.dart b/tests/language_2/regress/regress33235_10_test.dart
index cdb84e5..0ee2435 100644
--- a/tests/language_2/regress/regress33235_10_test.dart
+++ b/tests/language_2/regress/regress33235_10_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_11_runtime_test.dart b/tests/language_2/regress/regress33235_11_runtime_test.dart
index 56e2636..f49fb70 100644
--- a/tests/language_2/regress/regress33235_11_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_11_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_11_test.dart b/tests/language_2/regress/regress33235_11_test.dart
index ab32f57..d5cc87a 100644
--- a/tests/language_2/regress/regress33235_11_test.dart
+++ b/tests/language_2/regress/regress33235_11_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_12_runtime_test.dart b/tests/language_2/regress/regress33235_12_runtime_test.dart
index 777a912..4e4ff54 100644
--- a/tests/language_2/regress/regress33235_12_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_12_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_12_test.dart b/tests/language_2/regress/regress33235_12_test.dart
index c867285..2ce15bc 100644
--- a/tests/language_2/regress/regress33235_12_test.dart
+++ b/tests/language_2/regress/regress33235_12_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_13_runtime_test.dart b/tests/language_2/regress/regress33235_13_runtime_test.dart
index d5bd071..a186a46 100644
--- a/tests/language_2/regress/regress33235_13_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_13_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_13_test.dart b/tests/language_2/regress/regress33235_13_test.dart
index 9369c01..072cc27 100644
--- a/tests/language_2/regress/regress33235_13_test.dart
+++ b/tests/language_2/regress/regress33235_13_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_14_runtime_test.dart b/tests/language_2/regress/regress33235_14_runtime_test.dart
index 587dece..89bd3c1 100644
--- a/tests/language_2/regress/regress33235_14_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_14_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_14_test.dart b/tests/language_2/regress/regress33235_14_test.dart
index 0e9595e..91c5a86 100644
--- a/tests/language_2/regress/regress33235_14_test.dart
+++ b/tests/language_2/regress/regress33235_14_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_15_runtime_test.dart b/tests/language_2/regress/regress33235_15_runtime_test.dart
index 4d9123d..4dd087b 100644
--- a/tests/language_2/regress/regress33235_15_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_15_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_15_test.dart b/tests/language_2/regress/regress33235_15_test.dart
index 0e4eb85..01283cb 100644
--- a/tests/language_2/regress/regress33235_15_test.dart
+++ b/tests/language_2/regress/regress33235_15_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_16_runtime_test.dart b/tests/language_2/regress/regress33235_16_runtime_test.dart
index 4d9123d..4dd087b 100644
--- a/tests/language_2/regress/regress33235_16_runtime_test.dart
+++ b/tests/language_2/regress/regress33235_16_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress33235_16_test.dart b/tests/language_2/regress/regress33235_16_test.dart
index cd51ee4..0bd878c 100644
--- a/tests/language_2/regress/regress33235_16_test.dart
+++ b/tests/language_2/regress/regress33235_16_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_17_test.dart b/tests/language_2/regress/regress33235_17_test.dart
index 95ae7d7..a76e2a6 100644
--- a/tests/language_2/regress/regress33235_17_test.dart
+++ b/tests/language_2/regress/regress33235_17_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_18_test.dart b/tests/language_2/regress/regress33235_18_test.dart
index ec72cb1..41062ca 100644
--- a/tests/language_2/regress/regress33235_18_test.dart
+++ b/tests/language_2/regress/regress33235_18_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_19_test.dart b/tests/language_2/regress/regress33235_19_test.dart
index 999d661..85ffd63 100644
--- a/tests/language_2/regress/regress33235_19_test.dart
+++ b/tests/language_2/regress/regress33235_19_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_20_test.dart b/tests/language_2/regress/regress33235_20_test.dart
index d312026..278f50e 100644
--- a/tests/language_2/regress/regress33235_20_test.dart
+++ b/tests/language_2/regress/regress33235_20_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33235_21_test.dart b/tests/language_2/regress/regress33235_21_test.dart
index b013bce..f99b3b8 100644
--- a/tests/language_2/regress/regress33235_21_test.dart
+++ b/tests/language_2/regress/regress33235_21_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.9
+
 // Test for complience with tables at
 // https://github.com/dart-lang/sdk/issues/33235#issue-326617285
 // Files 01 to 16 should be compile time errors, files 17 to 21 should not.
diff --git a/tests/language_2/regress/regress33392_test.dart b/tests/language_2/regress/regress33392_test.dart
index 18e2b73..e25a3de 100644
--- a/tests/language_2/regress/regress33392_test.dart
+++ b/tests/language_2/regress/regress33392_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress33479_runtime_test.dart b/tests/language_2/regress/regress33479_runtime_test.dart
index c6f47a2..122be21 100644
--- a/tests/language_2/regress/regress33479_runtime_test.dart
+++ b/tests/language_2/regress/regress33479_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 class Hest<TypeX extends Fisk> {}
 
 typedef Fisk = void Function // don't merge lines
diff --git a/tests/language_2/regress/regress33479_test.dart b/tests/language_2/regress/regress33479_test.dart
index a825b94..3e038ac 100644
--- a/tests/language_2/regress/regress33479_test.dart
+++ b/tests/language_2/regress/regress33479_test.dart
@@ -1,11 +1,13 @@
+
+// @dart = 2.9
 class Hest<TypeX extends Fisk> {}
-//                       ^^^^
-// [analyzer] COMPILE_TIME_ERROR.NOT_INSTANTIATED_BOUND
 //         ^
 // [cfe] Type variables can't have generic function types in their bounds.
+//                       ^^^^
+// [analyzer] COMPILE_TIME_ERROR.NOT_INSTANTIATED_BOUND
 
 typedef Fisk = void Function // don't merge lines
-// [error line 7, column 1, length 346]
+// [error line 9, column 1, length 346]
 // [analyzer] COMPILE_TIME_ERROR.TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
 //      ^
 // [cfe] Generic type 'Fisk' can't be used without type arguments in the bounds of its own type variables. It is referenced indirectly through 'Hest'.
diff --git a/tests/language_2/regress/regress34034_test.dart b/tests/language_2/regress/regress34034_test.dart
index 6dd5f71..4df807b 100644
--- a/tests/language_2/regress/regress34034_test.dart
+++ b/tests/language_2/regress/regress34034_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.9
+
 import "package:expect/expect.dart";
 
 dynamic bar(int Function(int) f) => f;
diff --git a/tests/language_2/regress/regress34091.dart b/tests/language_2/regress/regress34091.dart
index 5756024..7e759d5 100644
--- a/tests/language_2/regress/regress34091.dart
+++ b/tests/language_2/regress/regress34091.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Tests that stack traces from data URIs don't contain the entire URI, and
 // instead just have the substitute file name: <data:application/dart>
 
diff --git a/tests/language_2/regress/regress34147_test.dart b/tests/language_2/regress/regress34147_test.dart
index 69ac743..ba74a1a 100644
--- a/tests/language_2/regress/regress34147_test.dart
+++ b/tests/language_2/regress/regress34147_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/regress/regress34225_test.dart b/tests/language_2/regress/regress34225_test.dart
index 0117672..b99d904 100644
--- a/tests/language_2/regress/regress34225_test.dart
+++ b/tests/language_2/regress/regress34225_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.9
+
 class C {
   static set C(v) {} //# 01: compile-time error
   set C(v) {} //# 02: compile-time error
diff --git a/tests/language_2/regress/regress34235_runtime_test.dart b/tests/language_2/regress/regress34235_runtime_test.dart
index 9cedc8e..1f8058cb 100644
--- a/tests/language_2/regress/regress34235_runtime_test.dart
+++ b/tests/language_2/regress/regress34235_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress34235_test.dart b/tests/language_2/regress/regress34235_test.dart
index 7451dc5..5c199a5 100644
--- a/tests/language_2/regress/regress34235_test.dart
+++ b/tests/language_2/regress/regress34235_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.9
+
 class Base {
   void foo() {}
 }
diff --git a/tests/language_2/regress/regress34392_test.dart b/tests/language_2/regress/regress34392_test.dart
index 286d8e1..afdb561 100644
--- a/tests/language_2/regress/regress34392_test.dart
+++ b/tests/language_2/regress/regress34392_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.9
+
 abstract class I {
   foo([a]);
 }
diff --git a/tests/language_2/regress/regress34404_flutter_modified_test.dart b/tests/language_2/regress/regress34404_flutter_modified_test.dart
index b78202a..82be4b1 100644
--- a/tests/language_2/regress/regress34404_flutter_modified_test.dart
+++ b/tests/language_2/regress/regress34404_flutter_modified_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.9
+
 // This test case is a reduction of some Flutter code, modified to use the new
 // mixin syntax.  We wish to verify that the class _DismissibleState doesn't
 // have any type inference errors.
diff --git a/tests/language_2/regress/regress34404_flutter_test.dart b/tests/language_2/regress/regress34404_flutter_test.dart
index 2e71697..9539112 100644
--- a/tests/language_2/regress/regress34404_flutter_test.dart
+++ b/tests/language_2/regress/regress34404_flutter_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.9
+
 // This test case is a reduction of some Flutter code.  We wish to verify that
 // the class _DismissibleState doesn't have any type inference errors.
 
diff --git a/tests/language_2/regress/regress34482_test.dart b/tests/language_2/regress/regress34482_test.dart
index 2390497..187c78b 100644
--- a/tests/language_2/regress/regress34482_test.dart
+++ b/tests/language_2/regress/regress34482_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.9
+
 import 'dart:async';
 
 main() {
diff --git a/tests/language_2/regress/regress34488_runtime_test.dart b/tests/language_2/regress/regress34488_runtime_test.dart
index 3c3d51c..b2957df 100644
--- a/tests/language_2/regress/regress34488_runtime_test.dart
+++ b/tests/language_2/regress/regress34488_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress34488_test.dart b/tests/language_2/regress/regress34488_test.dart
index 357087c..c0e4095 100644
--- a/tests/language_2/regress/regress34488_test.dart
+++ b/tests/language_2/regress/regress34488_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.9
+
 abstract class Base {
   void f(int i);
   void g([int i]);
diff --git a/tests/language_2/regress/regress34489_runtime_test.dart b/tests/language_2/regress/regress34489_runtime_test.dart
index 8cadeed..c2efaba 100644
--- a/tests/language_2/regress/regress34489_runtime_test.dart
+++ b/tests/language_2/regress/regress34489_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress34489_test.dart b/tests/language_2/regress/regress34489_test.dart
index 7fba3cb..28141dc 100644
--- a/tests/language_2/regress/regress34489_test.dart
+++ b/tests/language_2/regress/regress34489_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.9
+
 class C<T> {
   var field = T;
 }
diff --git a/tests/language_2/regress/regress34495_runtime_test.dart b/tests/language_2/regress/regress34495_runtime_test.dart
index f31c56d..3e13231 100644
--- a/tests/language_2/regress/regress34495_runtime_test.dart
+++ b/tests/language_2/regress/regress34495_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress34495_test.dart b/tests/language_2/regress/regress34495_test.dart
index 2e69b38..9fa3ec8 100644
--- a/tests/language_2/regress/regress34495_test.dart
+++ b/tests/language_2/regress/regress34495_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.9
+
 final foo = A<B>.foo();
 //          ^
 // [analyzer] COMPILE_TIME_ERROR.CREATION_WITH_NON_TYPE
diff --git a/tests/language_2/regress/regress34498_test.dart b/tests/language_2/regress/regress34498_test.dart
index c18ad0f..05b3c34 100644
--- a/tests/language_2/regress/regress34498_test.dart
+++ b/tests/language_2/regress/regress34498_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.9
+
 import 'dart:core';
 import 'dart:core' as core;
 
diff --git a/tests/language_2/regress/regress34514_test.dart b/tests/language_2/regress/regress34514_test.dart
index 063c500..8c78daa 100644
--- a/tests/language_2/regress/regress34514_test.dart
+++ b/tests/language_2/regress/regress34514_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.9
+
 // Inferred type should be `int`
 var x = (() => 1)();
 
diff --git a/tests/language_2/regress/regress34532_test.dart b/tests/language_2/regress/regress34532_test.dart
index da30e3b..9290830 100644
--- a/tests/language_2/regress/regress34532_test.dart
+++ b/tests/language_2/regress/regress34532_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.9
+
 class Foo<T> {}
 
 class Bar<T extends Foo<T>> {}
diff --git a/tests/language_2/regress/regress34635_test.dart b/tests/language_2/regress/regress34635_test.dart
index 6d1c6c8..597ec22 100644
--- a/tests/language_2/regress/regress34635_test.dart
+++ b/tests/language_2/regress/regress34635_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.9
+
 class /*@compile-error=unspecified*/ A<X extends C> {}
 
 class /*@compile-error=unspecified*/ C<X extends C> {}
diff --git a/tests/language_2/regress/regress34636_test.dart b/tests/language_2/regress/regress34636_test.dart
index 242eea0..fb71b45 100644
--- a/tests/language_2/regress/regress34636_test.dart
+++ b/tests/language_2/regress/regress34636_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.9
+
 class /*@compile-error=unspecified*/ A<X extends B> {}
 
 class /*@compile-error=unspecified*/ B<X extends C> {}
diff --git a/tests/language_2/regress/regress34870_test.dart b/tests/language_2/regress/regress34870_test.dart
index 750048d..04a4b04 100644
--- a/tests/language_2/regress/regress34870_test.dart
+++ b/tests/language_2/regress/regress34870_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.9
+
 // Regression test: superclass is not shadowed by class members.
 
 class A extends B {
diff --git a/tests/language_2/regress/regress34877_test.dart b/tests/language_2/regress/regress34877_test.dart
index 08ce3d4..02e36a1 100644
--- a/tests/language_2/regress/regress34877_test.dart
+++ b/tests/language_2/regress/regress34877_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.9
+
 // Regression test: ensure that async for loops remain async for loops when
 // mixed in.
 
diff --git a/tests/language_2/regress/regress34896_test.dart b/tests/language_2/regress/regress34896_test.dart
index d7a0ea3..43f38c16 100644
--- a/tests/language_2/regress/regress34896_test.dart
+++ b/tests/language_2/regress/regress34896_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.9
+
 // Regression test: verify super-signatures of super-invoked methods of a
 // mixin against the superclass, not signatures in the mixin.
 
diff --git a/tests/language_2/regress/regress34907_test.dart b/tests/language_2/regress/regress34907_test.dart
index 85fdf28..3a646bb 100644
--- a/tests/language_2/regress/regress34907_test.dart
+++ b/tests/language_2/regress/regress34907_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {}
diff --git a/tests/language_2/regress/regress35043_runtime_test.dart b/tests/language_2/regress/regress35043_runtime_test.dart
index f31c56d..3e13231 100644
--- a/tests/language_2/regress/regress35043_runtime_test.dart
+++ b/tests/language_2/regress/regress35043_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress35043_test.dart b/tests/language_2/regress/regress35043_test.dart
index d8c1b75..4bb870c 100644
--- a/tests/language_2/regress/regress35043_test.dart
+++ b/tests/language_2/regress/regress35043_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.9
+
 final foo = Map<int>();
 //          ^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
diff --git a/tests/language_2/regress/regress35090_test.dart b/tests/language_2/regress/regress35090_test.dart
index 3e3c564..405f764 100644
--- a/tests/language_2/regress/regress35090_test.dart
+++ b/tests/language_2/regress/regress35090_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/regress/regress35258_runtime_test.dart b/tests/language_2/regress/regress35258_runtime_test.dart
index 480fd21..62bdb49 100644
--- a/tests/language_2/regress/regress35258_runtime_test.dart
+++ b/tests/language_2/regress/regress35258_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress35258_test.dart b/tests/language_2/regress/regress35258_test.dart
index a5707b0..e084a5c 100644
--- a/tests/language_2/regress/regress35258_test.dart
+++ b/tests/language_2/regress/regress35258_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.9
+
 main() {
   new C(42);
   //  ^
diff --git a/tests/language_2/regress/regress35259_runtime_test.dart b/tests/language_2/regress/regress35259_runtime_test.dart
index cabe50a..203fbf4 100644
--- a/tests/language_2/regress/regress35259_runtime_test.dart
+++ b/tests/language_2/regress/regress35259_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress35259_test.dart b/tests/language_2/regress/regress35259_test.dart
index eb9b24c..245a0e6 100644
--- a/tests/language_2/regress/regress35259_test.dart
+++ b/tests/language_2/regress/regress35259_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.9
+
 class Supertype {
   factory Supertype() = Unresolved;
   //                    ^^^^^^^^^^
diff --git a/tests/language_2/regress/regress35260_runtime_test.dart b/tests/language_2/regress/regress35260_runtime_test.dart
index c15938c..c620ace 100644
--- a/tests/language_2/regress/regress35260_runtime_test.dart
+++ b/tests/language_2/regress/regress35260_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress35260_test.dart b/tests/language_2/regress/regress35260_test.dart
index 6ac594b..6b1f53f 100644
--- a/tests/language_2/regress/regress35260_test.dart
+++ b/tests/language_2/regress/regress35260_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.9
+
 class Supertype {
   factory Supertype() = X;
   factory Supertype() = X;
diff --git a/tests/language_2/regress/regress35266_runtime_test.dart b/tests/language_2/regress/regress35266_runtime_test.dart
index 00ff9ca..3600605 100644
--- a/tests/language_2/regress/regress35266_runtime_test.dart
+++ b/tests/language_2/regress/regress35266_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/regress/regress35266_test.dart b/tests/language_2/regress/regress35266_test.dart
index 713c328..bd0dab1 100644
--- a/tests/language_2/regress/regress35266_test.dart
+++ b/tests/language_2/regress/regress35266_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.9
+
 class B<T> extends C<T> {
   B();
   factory B.foo() = B<T>;
diff --git a/tests/language_2/regress/regress35542_test.dart b/tests/language_2/regress/regress35542_test.dart
index 9b4a217..4347802 100644
--- a/tests/language_2/regress/regress35542_test.dart
+++ b/tests/language_2/regress/regress35542_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/regress/regress36084_test.dart b/tests/language_2/regress/regress36084_test.dart
index d16706e..bd033ba 100644
--- a/tests/language_2/regress/regress36084_test.dart
+++ b/tests/language_2/regress/regress36084_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/regress/regress3806_test.dart b/tests/language_2/regress/regress3806_test.dart
index 16cfa13..3fd3fa9 100644
--- a/tests/language_2/regress/regress3806_test.dart
+++ b/tests/language_2/regress/regress3806_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.9
+
 // Dart2js produced a statement in an expression context for this test.
 
 class A {
diff --git a/tests/language_2/regress/regress38816_test.dart b/tests/language_2/regress/regress38816_test.dart
index 840e082..663e5c5 100644
--- a/tests/language_2/regress/regress38816_test.dart
+++ b/tests/language_2/regress/regress38816_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.9
+
 import "package:expect/expect.dart";
 
 void foo<T extends num>(T x) {}
diff --git a/tests/language_2/regress/regress40066_test.dart b/tests/language_2/regress/regress40066_test.dart
index caa08a4..8cc9128 100644
--- a/tests/language_2/regress/regress40066_test.dart
+++ b/tests/language_2/regress/regress40066_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/regress/regress40765_test.dart b/tests/language_2/regress/regress40765_test.dart
index 711cf10..6037c00 100644
--- a/tests/language_2/regress/regress40765_test.dart
+++ b/tests/language_2/regress/regress40765_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.9
+
 class Something {
   final int x;
   Something({this.x});
diff --git a/tests/language_2/regress/regress4157508_test.dart b/tests/language_2/regress/regress4157508_test.dart
index af08c9d..a2bd111 100644
--- a/tests/language_2/regress/regress4157508_test.dart
+++ b/tests/language_2/regress/regress4157508_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.9
+
 class Issue4157508Test {
   Issue4157508Test(var v) {
     var d = new DateTime.fromMillisecondsSinceEpoch(v, isUtc: true);
diff --git a/tests/language_2/regress/regress41613_test.dart b/tests/language_2/regress/regress41613_test.dart
index 5c31ecb..91dbfd4 100644
--- a/tests/language_2/regress/regress41613_test.dart
+++ b/tests/language_2/regress/regress41613_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/regress/regress41983_test.dart b/tests/language_2/regress/regress41983_test.dart
index 87f9519..12970c9 100644
--- a/tests/language_2/regress/regress41983_test.dart
+++ b/tests/language_2/regress/regress41983_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/regress/regress42946_test.dart b/tests/language_2/regress/regress42946_test.dart
index 008793f..2092115 100644
--- a/tests/language_2/regress/regress42946_test.dart
+++ b/tests/language_2/regress/regress42946_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.9
+
 import 'package:expect/expect.dart';
 
 /// https://github.com/dart-lang/sdk/issues/42946
diff --git a/tests/language_2/regress/regress4295001_test.dart b/tests/language_2/regress/regress4295001_test.dart
index 5e42348..d8719c9 100644
--- a/tests/language_2/regress/regress4295001_test.dart
+++ b/tests/language_2/regress/regress4295001_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.9
+
 class Issue4295001Test {
   String foo;
   Issue4295001Test(String s) : this.foo = s {
diff --git a/tests/language_2/regress/regress42954_test.dart b/tests/language_2/regress/regress42954_test.dart
index 93c5d2b..c201abe 100644
--- a/tests/language_2/regress/regress42954_test.dart
+++ b/tests/language_2/regress/regress42954_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/regress/regress44136_test.dart b/tests/language_2/regress/regress44136_test.dart
index 8478fc5..6607e6a 100644
--- a/tests/language_2/regress/regress44136_test.dart
+++ b/tests/language_2/regress/regress44136_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.9
+
 import "package:expect/expect.dart";
 
 typedef Foo = void Function<X extends dynamic>();
diff --git a/tests/language_2/regress/regress45060_test.dart b/tests/language_2/regress/regress45060_test.dart
index 1681580..e1e6e32 100644
--- a/tests/language_2/regress/regress45060_test.dart
+++ b/tests/language_2/regress/regress45060_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/regress/regress4515170_test.dart b/tests/language_2/regress/regress4515170_test.dart
index b187204..9b8f70c 100644
--- a/tests/language_2/regress/regress4515170_test.dart
+++ b/tests/language_2/regress/regress4515170_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.9
+
 import "package:expect/expect.dart";
 
 class Issue4515170Test {
diff --git a/tests/language_2/regress/regress45428_test.dart b/tests/language_2/regress/regress45428_test.dart
index 37c1427..115321d 100644
--- a/tests/language_2/regress/regress45428_test.dart
+++ b/tests/language_2/regress/regress45428_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.9
+
 import 'package:expect/expect.dart';
 
 void something(List<String> l) {
diff --git a/tests/language_2/regress/regress45642_test.dart b/tests/language_2/regress/regress45642_test.dart
index 9222e13..0ca83ea 100644
--- a/tests/language_2/regress/regress45642_test.dart
+++ b/tests/language_2/regress/regress45642_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.9
+
 class Utils {
   static final foo = Foo(() {});
 }
diff --git a/tests/language_2/regress/regress65278_test.dart b/tests/language_2/regress/regress65278_test.dart
index 9edf22c..71d879d 100644
--- a/tests/language_2/regress/regress65278_test.dart
+++ b/tests/language_2/regress/regress65278_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.9
+
 void main() {
   ContentTabsWidget();
 }
diff --git a/tests/language_2/regress/regress6725_part.dart b/tests/language_2/regress/regress6725_part.dart
index 8687837..7ea5571 100644
--- a/tests/language_2/regress/regress6725_part.dart
+++ b/tests/language_2/regress/regress6725_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test for a crash in dart2js.
 
 part of crash_6725;
diff --git a/tests/language_2/regress/regress6725_runtime_test.dart b/tests/language_2/regress/regress6725_runtime_test.dart
index 6b07ac0..28aa582 100644
--- a/tests/language_2/regress/regress6725_runtime_test.dart
+++ b/tests/language_2/regress/regress6725_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/regress/regress6725_test.dart b/tests/language_2/regress/regress6725_test.dart
index 96df166..3e2abe3 100644
--- a/tests/language_2/regress/regress6725_test.dart
+++ b/tests/language_2/regress/regress6725_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.9
+
 // Regression test for a crash in dart2js.
 
 library crash_6725;
diff --git a/tests/language_2/regress/regress7513_test.dart b/tests/language_2/regress/regress7513_test.dart
index 5df021b..bda6041 100644
--- a/tests/language_2/regress/regress7513_test.dart
+++ b/tests/language_2/regress/regress7513_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 7513.
diff --git a/tests/language_2/regress/regress7525_test.dart b/tests/language_2/regress/regress7525_test.dart
index c7fe377..8f724f0 100644
--- a/tests/language_2/regress/regress7525_test.dart
+++ b/tests/language_2/regress/regress7525_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 7525.
diff --git a/tests/language_2/regress/regress9602_other.dart b/tests/language_2/regress/regress9602_other.dart
index a189b77..9d5380c 100644
--- a/tests/language_2/regress/regress9602_other.dart
+++ b/tests/language_2/regress/regress9602_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test case for http://dartbug.com/9602
 library issue9602_other;
 
diff --git a/tests/language_2/regress/regress9602_test.dart b/tests/language_2/regress/regress9602_test.dart
index 8900388..a658b68 100644
--- a/tests/language_2/regress/regress9602_test.dart
+++ b/tests/language_2/regress/regress9602_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.9
+
 // Regression test case for http://dartbug.com/9602
 library issue9602;
 
diff --git a/tests/language_2/regress/regress9664_test.dart b/tests/language_2/regress/regress9664_test.dart
index b8b3c2d..5265d17 100644
--- a/tests/language_2/regress/regress9664_test.dart
+++ b/tests/language_2/regress/regress9664_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.9
+
 // Regression test for http://dartbug.com/9664
 
 main() {
diff --git a/tests/language_2/regress/regress9687_test.dart b/tests/language_2/regress/regress9687_test.dart
index 5b08b79..f79e315 100644
--- a/tests/language_2/regress/regress9687_test.dart
+++ b/tests/language_2/regress/regress9687_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.9
+
 // Regression test for dart2js code generation in checked mode. See
 // last part of https://code.google.com/p/dart/issues/detail?id=9687.
 
diff --git a/tests/language_2/regress/regress9939_test.dart b/tests/language_2/regress/regress9939_test.dart
index 1a3c705..c36b709 100644
--- a/tests/language_2/regress/regress9939_test.dart
+++ b/tests/language_2/regress/regress9939_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.9
+
 // dart2js was generating incorrect code for the [A] constructor, by
 // using a temporary variable for two instructions, even though they
 // are both live at the same time.
diff --git a/tests/language_2/regress/regress9949_test.dart b/tests/language_2/regress/regress9949_test.dart
index 38ff6ed..0054039 100644
--- a/tests/language_2/regress/regress9949_test.dart
+++ b/tests/language_2/regress/regress9949_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.9
+
 // Regression test for dart2js that used to crash in the presence of a
 // super constructor declared external.
 
diff --git a/tests/language_2/resolution/resolution_test.dart b/tests/language_2/resolution/resolution_test.dart
index e9c1dc7..917765a 100644
--- a/tests/language_2/resolution/resolution_test.dart
+++ b/tests/language_2/resolution/resolution_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.9
+
 import "package:expect/expect.dart";
 
 int get foo => 499;
diff --git a/tests/language_2/resolution/resolve_test.dart b/tests/language_2/resolution/resolve_test.dart
index 6cc392c..e3ce6ce 100644
--- a/tests/language_2/resolution/resolve_test.dart
+++ b/tests/language_2/resolution/resolve_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing resolving of dynamic and static calls.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/resolution/unqual_name_test.dart b/tests/language_2/resolution/unqual_name_test.dart
index d4c8d48..d31af19 100644
--- a/tests/language_2/resolution/unqual_name_test.dart
+++ b/tests/language_2/resolution/unqual_name_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program to check that we can resolve unqualified identifiers
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/return/in_loop_test.dart b/tests/language_2/return/in_loop_test.dart
index ebf100d..e664dd2 100644
--- a/tests/language_2/return/in_loop_test.dart
+++ b/tests/language_2/return/in_loop_test.dart
@@ -4,6 +4,8 @@
 // Test for a dart2js bug where the live environment was not computed
 // right.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/return/skip_expression_test.dart b/tests/language_2/return/skip_expression_test.dart
index a035fda..09c83cd 100644
--- a/tests/language_2/return/skip_expression_test.dart
+++ b/tests/language_2/return/skip_expression_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.9
+
 import "package:expect/expect.dart";
 
 class OneArg<A> {
diff --git a/tests/language_2/return/this_type_test.dart b/tests/language_2/return/this_type_test.dart
index 8187b76..95d5f01 100644
--- a/tests/language_2/return/this_type_test.dart
+++ b/tests/language_2/return/this_type_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.9
+
 // Make sure the engine does not infer the wrong type for [:A.foo:].
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/return/type_test.dart b/tests/language_2/return/type_test.dart
index 99060b5..1ca6c56 100644
--- a/tests/language_2/return/type_test.dart
+++ b/tests/language_2/return/type_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.9
+
 import "package:expect/expect.dart";
 
 int returnString1() => 's';  /*@compile-error=unspecified*/
diff --git a/tests/language_2/rewrite/assign_test.dart b/tests/language_2/rewrite/assign_test.dart
index 2a51f68..7d9c90f 100644
--- a/tests/language_2/rewrite/assign_test.dart
+++ b/tests/language_2/rewrite/assign_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.9
+
 import "package:expect/expect.dart";
 
 bar(x, y) {}
diff --git a/tests/language_2/rewrite/compound_assign_test.dart b/tests/language_2/rewrite/compound_assign_test.dart
index ba4c1ef..ca1e634 100644
--- a/tests/language_2/rewrite/compound_assign_test.dart
+++ b/tests/language_2/rewrite/compound_assign_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.9
+
 import "package:expect/expect.dart";
 
 var global = 0;
diff --git a/tests/language_2/rewrite/conditional_test.dart b/tests/language_2/rewrite/conditional_test.dart
index 4e98475..fb5b6b1 100644
--- a/tests/language_2/rewrite/conditional_test.dart
+++ b/tests/language_2/rewrite/conditional_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.9
+
 import 'package:expect/expect.dart';
 
 var global = 0;
diff --git a/tests/language_2/rewrite/for_update_order_test.dart b/tests/language_2/rewrite/for_update_order_test.dart
index ebdbbb1..d6f6ffc 100644
--- a/tests/language_2/rewrite/for_update_order_test.dart
+++ b/tests/language_2/rewrite/for_update_order_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.9
+
 import "package:expect/expect.dart";
 
 var counter = 0;
diff --git a/tests/language_2/rewrite/if_empty_then_test.dart b/tests/language_2/rewrite/if_empty_then_test.dart
index 908b496..fb7dfab 100644
--- a/tests/language_2/rewrite/if_empty_then_test.dart
+++ b/tests/language_2/rewrite/if_empty_then_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.9
+
 import "package:expect/expect.dart";
 
 var global = 0;
diff --git a/tests/language_2/rewrite/if_return_test.dart b/tests/language_2/rewrite/if_return_test.dart
index 3c57605..10f3af8 100644
--- a/tests/language_2/rewrite/if_return_test.dart
+++ b/tests/language_2/rewrite/if_return_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.9
+
 import "package:expect/expect.dart";
 
 var global = 0;
diff --git a/tests/language_2/rewrite/if_swap_test.dart b/tests/language_2/rewrite/if_swap_test.dart
index fbde492..ad4e2cf 100644
--- a/tests/language_2/rewrite/if_swap_test.dart
+++ b/tests/language_2/rewrite/if_swap_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.9
+
 import "package:expect/expect.dart";
 
 var global = 0;
diff --git a/tests/language_2/rewrite/implicit_this_runtime_test.dart b/tests/language_2/rewrite/implicit_this_runtime_test.dart
index 7fd2b78..b2afcbe 100644
--- a/tests/language_2/rewrite/implicit_this_runtime_test.dart
+++ b/tests/language_2/rewrite/implicit_this_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/rewrite/implicit_this_test.dart b/tests/language_2/rewrite/implicit_this_test.dart
index 28adbcf..005fe17 100644
--- a/tests/language_2/rewrite/implicit_this_test.dart
+++ b/tests/language_2/rewrite/implicit_this_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.9
+
 import "package:expect/expect.dart";
 
 String toplevel = 'A';
diff --git a/tests/language_2/rewrite/logical_test.dart b/tests/language_2/rewrite/logical_test.dart
index 4fc4060..e423b40 100644
--- a/tests/language_2/rewrite/logical_test.dart
+++ b/tests/language_2/rewrite/logical_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.9
+
 import 'package:expect/expect.dart';
 
 cneg_and(x, y) {
diff --git a/tests/language_2/rewrite/nested_if1_test.dart b/tests/language_2/rewrite/nested_if1_test.dart
index d86cc55..8c6031e 100644
--- a/tests/language_2/rewrite/nested_if1_test.dart
+++ b/tests/language_2/rewrite/nested_if1_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.9
+
 import 'package:expect/expect.dart';
 
 var global;
diff --git a/tests/language_2/rewrite/nested_if2_test.dart b/tests/language_2/rewrite/nested_if2_test.dart
index 2a71680..a91eb77 100644
--- a/tests/language_2/rewrite/nested_if2_test.dart
+++ b/tests/language_2/rewrite/nested_if2_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.9
+
 import 'package:expect/expect.dart';
 
 check_true_true(x, y) {
diff --git a/tests/language_2/rewrite/nested_if3_test.dart b/tests/language_2/rewrite/nested_if3_test.dart
index b985df8..f59ea13 100644
--- a/tests/language_2/rewrite/nested_if3_test.dart
+++ b/tests/language_2/rewrite/nested_if3_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.9
+
 import 'package:expect/expect.dart';
 
 baz() {}
diff --git a/tests/language_2/rewrite/swap_test.dart b/tests/language_2/rewrite/swap_test.dart
index 5c6d115..133b7fb 100644
--- a/tests/language_2/rewrite/swap_test.dart
+++ b/tests/language_2/rewrite/swap_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.9
+
 import "package:expect/expect.dart";
 
 swap1(x, y, b) {
diff --git a/tests/language_2/rewrite/variable_initializer_test.dart b/tests/language_2/rewrite/variable_initializer_test.dart
index 75de2d0..d1a04a0 100644
--- a/tests/language_2/rewrite/variable_initializer_test.dart
+++ b/tests/language_2/rewrite/variable_initializer_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/rewrite/while_many_exits_test.dart b/tests/language_2/rewrite/while_many_exits_test.dart
index f3aa523..9da72d5 100644
--- a/tests/language_2/rewrite/while_many_exits_test.dart
+++ b/tests/language_2/rewrite/while_many_exits_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.9
+
 import "package:expect/expect.dart";
 
 var baz_clicks = 0;
diff --git a/tests/language_2/rewrite/while_test.dart b/tests/language_2/rewrite/while_test.dart
index c773ee0..60c2a9a 100644
--- a/tests/language_2/rewrite/while_test.dart
+++ b/tests/language_2/rewrite/while_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.9
+
 import "package:expect/expect.dart";
 
 baz() {}
diff --git a/tests/language_2/script/lib.dart b/tests/language_2/script/lib.dart
index eafca26..605efd9 100644
--- a/tests/language_2/script/lib.dart
+++ b/tests/language_2/script/lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // A perfectly legal dart library for use with script and library tests.
 
 library ScriptLib;
diff --git a/tests/language_2/script/script1_lib.dart b/tests/language_2/script/script1_lib.dart
index 525b2ca..b83de63 100644
--- a/tests/language_2/script/script1_lib.dart
+++ b/tests/language_2/script/script1_lib.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.9
+
 int ok = 1;
diff --git a/tests/language_2/script/script1_part.dart b/tests/language_2/script/script1_part.dart
index 15bd30d..ee9a8f9 100644
--- a/tests/language_2/script/script1_part.dart
+++ b/tests/language_2/script/script1_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of "script1_test.dart";
 
 const int scriptPart = 1;
diff --git a/tests/language_2/script/script1_test.dart b/tests/language_2/script/script1_test.dart
index 8d714e9..9c3f05b 100644
--- a/tests/language_2/script/script1_test.dart
+++ b/tests/language_2/script/script1_test.dart
@@ -2,11 +2,13 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 /// Wrong order of import and part directives.
 
 part "script1_part.dart";
 import "script1_lib.dart";
-// [error line 8, column 1, length 6]
+// [error line 10, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE
 // [cfe] Import directives must precede part directives.
 
diff --git a/tests/language_2/script/script2_part.dart b/tests/language_2/script/script2_part.dart
index e48f121..3d52c09 100644
--- a/tests/language_2/script/script2_part.dart
+++ b/tests/language_2/script/script2_part.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library Script2Part;
 import "lib.dart";
 
diff --git a/tests/language_2/script/script2_test.dart b/tests/language_2/script/script2_test.dart
index 7ab8397..692fb35 100644
--- a/tests/language_2/script/script2_test.dart
+++ b/tests/language_2/script/script2_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.9
+
 /// Part file has library and import directives.
 
 /*@compile-error=unspecified*/
diff --git a/tests/language_2/script/source.dart b/tests/language_2/script/source.dart
index 44f0d34..b9861c7 100644
--- a/tests/language_2/script/source.dart
+++ b/tests/language_2/script/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.9
+
 // A perfectly legal dart source file for use with script and library tests.
 
 const int script_source = 1;
diff --git a/tests/language_2/set_literals/big_set_literal_test.dart b/tests/language_2/set_literals/big_set_literal_test.dart
index e06e357..e1721ba 100644
--- a/tests/language_2/set_literals/big_set_literal_test.dart
+++ b/tests/language_2/set_literals/big_set_literal_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/set_literals/const_big_set_literal_test.dart b/tests/language_2/set_literals/const_big_set_literal_test.dart
index f2cb67d..9a4a9b0 100644
--- a/tests/language_2/set_literals/const_big_set_literal_test.dart
+++ b/tests/language_2/set_literals/const_big_set_literal_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/set_literals/const_set_literal_test.dart b/tests/language_2/set_literals/const_set_literal_test.dart
index 7b3cce2..8b1bba9 100644
--- a/tests/language_2/set_literals/const_set_literal_test.dart
+++ b/tests/language_2/set_literals/const_set_literal_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.9
+
 import 'dart:async';
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/set_literals/in_annotations_test.dart b/tests/language_2/set_literals/in_annotations_test.dart
index 5dca8c3..2e1547e 100644
--- a/tests/language_2/set_literals/in_annotations_test.dart
+++ b/tests/language_2/set_literals/in_annotations_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.9
+
 @Meta({})
 import 'dart:core';
 
diff --git a/tests/language_2/set_literals/in_initializer_test.dart b/tests/language_2/set_literals/in_initializer_test.dart
index 04cc2d8..2458315 100644
--- a/tests/language_2/set_literals/in_initializer_test.dart
+++ b/tests/language_2/set_literals/in_initializer_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.9
+
 class Bag {
   final Set<Object> things;
   Bag({Set<Object> things}) : this.things = things ?? <Object>{};
diff --git a/tests/language_2/set_literals/invalid_set_literal_test.dart b/tests/language_2/set_literals/invalid_set_literal_test.dart
index 5a891e0..54c63dc 100644
--- a/tests/language_2/set_literals/invalid_set_literal_test.dart
+++ b/tests/language_2/set_literals/invalid_set_literal_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.9
+
 import "dart:collection" show HashSet, LinkedHashSet;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/set_literals/set_literal_test.dart b/tests/language_2/set_literals/set_literal_test.dart
index 3cb57c0..c11ce5a 100644
--- a/tests/language_2/set_literals/set_literal_test.dart
+++ b/tests/language_2/set_literals/set_literal_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.9
+
 import 'dart:async';
 import "dart:collection" show LinkedHashSet;
 
diff --git a/tests/language_2/setter/checked2_test.dart b/tests/language_2/setter/checked2_test.dart
index 8ce8a49..29d9163 100644
--- a/tests/language_2/setter/checked2_test.dart
+++ b/tests/language_2/setter/checked2_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.9
+
 // Test that implicit setters do a type check generic types.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/setter/checked3_test.dart b/tests/language_2/setter/checked3_test.dart
index 4b3ee82..37a5917 100644
--- a/tests/language_2/setter/checked3_test.dart
+++ b/tests/language_2/setter/checked3_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/setter/checked_setter_test.dart b/tests/language_2/setter/checked_setter_test.dart
index 6c0fefa..41b8b64 100644
--- a/tests/language_2/setter/checked_setter_test.dart
+++ b/tests/language_2/setter/checked_setter_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.9
+
 // Test that implicit setters do a runtime type check.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/setter/declaration_test.dart b/tests/language_2/setter/declaration_test.dart
index 84893b0..10603f4 100644
--- a/tests/language_2/setter/declaration_test.dart
+++ b/tests/language_2/setter/declaration_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.9
+
 // Test that a setter has a single argument.
 
 import 'dart:async';
diff --git a/tests/language_2/setter/no_getter_call_runtime_test.dart b/tests/language_2/setter/no_getter_call_runtime_test.dart
index d243de3..77dafc6 100644
--- a/tests/language_2/setter/no_getter_call_runtime_test.dart
+++ b/tests/language_2/setter/no_getter_call_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/setter/no_getter_call_test.dart b/tests/language_2/setter/no_getter_call_test.dart
index a49d8e4..a93f33b 100644
--- a/tests/language_2/setter/no_getter_call_test.dart
+++ b/tests/language_2/setter/no_getter_call_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.9
+
 import "package:expect/expect.dart";
 
 var topLevelClosure;
diff --git a/tests/language_2/setter/no_getter_test.dart b/tests/language_2/setter/no_getter_test.dart
index 53c8b58..cf9cd23 100644
--- a/tests/language_2/setter/no_getter_test.dart
+++ b/tests/language_2/setter/no_getter_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.9
+
 set topLevel(var value) {}
 
 class Example {
diff --git a/tests/language_2/setter/override2_test.dart b/tests/language_2/setter/override2_test.dart
index 80902b7..78fcddd 100644
--- a/tests/language_2/setter/override2_test.dart
+++ b/tests/language_2/setter/override2_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.9
+
 // Test that we do not report a compile-time error when an instance setter named
 // foo= is declared in a class inheriting an instance method, field, or getter
 // named foo, or an instance setter named foo=.
diff --git a/tests/language_2/setter/override3_test.dart b/tests/language_2/setter/override3_test.dart
index bb00cf6..263c48a 100644
--- a/tests/language_2/setter/override3_test.dart
+++ b/tests/language_2/setter/override3_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.9
+
 // Tests that a setter in a subclass does not shadow the getter in the
 // superclass.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/setter/override_test.dart b/tests/language_2/setter/override_test.dart
index 88d7402..8a3ad48 100644
--- a/tests/language_2/setter/override_test.dart
+++ b/tests/language_2/setter/override_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.9
+
 // Test that we do not report a compile-time error when a static setter named
 // foo= is declared in a class inheriting an instance method or getter named
 // foo, and that we do report an error if an instance setter named foo= or
diff --git a/tests/language_2/setter/setter0_test.dart b/tests/language_2/setter/setter0_test.dart
index 5b8f490..63465b5 100644
--- a/tests/language_2/setter/setter0_test.dart
+++ b/tests/language_2/setter/setter0_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing setting/getting of fields when
 // only getter/setter methods are specified.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/setter/setter1_test.dart b/tests/language_2/setter/setter1_test.dart
index ffcb9e0..1b29c43 100644
--- a/tests/language_2/setter/setter1_test.dart
+++ b/tests/language_2/setter/setter1_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing setting/getting of fields when
 // only getter/setter methods are specified.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/setter/setter2_test.dart b/tests/language_2/setter/setter2_test.dart
index aa28e87..ca3a7c9 100644
--- a/tests/language_2/setter/setter2_test.dart
+++ b/tests/language_2/setter/setter2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing use of 'this' in an instance method.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Nested {
diff --git a/tests/language_2/setter/setter3_runtime_test.dart b/tests/language_2/setter/setter3_runtime_test.dart
index 42d3d74..6d4053c 100644
--- a/tests/language_2/setter/setter3_runtime_test.dart
+++ b/tests/language_2/setter/setter3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/setter/setter3_test.dart b/tests/language_2/setter/setter3_test.dart
index 59a6a7e..714ecf1 100644
--- a/tests/language_2/setter/setter3_test.dart
+++ b/tests/language_2/setter/setter3_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.9
+
 // Test that setters cannot have defined, non-void return types.
 // Note: The language specification specifies the absence of a type means
 // it is dynamic, however you cannot specify dynamic.
diff --git a/tests/language_2/setter/setter4_test.dart b/tests/language_2/setter/setter4_test.dart
index 182cd86..bd3a3d8 100644
--- a/tests/language_2/setter/setter4_test.dart
+++ b/tests/language_2/setter/setter4_test.dart
@@ -4,6 +4,8 @@
 // Dart test to catch error reporting bugs in class fields declarations.
 // Should be an error because we have a setter overriding a function name.
 
+// @dart = 2.9
+
 class A {
   int a() {
     return 1;
diff --git a/tests/language_2/spread_collections/await_test.dart b/tests/language_2/spread_collections/await_test.dart
index 866e1c4..8dfba8a 100644
--- a/tests/language_2/spread_collections/await_test.dart
+++ b/tests/language_2/spread_collections/await_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.9
+
 import "package:async_helper/async_helper.dart";
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/spread_collections/bind_test.dart b/tests/language_2/spread_collections/bind_test.dart
index 8619008c..85b7ea6 100644
--- a/tests/language_2/spread_collections/bind_test.dart
+++ b/tests/language_2/spread_collections/bind_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.9
+
 /// Check that spread collections can be used in combination with async/await features.
 /// This is a regression test for http://dartbug.com/38896
 
diff --git a/tests/language_2/spread_collections/const_error_test.dart b/tests/language_2/spread_collections/const_error_test.dart
index e9fcfd2..1a0a43e 100644
--- a/tests/language_2/spread_collections/const_error_test.dart
+++ b/tests/language_2/spread_collections/const_error_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.9
+
 import 'dart:collection';
 
 import 'helper_classes.dart';
diff --git a/tests/language_2/spread_collections/const_test.dart b/tests/language_2/spread_collections/const_test.dart
index a29b607..4e7eb8f 100644
--- a/tests/language_2/spread_collections/const_test.dart
+++ b/tests/language_2/spread_collections/const_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.9
+
 import 'package:expect/expect.dart';
 
 // Typed as dynamic to also test spreading a value of type dynamic.
diff --git a/tests/language_2/spread_collections/helper_classes.dart b/tests/language_2/spread_collections/helper_classes.dart
index 9c35975..d888fc1 100644
--- a/tests/language_2/spread_collections/helper_classes.dart
+++ b/tests/language_2/spread_collections/helper_classes.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:collection';
 
 class ConstIterable extends IterableBase<int> {
diff --git a/tests/language_2/spread_collections/inference_test.dart b/tests/language_2/spread_collections/inference_test.dart
index c0dff36..53d598d 100644
--- a/tests/language_2/spread_collections/inference_test.dart
+++ b/tests/language_2/spread_collections/inference_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.9
+
 // Test how spread interacts with inference.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/spread_collections/issue_45174_error_test.dart b/tests/language_2/spread_collections/issue_45174_error_test.dart
index d9a24ce..e29c3f6 100644
--- a/tests/language_2/spread_collections/issue_45174_error_test.dart
+++ b/tests/language_2/spread_collections/issue_45174_error_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.9
+
 f(Object objectQuestion) {
   return {...<int>{}, ...objectQuestion};
   //     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/language_2/spread_collections/map_set_ambiguity_error_test.dart b/tests/language_2/spread_collections/map_set_ambiguity_error_test.dart
index 00f40a8..fa4bcac 100644
--- a/tests/language_2/spread_collections/map_set_ambiguity_error_test.dart
+++ b/tests/language_2/spread_collections/map_set_ambiguity_error_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.9
+
 // Test cases where the syntax is ambiguous between maps and sets.
 import 'dart:collection';
 
diff --git a/tests/language_2/spread_collections/map_set_ambiguity_test.dart b/tests/language_2/spread_collections/map_set_ambiguity_test.dart
index 11345ea..29b5469 100644
--- a/tests/language_2/spread_collections/map_set_ambiguity_test.dart
+++ b/tests/language_2/spread_collections/map_set_ambiguity_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.9
+
 // Test cases where the syntax is ambiguous between maps and sets.
 import 'dart:collection';
 
diff --git a/tests/language_2/spread_collections/runtime_error_test.dart b/tests/language_2/spread_collections/runtime_error_test.dart
index d133b04..4f6eff3 100644
--- a/tests/language_2/spread_collections/runtime_error_test.dart
+++ b/tests/language_2/spread_collections/runtime_error_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.9
+
 import 'package:expect/expect.dart';
 
 // Typed as dynamic to also test spreading a value of type dynamic.
diff --git a/tests/language_2/spread_collections/spread_test.dart b/tests/language_2/spread_collections/spread_test.dart
index 1be7185..ecf7bd8 100644
--- a/tests/language_2/spread_collections/spread_test.dart
+++ b/tests/language_2/spread_collections/spread_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.9
+
 import 'package:expect/expect.dart';
 
 import 'helper_classes.dart';
diff --git a/tests/language_2/spread_collections/syntax_error_test.dart b/tests/language_2/spread_collections/syntax_error_test.dart
index 825e5dd2..4d9e36d 100644
--- a/tests/language_2/spread_collections/syntax_error_test.dart
+++ b/tests/language_2/spread_collections/syntax_error_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.9
+
 void main() {
   // Spread nothing.
   var _ = [...]; //# 00: syntax error
diff --git a/tests/language_2/spread_collections/syntax_test.dart b/tests/language_2/spread_collections/syntax_test.dart
index 376db0d..94d83d2 100644
--- a/tests/language_2/spread_collections/syntax_test.dart
+++ b/tests/language_2/spread_collections/syntax_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.9
+
 // Tests syntax edge cases.
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/spread_collections/type_error_test.dart b/tests/language_2/spread_collections/type_error_test.dart
index 05e9e5b..64bcb23 100644
--- a/tests/language_2/spread_collections/type_error_test.dart
+++ b/tests/language_2/spread_collections/type_error_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.9
+
 void main() {
   // Spread non-iterable or non-map.
   var _ = [...(3)]; //# 00: compile-time error
diff --git a/tests/language_2/spread_collections/unevaluated_test.dart b/tests/language_2/spread_collections/unevaluated_test.dart
index 62af46f..3be94c4 100644
--- a/tests/language_2/spread_collections/unevaluated_test.dart
+++ b/tests/language_2/spread_collections/unevaluated_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.9
+
 // Test that the body of an if element with unevaluated condition can
 // contain a spread.
 // Regression test for https://github.com/dart-lang/sdk/issues/36812
diff --git a/tests/language_2/stack_trace/custom_await_test.dart b/tests/language_2/stack_trace/custom_await_test.dart
index 0790fb1..ea57a06 100644
--- a/tests/language_2/stack_trace/custom_await_test.dart
+++ b/tests/language_2/stack_trace/custom_await_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/stack_trace/demangle_ctors_test.dart b/tests/language_2/stack_trace/demangle_ctors_test.dart
index 697ed12..714fc09 100644
--- a/tests/language_2/stack_trace/demangle_ctors_test.dart
+++ b/tests/language_2/stack_trace/demangle_ctors_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.9
+
 // Test that stack traces are properly demangled in constructors (#28740).
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/stack_trace/error_runtime_test.dart b/tests/language_2/stack_trace/error_runtime_test.dart
index 4f6b152..b91bf26 100644
--- a/tests/language_2/stack_trace/error_runtime_test.dart
+++ b/tests/language_2/stack_trace/error_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/stack_trace/full1_test.dart b/tests/language_2/stack_trace/full1_test.dart
index 42963f2..e006200 100644
--- a/tests/language_2/stack_trace/full1_test.dart
+++ b/tests/language_2/stack_trace/full1_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.9
+
 import "package:expect/expect.dart";
 
 @pragma("vm:entry-point") // Prevents obfuscation
diff --git a/tests/language_2/stack_trace/full2_test.dart b/tests/language_2/stack_trace/full2_test.dart
index fc15d54..4b1dbe3 100644
--- a/tests/language_2/stack_trace/full2_test.dart
+++ b/tests/language_2/stack_trace/full2_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.9
+
 import "package:expect/expect.dart";
 
 @pragma("vm:entry-point") // Prevent obfuscation.
diff --git a/tests/language_2/stack_trace/full3_test.dart b/tests/language_2/stack_trace/full3_test.dart
index f6b28a3..ee621b2 100644
--- a/tests/language_2/stack_trace/full3_test.dart
+++ b/tests/language_2/stack_trace/full3_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.9
+
 import "package:expect/expect.dart";
 
 @pragma("vm:entry-point") // Prevent obfuscation
diff --git a/tests/language_2/stack_trace/rethrow_error_test.dart b/tests/language_2/stack_trace/rethrow_error_test.dart
index 4cdbaa6..211e186 100644
--- a/tests/language_2/stack_trace/rethrow_error_test.dart
+++ b/tests/language_2/stack_trace/rethrow_error_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.9
+
 class SubclassOfError extends Error {}
 
 fail() => throw "Fail";
diff --git a/tests/language_2/stack_trace/rethrow_nonerror_test.dart b/tests/language_2/stack_trace/rethrow_nonerror_test.dart
index 304d591..3ca985f 100644
--- a/tests/language_2/stack_trace/rethrow_nonerror_test.dart
+++ b/tests/language_2/stack_trace/rethrow_nonerror_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.9
+
 class NotASubclassOfError {}
 
 fail() => throw "Fail";
diff --git a/tests/language_2/stack_trace/stack_trace_test.dart b/tests/language_2/stack_trace/stack_trace_test.dart
index b1e60a9..5579798 100644
--- a/tests/language_2/stack_trace/stack_trace_test.dart
+++ b/tests/language_2/stack_trace/stack_trace_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing throw statement
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class MyException {
diff --git a/tests/language_2/stack_trace/stacktrace_test.dart b/tests/language_2/stack_trace/stacktrace_test.dart
index ecbf6d38..691f968 100644
--- a/tests/language_2/stack_trace/stacktrace_test.dart
+++ b/tests/language_2/stack_trace/stacktrace_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.9
+
 // Test that a stack trace is properly terminated (issue 8850).
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/static/call_wrong_argument_count_test.dart b/tests/language_2/static/call_wrong_argument_count_test.dart
index ca34e7cd..4420fc9 100644
--- a/tests/language_2/static/call_wrong_argument_count_test.dart
+++ b/tests/language_2/static/call_wrong_argument_count_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.9
+
 /// Test mismatch in argument counts.
 class Niesen {
   static int goodCall(int a, int b, int c) {
diff --git a/tests/language_2/static/closure_identical_test.dart b/tests/language_2/static/closure_identical_test.dart
index aa176a4..5505a26 100644
--- a/tests/language_2/static/closure_identical_test.dart
+++ b/tests/language_2/static/closure_identical_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.9
+
 import "package:expect/expect.dart";
 
 var foo = main;
diff --git a/tests/language_2/static/const_field_reserved_name_test.dart b/tests/language_2/static/const_field_reserved_name_test.dart
index 1de0168..eb00b99 100644
--- a/tests/language_2/static/const_field_reserved_name_test.dart
+++ b/tests/language_2/static/const_field_reserved_name_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.9
+
 // Dart test for testing redefinition of reserved names as static const fields.
 // Issue https://github.com/dart-archive/dev_compiler/issues/587
 
diff --git a/tests/language_2/static/const_field_test.dart b/tests/language_2/static/const_field_test.dart
index 2a6547e..a189147 100644
--- a/tests/language_2/static/const_field_test.dart
+++ b/tests/language_2/static/const_field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing static const fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class Spain {
diff --git a/tests/language_2/static/field1_runtime_test.dart b/tests/language_2/static/field1_runtime_test.dart
index 6db193e..c2e9e5c 100644
--- a/tests/language_2/static/field1_runtime_test.dart
+++ b/tests/language_2/static/field1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/static/field1_test.dart b/tests/language_2/static/field1_test.dart
index 7c3c338..77f9dc3 100644
--- a/tests/language_2/static/field1_test.dart
+++ b/tests/language_2/static/field1_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that a static field cannot be read as an instance field.
 
+// @dart = 2.9
+
 class Foo {
   Foo() {}
   static var x;
diff --git a/tests/language_2/static/field1a_runtime_test.dart b/tests/language_2/static/field1a_runtime_test.dart
index 1f6b798..b1ebe25 100644
--- a/tests/language_2/static/field1a_runtime_test.dart
+++ b/tests/language_2/static/field1a_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/static/field1a_test.dart b/tests/language_2/static/field1a_test.dart
index 27a336d..363af9d 100644
--- a/tests/language_2/static/field1a_test.dart
+++ b/tests/language_2/static/field1a_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that a static method cannot be read as an instance field.
 
+// @dart = 2.9
+
 class Foo {
   Foo() {}
   static void m() {}
diff --git a/tests/language_2/static/field3_runtime_test.dart b/tests/language_2/static/field3_runtime_test.dart
index d2c9f3a..15bb25b 100644
--- a/tests/language_2/static/field3_runtime_test.dart
+++ b/tests/language_2/static/field3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/static/field3_test.dart b/tests/language_2/static/field3_test.dart
index f794e68..3da6963 100644
--- a/tests/language_2/static/field3_test.dart
+++ b/tests/language_2/static/field3_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that an instance field cannot be read as a static field.
 
+// @dart = 2.9
+
 class Foo {
   Foo() {}
   var x;
diff --git a/tests/language_2/static/field_override1_test.dart b/tests/language_2/static/field_override1_test.dart
index a51682f..46063be 100644
--- a/tests/language_2/static/field_override1_test.dart
+++ b/tests/language_2/static/field_override1_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.9
+
 import 'package:expect/expect.dart';
 
 class Foo {
diff --git a/tests/language_2/static/field_override2_test.dart b/tests/language_2/static/field_override2_test.dart
index 98e8e11..177f033 100644
--- a/tests/language_2/static/field_override2_test.dart
+++ b/tests/language_2/static/field_override2_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.9
+
 import 'package:expect/expect.dart';
 
 class Foo {
diff --git a/tests/language_2/static/field_override3_test.dart b/tests/language_2/static/field_override3_test.dart
index 44c70fd..9ba21fb 100644
--- a/tests/language_2/static/field_override3_test.dart
+++ b/tests/language_2/static/field_override3_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.9
+
 import 'package:expect/expect.dart';
 
 class Foo {
diff --git a/tests/language_2/static/field_test.dart b/tests/language_2/static/field_test.dart
index ed054f6..f21534c 100644
--- a/tests/language_2/static/field_test.dart
+++ b/tests/language_2/static/field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing setting/getting/initializing static fields.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/static/final_field2_runtime_test.dart b/tests/language_2/static/final_field2_runtime_test.dart
index b69448d..69433ba 100644
--- a/tests/language_2/static/final_field2_runtime_test.dart
+++ b/tests/language_2/static/final_field2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/static/final_field2_test.dart b/tests/language_2/static/final_field2_test.dart
index da8ea37..0414982 100644
--- a/tests/language_2/static/final_field2_test.dart
+++ b/tests/language_2/static/final_field2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Disallow re-assignment of a final static variable.
 
+// @dart = 2.9
+
 class A {
   static const x = 1;
 }
diff --git a/tests/language_2/static/getter_no_setter1_runtime_test.dart b/tests/language_2/static/getter_no_setter1_runtime_test.dart
index 13567db..c83846d 100644
--- a/tests/language_2/static/getter_no_setter1_runtime_test.dart
+++ b/tests/language_2/static/getter_no_setter1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/static/getter_no_setter1_test.dart b/tests/language_2/static/getter_no_setter1_test.dart
index dd307ec..818cc68 100644
--- a/tests/language_2/static/getter_no_setter1_test.dart
+++ b/tests/language_2/static/getter_no_setter1_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.9
+
 import 'package:expect/expect.dart';
 
 class Class {
diff --git a/tests/language_2/static/getter_no_setter2_runtime_test.dart b/tests/language_2/static/getter_no_setter2_runtime_test.dart
index 82663cb..1999fb4 100644
--- a/tests/language_2/static/getter_no_setter2_runtime_test.dart
+++ b/tests/language_2/static/getter_no_setter2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/static/getter_no_setter2_test.dart b/tests/language_2/static/getter_no_setter2_test.dart
index e84b2b8..4656d05 100644
--- a/tests/language_2/static/getter_no_setter2_test.dart
+++ b/tests/language_2/static/getter_no_setter2_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.9
+
 import 'package:expect/expect.dart';
 
 class Class {
diff --git a/tests/language_2/static/implicit_closure_test.dart b/tests/language_2/static/implicit_closure_test.dart
index 3b16a5d..666a118 100644
--- a/tests/language_2/static/implicit_closure_test.dart
+++ b/tests/language_2/static/implicit_closure_test.dart
@@ -5,6 +5,8 @@
 // VMOptions=
 // VMOptions=--use_slow_path
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class First {
diff --git a/tests/language_2/static/initializer_type_error_test.dart b/tests/language_2/static/initializer_type_error_test.dart
index 493e6ae..5763907 100644
--- a/tests/language_2/static/initializer_type_error_test.dart
+++ b/tests/language_2/static/initializer_type_error_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.9
+
 import "package:expect/expect.dart";
 
 int x = "milou";  /*@compile-error=unspecified*/
diff --git a/tests/language_2/static/inline_test.dart b/tests/language_2/static/inline_test.dart
index 12bfe48..37938b2 100644
--- a/tests/language_2/static/inline_test.dart
+++ b/tests/language_2/static/inline_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.9
+
 import "package:expect/expect.dart";
 
 // Test inlining of assignments in parameter passing. If [StringScanner.charAt]
diff --git a/tests/language_2/static/parameter_test.dart b/tests/language_2/static/parameter_test.dart
index 24ccbf7..ecd35e5 100644
--- a/tests/language_2/static/parameter_test.dart
+++ b/tests/language_2/static/parameter_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.9
+
 foo(x
     , static int y // //# 01: syntax error
     , final static y // //# 02: syntax error
diff --git a/tests/language_2/static/postfix_operator_test.dart b/tests/language_2/static/postfix_operator_test.dart
index c16817a..6fc9c03 100644
--- a/tests/language_2/static/postfix_operator_test.dart
+++ b/tests/language_2/static/postfix_operator_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.9
+
 import "package:expect/expect.dart";
 
 int a = 0;
diff --git a/tests/language_2/static/setter_conflicts_test.dart b/tests/language_2/static/setter_conflicts_test.dart
index c8e4395..7907a51 100644
--- a/tests/language_2/static/setter_conflicts_test.dart
+++ b/tests/language_2/static/setter_conflicts_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.9
+
 class C {
   static set foo(int x) {}
 
diff --git a/tests/language_2/static/setter_get_runtime_test.dart b/tests/language_2/static/setter_get_runtime_test.dart
index b04380c..9d464b3 100644
--- a/tests/language_2/static/setter_get_runtime_test.dart
+++ b/tests/language_2/static/setter_get_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/static/setter_get_test.dart b/tests/language_2/static/setter_get_test.dart
index 0a16b53..c9f4d25 100644
--- a/tests/language_2/static/setter_get_test.dart
+++ b/tests/language_2/static/setter_get_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.9
+
 import 'package:expect/expect.dart';
 
 class Class {
diff --git a/tests/language_2/static/top_level_runtime_test.dart b/tests/language_2/static/top_level_runtime_test.dart
index 0c0b8ce..215451f 100644
--- a/tests/language_2/static/top_level_runtime_test.dart
+++ b/tests/language_2/static/top_level_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/static/top_level_test.dart b/tests/language_2/static/top_level_test.dart
index c2f45b3..d29cfd8 100644
--- a/tests/language_2/static/top_level_test.dart
+++ b/tests/language_2/static/top_level_test.dart
@@ -2,37 +2,39 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 static method() { }
-// [error line 5, column 1, length 6]
+// [error line 7, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static var field;
-// [error line 9, column 1, length 6]
+// [error line 11, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static const finalField = 42;
-// [error line 13, column 1, length 6]
+// [error line 15, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static const constant = 123;
-// [error line 17, column 1, length 6]
+// [error line 19, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 
 static int typedMethod() => 87;
-// [error line 22, column 1, length 6]
+// [error line 24, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static int typedField;
-// [error line 26, column 1, length 6]
+// [error line 28, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static const int typedFinalField = 99;
-// [error line 30, column 1, length 6]
+// [error line 32, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 static const int typedConstant = 1;
-// [error line 34, column 1, length 6]
+// [error line 36, column 1, length 6]
 // [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
 // [cfe] Can't have modifier 'static' here.
 
diff --git a/tests/language_2/string/adjacent_const_string_literals_test.dart b/tests/language_2/string/adjacent_const_string_literals_test.dart
index 0af09ba..0416f6d 100644
--- a/tests/language_2/string/adjacent_const_string_literals_test.dart
+++ b/tests/language_2/string/adjacent_const_string_literals_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.9
+
 import "package:expect/expect.dart";
 
 class Conster {
diff --git a/tests/language_2/string/adjacent_string_literals_test.dart b/tests/language_2/string/adjacent_string_literals_test.dart
index 48f8ba2..50b6c10 100644
--- a/tests/language_2/string/adjacent_string_literals_test.dart
+++ b/tests/language_2/string/adjacent_string_literals_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/bad_raw_string_runtime_test.dart b/tests/language_2/string/bad_raw_string_runtime_test.dart
index 4046aa5..873ad3e 100644
--- a/tests/language_2/string/bad_raw_string_runtime_test.dart
+++ b/tests/language_2/string/bad_raw_string_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/string/bad_raw_string_test.dart b/tests/language_2/string/bad_raw_string_test.dart
index 7091ebae..794872a 100644
--- a/tests/language_2/string/bad_raw_string_test.dart
+++ b/tests/language_2/string/bad_raw_string_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.9
+
 main() {
   // Raw String may not contain newline (may not be multi-line).
   String x = ''
@@ -11,7 +13,7 @@
 //   ^
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 '
-// [error line 13, column 1, length 1]
+// [error line 15, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 // [cfe] String starting with ' must end with '.
     r"
@@ -20,7 +22,7 @@
 //   ^
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 "
-// [error line 22, column 1, length 1]
+// [error line 24, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 // [cfe] String starting with " must end with ".
 
@@ -35,7 +37,7 @@
 //   ^
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 '
-// [error line 37, column 1, length 1]
+// [error line 39, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 // [cfe] String starting with ' must end with '.
     '''
diff --git a/tests/language_2/string/char_escape_test.dart b/tests/language_2/string/char_escape_test.dart
index 7b87fbe..4ffc220 100644
--- a/tests/language_2/string/char_escape_test.dart
+++ b/tests/language_2/string/char_escape_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for reading escape sequences in string literals
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class CharEscapeTest {
diff --git a/tests/language_2/string/charcode_test.dart b/tests/language_2/string/charcode_test.dart
index 89061a4..f19caa9 100644
--- a/tests/language_2/string/charcode_test.dart
+++ b/tests/language_2/string/charcode_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/const_interpolation2_test.dart b/tests/language_2/string/const_interpolation2_test.dart
index c9c373c..363cb3a 100644
--- a/tests/language_2/string/const_interpolation2_test.dart
+++ b/tests/language_2/string/const_interpolation2_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue #24839 - http://dartbug.com/24839
diff --git a/tests/language_2/string/const_interpolation_constant_string_interpolation_test.dart b/tests/language_2/string/const_interpolation_constant_string_interpolation_test.dart
index 16121c9..0d4970b 100644
--- a/tests/language_2/string/const_interpolation_constant_string_interpolation_test.dart
+++ b/tests/language_2/string/const_interpolation_constant_string_interpolation_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/escape4_test.dart b/tests/language_2/string/escape4_test.dart
index 6f4efba..fb83da2 100644
--- a/tests/language_2/string/escape4_test.dart
+++ b/tests/language_2/string/escape4_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.9
+
 // Test that newlines cannot be escaped in strings.
 
 main() {
@@ -10,22 +12,22 @@
   // expectations in this test, you may need to do so manually.
   print('Hello, World!\
 ');
-// [error line 11, column 8, length 1]
+// [error line 13, column 8, length 1]
 // [cfe] Can't find ')' to match '('.
-// [error line 11, column 9, length 1]
+// [error line 13, column 9, length 1]
 // [cfe] String starting with ' must end with '.
-// [error line 11, column 23, length 1]
+// [error line 13, column 23, length 1]
 // [analyzer] SYNTACTIC_ERROR.INVALID_UNICODE_ESCAPE
 // [cfe] An escape sequence starting with '\u' must be followed by 4 hexadecimal digits or from 1 to 6 digits between '{' and '}'.
-// [error line 11, column 23, length 1]
+// [error line 13, column 23, length 1]
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
-// [error line 12, column 1, length 3]
+// [error line 14, column 1, length 3]
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
 // [cfe] Expected ';' after this.
-// [error line 12, column 1]
+// [error line 14, column 1]
 // [cfe] String starting with ' must end with '.
-// [error line 12, column 3, length 1]
+// [error line 14, column 3, length 1]
 // [analyzer] SYNTACTIC_ERROR.UNTERMINATED_STRING_LITERAL
 }
-// [error line 29, column 1, length 1]
+// [error line 31, column 1, length 1]
 // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
diff --git a/tests/language_2/string/escapes_test.dart b/tests/language_2/string/escapes_test.dart
index 78808a7..a0322f4 100644
--- a/tests/language_2/string/escapes_test.dart
+++ b/tests/language_2/string/escapes_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.9
+
 import "package:expect/expect.dart";
 
 class StringEscapesTest {
diff --git a/tests/language_2/string/interpolate1_test.dart b/tests/language_2/string/interpolate1_test.dart
index 12bf4af..1798edb 100644
--- a/tests/language_2/string/interpolate1_test.dart
+++ b/tests/language_2/string/interpolate1_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.9
+
 /// The interpolated identifier can't start with '$'.
 
 main() {
diff --git a/tests/language_2/string/interpolate2_test.dart b/tests/language_2/string/interpolate2_test.dart
index bb49ba5..5c5d672 100644
--- a/tests/language_2/string/interpolate2_test.dart
+++ b/tests/language_2/string/interpolate2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing string interpolation of expressions.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class StringInterpolate2Test {
diff --git a/tests/language_2/string/interpolate3_test.dart b/tests/language_2/string/interpolate3_test.dart
index ada7879..6b67534 100644
--- a/tests/language_2/string/interpolate3_test.dart
+++ b/tests/language_2/string/interpolate3_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.9
+
 /// The interpolated identifier must start with an identifier start character.
 
 main() {
diff --git a/tests/language_2/string/interpolate_null_test.dart b/tests/language_2/string/interpolate_null_test.dart
index a06427a..f8dd7b7 100644
--- a/tests/language_2/string/interpolate_null_test.dart
+++ b/tests/language_2/string/interpolate_null_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing NPE within string interpolation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/string/interpolate_test.dart b/tests/language_2/string/interpolate_test.dart
index 769ee94..38997dd 100644
--- a/tests/language_2/string/interpolate_test.dart
+++ b/tests/language_2/string/interpolate_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing string interpolation.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class WhatchamaCallIt {
diff --git a/tests/language_2/string/interpolation1_runtime_test.dart b/tests/language_2/string/interpolation1_runtime_test.dart
index 3ede1d8..76c7b4f 100644
--- a/tests/language_2/string/interpolation1_runtime_test.dart
+++ b/tests/language_2/string/interpolation1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation1_test.dart b/tests/language_2/string/interpolation1_test.dart
index 7f43236..5aa1af4 100644
--- a/tests/language_2/string/interpolation1_test.dart
+++ b/tests/language_2/string/interpolation1_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class A {
@@ -12,13 +14,12 @@
 class StringInterpolation1NegativeTest {
   // Dollar not followed by "{" or identifier.
   static const DOLLAR = const A("$");
-  // [error line 14, column 35, length 0]
+  // [error line 16, column 35, length 0]
   // [analyzer] COMPILE_TIME_ERROR.CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE
-  // [cfe] A '$' has special meaning inside a string, and must be followed by an identifier or an expression in curly braces ({}).
-  // [error line 14, column 35, length 0]
   // [analyzer] COMPILE_TIME_ERROR.INVALID_CONSTANT
   //                              ^
   // [analyzer] SYNTACTIC_ERROR.MISSING_IDENTIFIER
+  // [cfe] A '$' has special meaning inside a string, and must be followed by an identifier or an expression in curly braces ({}).
   static testMain() {
     print(DOLLAR);
   }
diff --git a/tests/language_2/string/interpolation2_runtime_test.dart b/tests/language_2/string/interpolation2_runtime_test.dart
index 0b0a89f..5871262 100644
--- a/tests/language_2/string/interpolation2_runtime_test.dart
+++ b/tests/language_2/string/interpolation2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation2_test.dart b/tests/language_2/string/interpolation2_test.dart
index 076fcc1..654e2ea 100644
--- a/tests/language_2/string/interpolation2_test.dart
+++ b/tests/language_2/string/interpolation2_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class StringInterpolation2NegativeTest {
diff --git a/tests/language_2/string/interpolation3_runtime_test.dart b/tests/language_2/string/interpolation3_runtime_test.dart
index 96b92fb..4e75fbc 100644
--- a/tests/language_2/string/interpolation3_runtime_test.dart
+++ b/tests/language_2/string/interpolation3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation3_test.dart b/tests/language_2/string/interpolation3_test.dart
index 0760fd9..15cca20 100644
--- a/tests/language_2/string/interpolation3_test.dart
+++ b/tests/language_2/string/interpolation3_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class StringInterpolation3NegativeTest {
diff --git a/tests/language_2/string/interpolation4_runtime_test.dart b/tests/language_2/string/interpolation4_runtime_test.dart
index e89625c..c5a23a9 100644
--- a/tests/language_2/string/interpolation4_runtime_test.dart
+++ b/tests/language_2/string/interpolation4_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation4_test.dart b/tests/language_2/string/interpolation4_test.dart
index 740dc9a..4cf1cb7 100644
--- a/tests/language_2/string/interpolation4_test.dart
+++ b/tests/language_2/string/interpolation4_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class StringInterpolation4NegativeTest {
diff --git a/tests/language_2/string/interpolation5_runtime_test.dart b/tests/language_2/string/interpolation5_runtime_test.dart
index acbec21..34262ed 100644
--- a/tests/language_2/string/interpolation5_runtime_test.dart
+++ b/tests/language_2/string/interpolation5_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation5_test.dart b/tests/language_2/string/interpolation5_test.dart
index cd04ed3..de2ae86 100644
--- a/tests/language_2/string/interpolation5_test.dart
+++ b/tests/language_2/string/interpolation5_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class StringInterpolation5NegativeTest {
diff --git a/tests/language_2/string/interpolation6_test.dart b/tests/language_2/string/interpolation6_test.dart
index 74cfbbe..b92e712 100644
--- a/tests/language_2/string/interpolation6_test.dart
+++ b/tests/language_2/string/interpolation6_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.9
+
 // A dollar must be followed by a "{" or an identifier.
 
 class StringInterpolation6NegativeTest {
diff --git a/tests/language_2/string/interpolation7_test.dart b/tests/language_2/string/interpolation7_test.dart
index af8e276..46fb0be 100644
--- a/tests/language_2/string/interpolation7_test.dart
+++ b/tests/language_2/string/interpolation7_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program testing string interpolation with toString on custom
diff --git a/tests/language_2/string/interpolation8_test.dart b/tests/language_2/string/interpolation8_test.dart
index a3c09bc..0c2aabe 100644
--- a/tests/language_2/string/interpolation8_test.dart
+++ b/tests/language_2/string/interpolation8_test.dart
@@ -4,6 +4,8 @@
 //
 // Allow assignment of string interpolation to a static const field
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/string/interpolation9_runtime_test.dart b/tests/language_2/string/interpolation9_runtime_test.dart
index 3cf2bd1..0a79f76 100644
--- a/tests/language_2/string/interpolation9_runtime_test.dart
+++ b/tests/language_2/string/interpolation9_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/string/interpolation9_test.dart b/tests/language_2/string/interpolation9_test.dart
index b3166b7..a6f2602 100644
--- a/tests/language_2/string/interpolation9_test.dart
+++ b/tests/language_2/string/interpolation9_test.dart
@@ -4,6 +4,8 @@
 //
 // Almost valid string interpolation syntax.
 
+// @dart = 2.9
+
 main() {
   var x;
 
diff --git a/tests/language_2/string/interpolation_and_buffer_test.dart b/tests/language_2/string/interpolation_and_buffer_test.dart
index 05bfe2d..da94e56 100644
--- a/tests/language_2/string/interpolation_and_buffer_test.dart
+++ b/tests/language_2/string/interpolation_and_buffer_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.9
+
 // Interpolation calls `toString`.
 // The evaluation of the interpolation fails if `toString` throws or returns
 // null. In Dart 2, any method overriding `Object.toString` must return a
diff --git a/tests/language_2/string/interpolation_newline_test.dart b/tests/language_2/string/interpolation_newline_test.dart
index 91ad04f..b22c45f 100644
--- a/tests/language_2/string/interpolation_newline_test.dart
+++ b/tests/language_2/string/interpolation_newline_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.9
+
 /// Test of newlines in interpolated strings.
 
 main() {
diff --git a/tests/language_2/string/interpolation_runtime_test.dart b/tests/language_2/string/interpolation_runtime_test.dart
index 81f4b45..57c3372 100644
--- a/tests/language_2/string/interpolation_runtime_test.dart
+++ b/tests/language_2/string/interpolation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/interpolation_test.dart b/tests/language_2/string/interpolation_test.dart
index debcbf3..edfc692 100644
--- a/tests/language_2/string/interpolation_test.dart
+++ b/tests/language_2/string/interpolation_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.9
+
 import "package:expect/expect.dart";
 
 // Tests for string interpolation
diff --git a/tests/language_2/string/intrinsics_test.dart b/tests/language_2/string/intrinsics_test.dart
index ed1521c..e139dd1 100644
--- a/tests/language_2/string/intrinsics_test.dart
+++ b/tests/language_2/string/intrinsics_test.dart
@@ -5,6 +5,8 @@
 // Test various String intrinsics
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/join_test.dart b/tests/language_2/string/join_test.dart
index eb576d8..d82ae7e 100644
--- a/tests/language_2/string/join_test.dart
+++ b/tests/language_2/string/join_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Regression test ensuring that only ObjectArrays are handed to the VM code.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class StringJoinTest {
diff --git a/tests/language_2/string/literals_test.dart b/tests/language_2/string/literals_test.dart
index 6b4f4f5..41d4c8d 100644
--- a/tests/language_2/string/literals_test.dart
+++ b/tests/language_2/string/literals_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/multiline_newline_cr.dart b/tests/language_2/string/multiline_newline_cr.dart
index 1b0627a..2cea98b 100644
--- a/tests/language_2/string/multiline_newline_cr.dart
+++ b/tests/language_2/string/multiline_newline_cr.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library multiline_newline_cr;
 
 const constantMultilineString = """
diff --git a/tests/language_2/string/multiline_newline_crlf.dart b/tests/language_2/string/multiline_newline_crlf.dart
index 958a82c..39baeff 100644
--- a/tests/language_2/string/multiline_newline_crlf.dart
+++ b/tests/language_2/string/multiline_newline_crlf.dart
@@ -1,28 +1,30 @@
-// Copyright (c) 2015, 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.

-

-// Note: This test relies on LF line endings in the source file.

-// It requires an entry in the .gitattributes file.

-

-library multiline_newline_crlf;

-

-const constantMultilineString = """

-a

-b

-""";

-

-var nonConstantMultilineString = """

-a

-b

-""";

-

-const constantRawMultilineString = r"""

-\a

-\b

-""";

-

-var nonConstantRawMultilineString = r"""

-\a

-\b

-""";
\ No newline at end of file
+// Copyright (c) 2015, 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.9
+
+// Note: This test relies on LF line endings in the source file.
+// It requires an entry in the .gitattributes file.
+
+library multiline_newline_crlf;
+
+const constantMultilineString = """
+a
+b
+""";
+
+var nonConstantMultilineString = """
+a
+b
+""";
+
+const constantRawMultilineString = r"""
+\a
+\b
+""";
+
+var nonConstantRawMultilineString = r"""
+\a
+\b
+""";
diff --git a/tests/language_2/string/multiline_newline_lf.dart b/tests/language_2/string/multiline_newline_lf.dart
index b13fbab..0cfee93 100644
--- a/tests/language_2/string/multiline_newline_lf.dart
+++ b/tests/language_2/string/multiline_newline_lf.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Note: This test relies on LF line endings in the source file.
 // It requires an entry in the .gitattributes file.
 
diff --git a/tests/language_2/string/multiline_newline_runtime_1_test.dart b/tests/language_2/string/multiline_newline_runtime_1_test.dart
index 65c906d..f45db79 100644
--- a/tests/language_2/string/multiline_newline_runtime_1_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_2_test.dart b/tests/language_2/string/multiline_newline_runtime_2_test.dart
index 1c39d93..9e8835e 100644
--- a/tests/language_2/string/multiline_newline_runtime_2_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_3_test.dart b/tests/language_2/string/multiline_newline_runtime_3_test.dart
index df02923..5062468 100644
--- a/tests/language_2/string/multiline_newline_runtime_3_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_4_test.dart b/tests/language_2/string/multiline_newline_runtime_4_test.dart
index 89503e4..942a129 100644
--- a/tests/language_2/string/multiline_newline_runtime_4_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_5_test.dart b/tests/language_2/string/multiline_newline_runtime_5_test.dart
index 450e6b3..5a662e0 100644
--- a/tests/language_2/string/multiline_newline_runtime_5_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_6_test.dart b/tests/language_2/string/multiline_newline_runtime_6_test.dart
index 4dbe7bd..ffc0289 100644
--- a/tests/language_2/string/multiline_newline_runtime_6_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_runtime_test.dart b/tests/language_2/string/multiline_newline_runtime_test.dart
index 7fa95ca..f459077 100644
--- a/tests/language_2/string/multiline_newline_runtime_test.dart
+++ b/tests/language_2/string/multiline_newline_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/multiline_newline_test.dart b/tests/language_2/string/multiline_newline_test.dart
index 0498d0b..250706e 100644
--- a/tests/language_2/string/multiline_newline_test.dart
+++ b/tests/language_2/string/multiline_newline_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.9
+
 import 'package:expect/expect.dart';
 import 'multiline_newline_cr.dart' as cr;
 import 'multiline_newline_crlf.dart' as crlf;
diff --git a/tests/language_2/string/multiline_strings_test.dart b/tests/language_2/string/multiline_strings_test.dart
index fa96fb1..1c253e5 100644
--- a/tests/language_2/string/multiline_strings_test.dart
+++ b/tests/language_2/string/multiline_strings_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.9
+
 // Note: This test relies on LF line endings in the source file.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/string/no_operator_runtime_test.dart b/tests/language_2/string/no_operator_runtime_test.dart
index ebf1dc7..824c470 100644
--- a/tests/language_2/string/no_operator_runtime_test.dart
+++ b/tests/language_2/string/no_operator_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/string/no_operator_test.dart b/tests/language_2/string/no_operator_test.dart
index a7eabf7..5b3e4aa 100644
--- a/tests/language_2/string/no_operator_test.dart
+++ b/tests/language_2/string/no_operator_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/language_2/string/optimizations_test.dart b/tests/language_2/string/optimizations_test.dart
index a40bc0b..7b8ea64 100644
--- a/tests/language_2/string/optimizations_test.dart
+++ b/tests/language_2/string/optimizations_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.9
+
 // Regression test for dart2js's type inferrer, that used to not
 // correctly infer optional named parameters.
 
diff --git a/tests/language_2/string/overflow.dart b/tests/language_2/string/overflow.dart
index 8b01e19..ad58981 100644
--- a/tests/language_2/string/overflow.dart
+++ b/tests/language_2/string/overflow.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Test to ensure that the VM does not have an integer overflow issue
 // when concatenating strings.
 
diff --git a/tests/language_2/string/raw_string_test.dart b/tests/language_2/string/raw_string_test.dart
index 358f882..cf9b1ce 100644
--- a/tests/language_2/string/raw_string_test.dart
+++ b/tests/language_2/string/raw_string_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.9
+
 // Note: This test relies on LF line endings in the source file.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/string/runtime_test.dart b/tests/language_2/string/runtime_test.dart
index 612251c..b725dd9 100644
--- a/tests/language_2/string/runtime_test.dart
+++ b/tests/language_2/string/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/split_test.dart b/tests/language_2/string/split_test.dart
index 2517237..6d855d0 100644
--- a/tests/language_2/string/split_test.dart
+++ b/tests/language_2/string/split_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Issue 24043.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class EvilMatch implements Match {
diff --git a/tests/language_2/string/string_test.dart b/tests/language_2/string/string_test.dart
index 68cca75..48c40a0 100644
--- a/tests/language_2/string/string_test.dart
+++ b/tests/language_2/string/string_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Replace with shared test once interface issues clarified.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class StringTest {
diff --git a/tests/language_2/string/substring_runtime_test.dart b/tests/language_2/string/substring_runtime_test.dart
index 38007ad..96591b1 100644
--- a/tests/language_2/string/substring_runtime_test.dart
+++ b/tests/language_2/string/substring_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/string/substring_test.dart b/tests/language_2/string/substring_test.dart
index 6f33829..6a64de4 100644
--- a/tests/language_2/string/substring_test.dart
+++ b/tests/language_2/string/substring_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart version of two-argument Ackermann-Peter function.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/string/supertype_checked_test.dart b/tests/language_2/string/supertype_checked_test.dart
index 016c757..ef857a5 100644
--- a/tests/language_2/string/supertype_checked_test.dart
+++ b/tests/language_2/string/supertype_checked_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.9
+
 import "package:expect/expect.dart";
 
 // This tests a bug in dart2js which caused the compiler to emit bad
diff --git a/tests/language_2/string/unicode1_test.dart b/tests/language_2/string/unicode1_test.dart
index 04a9f5f..58b39bd 100644
--- a/tests/language_2/string/unicode1_test.dart
+++ b/tests/language_2/string/unicode1_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.9
+
 /// (backslash) uXXXX must have exactly 4 hex digits.
 
 main() {
diff --git a/tests/language_2/string/unicode2_test.dart b/tests/language_2/string/unicode2_test.dart
index 4624fbd..042b642 100644
--- a/tests/language_2/string/unicode2_test.dart
+++ b/tests/language_2/string/unicode2_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.9
+
 /// \u{X*} should have 1-6 hex digits.
 
 main() {
diff --git a/tests/language_2/string/unicode3_test.dart b/tests/language_2/string/unicode3_test.dart
index 3c04303..8431e4e 100644
--- a/tests/language_2/string/unicode3_test.dart
+++ b/tests/language_2/string/unicode3_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.9
+
 /// Backslash xXX must have exactly 2 hex digits.
 
 main() {
diff --git a/tests/language_2/string/unicode4_test.dart b/tests/language_2/string/unicode4_test.dart
index 89095fa..701ac3e 100644
--- a/tests/language_2/string/unicode4_test.dart
+++ b/tests/language_2/string/unicode4_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.9
+
 /// Unicode escapes must refer to valid Unicode points and not surrogate
 /// characters.
 
diff --git a/tests/language_2/string/unicode_bom_middle_test.dart b/tests/language_2/string/unicode_bom_middle_test.dart
index e620b2b..ed98b3b 100644
--- a/tests/language_2/string/unicode_bom_middle_test.dart
+++ b/tests/language_2/string/unicode_bom_middle_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.9
+
 import "package:expect/expect.dart";
 
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
diff --git a/tests/language_2/string/unicode_bom_test.dart b/tests/language_2/string/unicode_bom_test.dart
index 2e23445..b81c494 100644
--- a/tests/language_2/string/unicode_bom_test.dart
+++ b/tests/language_2/string/unicode_bom_test.dart
@@ -1,7 +1,9 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
+// Copyright (c) 2011, 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.9
+
 // This file is saved with a BOM character (as first character). This character
 // should be ignored.
 // Tests that files with a BOM character are correctly handled.
diff --git a/tests/language_2/string/unicode_hash_test.dart b/tests/language_2/string/unicode_hash_test.dart
index 430c51e..78ae63e 100644
--- a/tests/language_2/string/unicode_hash_test.dart
+++ b/tests/language_2/string/unicode_hash_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/subtyping_static/future_or_subtype_test.dart b/tests/language_2/subtyping_static/future_or_subtype_test.dart
index 888ab60..611b8b0 100644
--- a/tests/language_2/subtyping_static/future_or_subtype_test.dart
+++ b/tests/language_2/subtyping_static/future_or_subtype_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/super/abstract_method_test.dart b/tests/language_2/super/abstract_method_test.dart
index 19c877a..69fbc56 100644
--- a/tests/language_2/super/abstract_method_test.dart
+++ b/tests/language_2/super/abstract_method_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.9
+
 // Test that a method overridden by an abstract method is called at
 // runtime.
 
diff --git a/tests/language_2/super/additional_interface_adds_optional_args_supercall_test.dart b/tests/language_2/super/additional_interface_adds_optional_args_supercall_test.dart
index 534a590..b23e835 100644
--- a/tests/language_2/super/additional_interface_adds_optional_args_supercall_test.dart
+++ b/tests/language_2/super/additional_interface_adds_optional_args_supercall_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/super/all_named_constructor_test.dart b/tests/language_2/super/all_named_constructor_test.dart
index 37b15d7..5040d7c 100644
--- a/tests/language_2/super/all_named_constructor_test.dart
+++ b/tests/language_2/super/all_named_constructor_test.dart
@@ -4,6 +4,8 @@
 // Dart test for testing implicit invocation of super constructor with all
 // named parameters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var res = 0;
diff --git a/tests/language_2/super/assign_runtime_test.dart b/tests/language_2/super/assign_runtime_test.dart
index 19e4fa4..1cc6f77 100644
--- a/tests/language_2/super/assign_runtime_test.dart
+++ b/tests/language_2/super/assign_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/super/assign_test.dart b/tests/language_2/super/assign_test.dart
index 3e77ef5..9143fbd 100644
--- a/tests/language_2/super/assign_test.dart
+++ b/tests/language_2/super/assign_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.9
+
 class A {
   int x;
 }
diff --git a/tests/language_2/super/bound_closure_test.dart b/tests/language_2/super/bound_closure_test.dart
index 554b0e2..7f99e8d 100644
--- a/tests/language_2/super/bound_closure_test.dart
+++ b/tests/language_2/super/bound_closure_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/call2_test.dart b/tests/language_2/super/call2_test.dart
index 156d344..8153c62 100644
--- a/tests/language_2/super/call2_test.dart
+++ b/tests/language_2/super/call2_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.9
+
 // Regresion test for bug discovered in frog handling super calls: the test case
 // mixes generics, super calls, and purposely doesn't allocate the base type.
 //
diff --git a/tests/language_2/super/call3_runtime_test.dart b/tests/language_2/super/call3_runtime_test.dart
index 1df0b3c..0b63e6c 100644
--- a/tests/language_2/super/call3_runtime_test.dart
+++ b/tests/language_2/super/call3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/super/call3_test.dart b/tests/language_2/super/call3_test.dart
index 7c43edf..eab93d9 100644
--- a/tests/language_2/super/call3_test.dart
+++ b/tests/language_2/super/call3_test.dart
@@ -4,6 +4,8 @@
 // Dart test for testing implicit super calls with bad arguments or no default
 // constructor in super class.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/call4_test.dart b/tests/language_2/super/call4_test.dart
index aced9d7..c071236 100644
--- a/tests/language_2/super/call4_test.dart
+++ b/tests/language_2/super/call4_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/super/call_test.dart b/tests/language_2/super/call_test.dart
index 384ee61..bb2acca 100644
--- a/tests/language_2/super/call_test.dart
+++ b/tests/language_2/super/call_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing super calls
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/closure_test.dart b/tests/language_2/super/closure_test.dart
index ad159ce..f58daa1 100644
--- a/tests/language_2/super/closure_test.dart
+++ b/tests/language_2/super/closure_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.9
+
 import "package:expect/expect.dart";
 
 // Dart test program for testing access to super from closure.
diff --git a/tests/language_2/super/conditional_operator_runtime_test.dart b/tests/language_2/super/conditional_operator_runtime_test.dart
index 2529639..f7fb940 100644
--- a/tests/language_2/super/conditional_operator_runtime_test.dart
+++ b/tests/language_2/super/conditional_operator_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/super/conditional_operator_test.dart b/tests/language_2/super/conditional_operator_test.dart
index 5c41ab4..de79c92 100644
--- a/tests/language_2/super/conditional_operator_test.dart
+++ b/tests/language_2/super/conditional_operator_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.9
+
 // Verify that the ?. operator cannot be used with "super".
 
 class B {
diff --git a/tests/language_2/super/field_2_test.dart b/tests/language_2/super/field_2_test.dart
index 82b899c..086a4f5 100644
--- a/tests/language_2/super/field_2_test.dart
+++ b/tests/language_2/super/field_2_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/field_access_test.dart b/tests/language_2/super/field_access_test.dart
index ffd1897..d5fcbdf 100644
--- a/tests/language_2/super/field_access_test.dart
+++ b/tests/language_2/super/field_access_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/field_test.dart b/tests/language_2/super/field_test.dart
index 85ae8e9..27544dc 100644
--- a/tests/language_2/super/field_test.dart
+++ b/tests/language_2/super/field_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing super field access.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/from_constructor_test.dart b/tests/language_2/super/from_constructor_test.dart
index 02e86fa..9de3a06 100644
--- a/tests/language_2/super/from_constructor_test.dart
+++ b/tests/language_2/super/from_constructor_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.9
+
 import "package:expect/expect.dart";
 
 final results = [];
diff --git a/tests/language_2/super/implicit_closure_test.dart b/tests/language_2/super/implicit_closure_test.dart
index c94997b..0e4268c 100644
--- a/tests/language_2/super/implicit_closure_test.dart
+++ b/tests/language_2/super/implicit_closure_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing invocation of implicit closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class BaseClass {
diff --git a/tests/language_2/super/in_async1_test.dart b/tests/language_2/super/in_async1_test.dart
index b5cb4bd..63b5200 100644
--- a/tests/language_2/super/in_async1_test.dart
+++ b/tests/language_2/super/in_async1_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_async2_test.dart b/tests/language_2/super/in_async2_test.dart
index 70df51f..adb3f41 100644
--- a/tests/language_2/super/in_async2_test.dart
+++ b/tests/language_2/super/in_async2_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_async3_test.dart b/tests/language_2/super/in_async3_test.dart
index 9798010..e6927ca 100644
--- a/tests/language_2/super/in_async3_test.dart
+++ b/tests/language_2/super/in_async3_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_async4_test.dart b/tests/language_2/super/in_async4_test.dart
index 399c8d8..a866b54 100644
--- a/tests/language_2/super/in_async4_test.dart
+++ b/tests/language_2/super/in_async4_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_async5_test.dart b/tests/language_2/super/in_async5_test.dart
index acf6fe8..344769a 100644
--- a/tests/language_2/super/in_async5_test.dart
+++ b/tests/language_2/super/in_async5_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_async6_test.dart b/tests/language_2/super/in_async6_test.dart
index 3f51313..a610ff7 100644
--- a/tests/language_2/super/in_async6_test.dart
+++ b/tests/language_2/super/in_async6_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:async';
diff --git a/tests/language_2/super/in_constructor_test.dart b/tests/language_2/super/in_constructor_test.dart
index 621eee9..a2c4b78 100644
--- a/tests/language_2/super/in_constructor_test.dart
+++ b/tests/language_2/super/in_constructor_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/super/in_finally_test.dart b/tests/language_2/super/in_finally_test.dart
index 41f74756..cbeaa2b 100644
--- a/tests/language_2/super/in_finally_test.dart
+++ b/tests/language_2/super/in_finally_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/inferrer_test.dart b/tests/language_2/super/inferrer_test.dart
index 6fcaf8e..56c16b6 100644
--- a/tests/language_2/super/inferrer_test.dart
+++ b/tests/language_2/super/inferrer_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.9
+
 // Test that dart2js's backend type inference handles super calls.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/mixin_test.dart b/tests/language_2/super/mixin_test.dart
index e76a282..9cccbb7 100644
--- a/tests/language_2/super/mixin_test.dart
+++ b/tests/language_2/super/mixin_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.9
+
 // Dart2js regression test: Test that the type mask for non-null exact Mixin is
 // created for Mixin.getter.
 
diff --git a/tests/language_2/super/no_such_method1_test.dart b/tests/language_2/super/no_such_method1_test.dart
index 1b990b8..6d61f6c 100644
--- a/tests/language_2/super/no_such_method1_test.dart
+++ b/tests/language_2/super/no_such_method1_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/super/no_such_method2_test.dart b/tests/language_2/super/no_such_method2_test.dart
index a85c675..a43b1a8 100644
--- a/tests/language_2/super/no_such_method2_test.dart
+++ b/tests/language_2/super/no_such_method2_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/super/no_such_method3_test.dart b/tests/language_2/super/no_such_method3_test.dart
index 16433d8..7a72497 100644
--- a/tests/language_2/super/no_such_method3_test.dart
+++ b/tests/language_2/super/no_such_method3_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.9
+
 import 'package:expect/expect.dart';
 
 var result;
diff --git a/tests/language_2/super/no_such_method4_runtime_test.dart b/tests/language_2/super/no_such_method4_runtime_test.dart
index f8d4880..fff4dee 100644
--- a/tests/language_2/super/no_such_method4_runtime_test.dart
+++ b/tests/language_2/super/no_such_method4_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/super/no_such_method4_test.dart b/tests/language_2/super/no_such_method4_test.dart
index 9e83146..c3bc167 100644
--- a/tests/language_2/super/no_such_method4_test.dart
+++ b/tests/language_2/super/no_such_method4_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/super/no_such_method5_runtime_test.dart b/tests/language_2/super/no_such_method5_runtime_test.dart
index 94adb24..c76f43d 100644
--- a/tests/language_2/super/no_such_method5_runtime_test.dart
+++ b/tests/language_2/super/no_such_method5_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/super/no_such_method5_test.dart b/tests/language_2/super/no_such_method5_test.dart
index eb923c1..67e29b0 100644
--- a/tests/language_2/super/no_such_method5_test.dart
+++ b/tests/language_2/super/no_such_method5_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/super/non_const_test.dart b/tests/language_2/super/non_const_test.dart
index 06c9f73..8ee25dc 100644
--- a/tests/language_2/super/non_const_test.dart
+++ b/tests/language_2/super/non_const_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.9
+
 /// Check fails because const class extends from non const class.
 
 class Base {
diff --git a/tests/language_2/super/operator_index2_test.dart b/tests/language_2/super/operator_index2_test.dart
index d17c41e..1665c90 100644
--- a/tests/language_2/super/operator_index2_test.dart
+++ b/tests/language_2/super/operator_index2_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.9
+
 // Test for super indexing operations.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index3_test.dart b/tests/language_2/super/operator_index3_test.dart
index 10edc0f..2916733 100644
--- a/tests/language_2/super/operator_index3_test.dart
+++ b/tests/language_2/super/operator_index3_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.9
+
 // Test for operator[]= resolved in super class.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index4_test.dart b/tests/language_2/super/operator_index4_test.dart
index ea59734..1ae00d7 100644
--- a/tests/language_2/super/operator_index4_test.dart
+++ b/tests/language_2/super/operator_index4_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.9
+
 // Test for operator[] resolved in the super class.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index5_test.dart b/tests/language_2/super/operator_index5_test.dart
index 008ed71..feaad2e 100644
--- a/tests/language_2/super/operator_index5_test.dart
+++ b/tests/language_2/super/operator_index5_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.9
+
 // Test for unresolved super[]=.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index6_test.dart b/tests/language_2/super/operator_index6_test.dart
index 41bffa4..2b6f79c 100644
--- a/tests/language_2/super/operator_index6_test.dart
+++ b/tests/language_2/super/operator_index6_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.9
+
 // Test for unresolved super[].
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index7_test.dart b/tests/language_2/super/operator_index7_test.dart
index b64fef6..c0b102e 100644
--- a/tests/language_2/super/operator_index7_test.dart
+++ b/tests/language_2/super/operator_index7_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.9
+
 // Test for unresolved super[] and super[]=.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index8_test.dart b/tests/language_2/super/operator_index8_test.dart
index 558c5a4..d52308f 100644
--- a/tests/language_2/super/operator_index8_test.dart
+++ b/tests/language_2/super/operator_index8_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.9
+
 // Test for unresolved super[] and super[]= and correct evaluation order.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/operator_index_test.dart b/tests/language_2/super/operator_index_test.dart
index 81dd172..327565f 100644
--- a/tests/language_2/super/operator_index_test.dart
+++ b/tests/language_2/super/operator_index_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.9
+
 // Test that we emit errors for unresolved indexing operations on super.
 
 class A {
diff --git a/tests/language_2/super/operator_test.dart b/tests/language_2/super/operator_test.dart
index 5953e7a..e846e81 100644
--- a/tests/language_2/super/operator_test.dart
+++ b/tests/language_2/super/operator_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing super operator calls
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/super/setter_interceptor_test.dart b/tests/language_2/super/setter_interceptor_test.dart
index 339dc6f..acfd50e 100644
--- a/tests/language_2/super/setter_interceptor_test.dart
+++ b/tests/language_2/super/setter_interceptor_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.9
+
 // Test that we correctly intercept super getter and setter calls.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/super/setter_test.dart b/tests/language_2/super/setter_test.dart
index c2a9567..6baaf0c 100644
--- a/tests/language_2/super/setter_test.dart
+++ b/tests/language_2/super/setter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing super setters and getters.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/super/super_test.dart b/tests/language_2/super/super_test.dart
index f96f4fe..fedc169 100644
--- a/tests/language_2/super/super_test.dart
+++ b/tests/language_2/super/super_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.9
+
 import "package:expect/expect.dart";
 
 int i = 0;
diff --git a/tests/language_2/superinterface_variance/abstract_class_error_test.dart b/tests/language_2/superinterface_variance/abstract_class_error_test.dart
index 47367d1..a2a5d04 100644
--- a/tests/language_2/superinterface_variance/abstract_class_error_test.dart
+++ b/tests/language_2/superinterface_variance/abstract_class_error_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.9
+
 typedef F1<X> = void Function(X);
 typedef F2<X> = X Function(X);
 typedef F3<X> = void Function<Y extends X>();
diff --git a/tests/language_2/superinterface_variance/abstract_mixin_application_error_test.dart b/tests/language_2/superinterface_variance/abstract_mixin_application_error_test.dart
index 0362eab..db640fb 100644
--- a/tests/language_2/superinterface_variance/abstract_mixin_application_error_test.dart
+++ b/tests/language_2/superinterface_variance/abstract_mixin_application_error_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.9
+
 typedef F1<X> = void Function(X);
 typedef F2<X> = X Function(X);
 typedef F3<X> = void Function<Y extends X>();
diff --git a/tests/language_2/superinterface_variance/concrete_class_error_test.dart b/tests/language_2/superinterface_variance/concrete_class_error_test.dart
index 3d8ac1e..f0a25e5 100644
--- a/tests/language_2/superinterface_variance/concrete_class_error_test.dart
+++ b/tests/language_2/superinterface_variance/concrete_class_error_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.9
+
 typedef F1<X> = void Function(X);
 typedef F2<X> = X Function(X);
 typedef F3<X> = void Function<Y extends X>();
diff --git a/tests/language_2/superinterface_variance/concrete_mixin_application_error_test.dart b/tests/language_2/superinterface_variance/concrete_mixin_application_error_test.dart
index b9b658d..51231a8 100644
--- a/tests/language_2/superinterface_variance/concrete_mixin_application_error_test.dart
+++ b/tests/language_2/superinterface_variance/concrete_mixin_application_error_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.9
+
 typedef F1<X> = void Function(X);
 typedef F2<X> = X Function(X);
 typedef F3<X> = void Function<Y extends X>();
diff --git a/tests/language_2/superinterface_variance/covariance_test.dart b/tests/language_2/superinterface_variance/covariance_test.dart
index 11bb198..8e506a1 100644
--- a/tests/language_2/superinterface_variance/covariance_test.dart
+++ b/tests/language_2/superinterface_variance/covariance_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.9
+
 typedef F<X> = X Function();
 typedef G<X> = void Function(void Function(X));
 
diff --git a/tests/language_2/superinterface_variance/mixin_error_test.dart b/tests/language_2/superinterface_variance/mixin_error_test.dart
index 14963f3..4464608 100644
--- a/tests/language_2/superinterface_variance/mixin_error_test.dart
+++ b/tests/language_2/superinterface_variance/mixin_error_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.9
+
 typedef F1<X> = void Function(X);
 typedef F2<X> = X Function(X);
 typedef F3<X> = void Function<Y extends X>();
diff --git a/tests/language_2/switch/aborting_switch_case_test.dart b/tests/language_2/switch/aborting_switch_case_test.dart
index b8c7fe4..881ca30 100644
--- a/tests/language_2/switch/aborting_switch_case_test.dart
+++ b/tests/language_2/switch/aborting_switch_case_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.9
+
 // Regression test for dart2js that used to be confused when inlining
 // method that always aborts in a switch case.
 
diff --git a/tests/language_2/switch/bad_case_runtime_test.dart b/tests/language_2/switch/bad_case_runtime_test.dart
index 0119fa5..b47e5cc 100644
--- a/tests/language_2/switch/bad_case_runtime_test.dart
+++ b/tests/language_2/switch/bad_case_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/switch/bad_case_test.dart b/tests/language_2/switch/bad_case_test.dart
index 03746b1..3e3a340 100644
--- a/tests/language_2/switch/bad_case_test.dart
+++ b/tests/language_2/switch/bad_case_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.9
+
 // Test reporting a compile-time error if case expressions do not all have
 // the same type or are of type double.
 
diff --git a/tests/language_2/switch/case_expression_with_assignment_runtime_test.dart b/tests/language_2/switch/case_expression_with_assignment_runtime_test.dart
index 8b534c6..73372b7 100644
--- a/tests/language_2/switch/case_expression_with_assignment_runtime_test.dart
+++ b/tests/language_2/switch/case_expression_with_assignment_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/switch/case_expression_with_assignment_test.dart b/tests/language_2/switch/case_expression_with_assignment_test.dart
index 5ab2dbd..9ba6399 100644
--- a/tests/language_2/switch/case_expression_with_assignment_test.dart
+++ b/tests/language_2/switch/case_expression_with_assignment_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.9
+
 // Regression test for crash in VM parser (issue 29370).
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/switch/case_runtime_test.dart b/tests/language_2/switch/case_runtime_test.dart
index b5a83cd..f25ac43 100644
--- a/tests/language_2/switch/case_runtime_test.dart
+++ b/tests/language_2/switch/case_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/switch/case_static_const_test.dart b/tests/language_2/switch/case_static_const_test.dart
index e15a9f4..d6a0007 100644
--- a/tests/language_2/switch/case_static_const_test.dart
+++ b/tests/language_2/switch/case_static_const_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.9
+
 class A {
   static const S = 'A.S';
 }
diff --git a/tests/language_2/switch/case_test.dart b/tests/language_2/switch/case_test.dart
index 105299d..af15ac6 100644
--- a/tests/language_2/switch/case_test.dart
+++ b/tests/language_2/switch/case_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/switch/case_warn_test.dart b/tests/language_2/switch/case_warn_test.dart
index 541a590..25b9516 100644
--- a/tests/language_2/switch/case_warn_test.dart
+++ b/tests/language_2/switch/case_warn_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test switch statement.
 
+// @dart = 2.9
+
 // Tests some switch-case statements blocks that should and should not
 // cause static warnings.
 // This test is not testing runtime behavior, only static warnings.
diff --git a/tests/language_2/switch/empty_block_case_test.dart b/tests/language_2/switch/empty_block_case_test.dart
index 6edaff4..5e9cfed 100644
--- a/tests/language_2/switch/empty_block_case_test.dart
+++ b/tests/language_2/switch/empty_block_case_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.9
+
 import "package:expect/expect.dart";
 
 // Test that a case with an empty block does not fall through.
diff --git a/tests/language_2/switch/fallthru_runtime_test.dart b/tests/language_2/switch/fallthru_runtime_test.dart
index b1dd57d..3bcdf44c 100644
--- a/tests/language_2/switch/fallthru_runtime_test.dart
+++ b/tests/language_2/switch/fallthru_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/switch/fallthru_test.dart b/tests/language_2/switch/fallthru_test.dart
index 16e23fe..9ca493d 100644
--- a/tests/language_2/switch/fallthru_test.dart
+++ b/tests/language_2/switch/fallthru_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Check that FallThroughError is thrown if switch clause does not terminate.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 String test(int n) {
diff --git a/tests/language_2/switch/infinite_switch_label_test.dart b/tests/language_2/switch/infinite_switch_label_test.dart
index 7eec42c..82de828 100644
--- a/tests/language_2/switch/infinite_switch_label_test.dart
+++ b/tests/language_2/switch/infinite_switch_label_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.9
+
 // Test nested switch statement using labels.
 
 library nested_switch_label;
diff --git a/tests/language_2/switch/label2_test.dart b/tests/language_2/switch/label2_test.dart
index 612e6a9..d018623 100644
--- a/tests/language_2/switch/label2_test.dart
+++ b/tests/language_2/switch/label2_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.9
+
 // Test switch statement using labels.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/switch/label_test.dart b/tests/language_2/switch/label_test.dart
index 290c84f..601330f 100644
--- a/tests/language_2/switch/label_test.dart
+++ b/tests/language_2/switch/label_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test switch statement using labels.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Switcher {
diff --git a/tests/language_2/switch/nested_switch_label_test.dart b/tests/language_2/switch/nested_switch_label_test.dart
index 49c2754..55b66b08 100644
--- a/tests/language_2/switch/nested_switch_label_test.dart
+++ b/tests/language_2/switch/nested_switch_label_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.9
+
 // Test nested switch statement using labels.
 
 library nested_switch_label;
diff --git a/tests/language_2/switch/scope_test.dart b/tests/language_2/switch/scope_test.dart
index 938a393..c1b6536 100644
--- a/tests/language_2/switch/scope_test.dart
+++ b/tests/language_2/switch/scope_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that a new scope is introduced for each switch case.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class SwitchScopeTest {
diff --git a/tests/language_2/switch/switch1_test.dart b/tests/language_2/switch/switch1_test.dart
index ffae0f2..f461c0d 100644
--- a/tests/language_2/switch/switch1_test.dart
+++ b/tests/language_2/switch/switch1_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.9
+
 /// Check that default clause must be last case.
 
 main() {
diff --git a/tests/language_2/switch/switch3_test.dart b/tests/language_2/switch/switch3_test.dart
index cdcbdef..0b3d5bf 100644
--- a/tests/language_2/switch/switch3_test.dart
+++ b/tests/language_2/switch/switch3_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.9
+
 /// Check that 'continue' to switch statement is illegal.
 
 main() {
diff --git a/tests/language_2/switch/switch4_test.dart b/tests/language_2/switch/switch4_test.dart
index d90fc65..31a30e7 100644
--- a/tests/language_2/switch/switch4_test.dart
+++ b/tests/language_2/switch/switch4_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.9
+
 /// Discover unresolved case labels.
 
 main() {
diff --git a/tests/language_2/switch/switch5_test.dart b/tests/language_2/switch/switch5_test.dart
index 7f23f3f..8d22193 100644
--- a/tests/language_2/switch/switch5_test.dart
+++ b/tests/language_2/switch/switch5_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.9
+
 /// Break' to case label is illegal.
 
 main() {
diff --git a/tests/language_2/switch/switch6_test.dart b/tests/language_2/switch/switch6_test.dart
index 43e09dc..61e9196 100644
--- a/tests/language_2/switch/switch6_test.dart
+++ b/tests/language_2/switch/switch6_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // The break is in the right scope, http://b/3428700 was agreed upon.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Switch6Test {
diff --git a/tests/language_2/switch/switch7_test.dart b/tests/language_2/switch/switch7_test.dart
index e47d7e5..e4ffb71 100644
--- a/tests/language_2/switch/switch7_test.dart
+++ b/tests/language_2/switch/switch7_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.9
+
 /// Illegal to reference a labeled case statement with break.
 
 main() {
diff --git a/tests/language_2/switch/switch8_test.dart b/tests/language_2/switch/switch8_test.dart
index d2f9122..5d4384f 100644
--- a/tests/language_2/switch/switch8_test.dart
+++ b/tests/language_2/switch/switch8_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.9
+
 // Regression test for dart2js that used to not generate code for
 // compile-time constants only seen in case expressions.
 
diff --git a/tests/language_2/switch/switch_test.dart b/tests/language_2/switch/switch_test.dart
index 0b12c0e7..52c131c 100644
--- a/tests/language_2/switch/switch_test.dart
+++ b/tests/language_2/switch/switch_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test switch statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Switcher {
diff --git a/tests/language_2/switch/try_catch_test.dart b/tests/language_2/switch/try_catch_test.dart
index beee717..a37c890 100644
--- a/tests/language_2/switch/try_catch_test.dart
+++ b/tests/language_2/switch/try_catch_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.9
+
 // Regression test for issue 18869: Check that try-catch is working correctly
 // inside switch-case clauses.
 
diff --git a/tests/language_2/symbol/conflict_test.dart b/tests/language_2/symbol/conflict_test.dart
index 9c95e05..b988b43 100644
--- a/tests/language_2/symbol/conflict_test.dart
+++ b/tests/language_2/symbol/conflict_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.9
+
 // Tests that const symbols are only equal to the symbol they represent.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/symbol/literal_runtime_1_test.dart b/tests/language_2/symbol/literal_runtime_1_test.dart
index e574d8c..ff5f0cb 100644
--- a/tests/language_2/symbol/literal_runtime_1_test.dart
+++ b/tests/language_2/symbol/literal_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/symbol/literal_runtime_test.dart b/tests/language_2/symbol/literal_runtime_test.dart
index 5bc7eed..945678f 100644
--- a/tests/language_2/symbol/literal_runtime_test.dart
+++ b/tests/language_2/symbol/literal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/symbol/literal_test.dart b/tests/language_2/symbol/literal_test.dart
index 976158f..ae77cf2 100644
--- a/tests/language_2/symbol/literal_test.dart
+++ b/tests/language_2/symbol/literal_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.9
+
 // Test symbol literals.
 
 library symbol_literal_test;
diff --git a/tests/language_2/sync_star/covariant_type_test.dart b/tests/language_2/sync_star/covariant_type_test.dart
index efae12a..cad3f94 100644
--- a/tests/language_2/sync_star/covariant_type_test.dart
+++ b/tests/language_2/sync_star/covariant_type_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.9
+
 // Test that TypeErrors happen for sync* methods without creating iterator.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/sync_star/dcall_type_test.dart b/tests/language_2/sync_star/dcall_type_test.dart
index 5561419..e783855 100644
--- a/tests/language_2/sync_star/dcall_type_test.dart
+++ b/tests/language_2/sync_star/dcall_type_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.9
+
 // Test that TypeErrors happen for sync* methods without creating iterator.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/sync_star/generator1_runtime_test.dart b/tests/language_2/sync_star/generator1_runtime_test.dart
index 728a800..3b1faa4 100644
--- a/tests/language_2/sync_star/generator1_runtime_test.dart
+++ b/tests/language_2/sync_star/generator1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/sync_star/generator1_test.dart b/tests/language_2/sync_star/generator1_test.dart
index ef6bd9b..5bd8a87 100644
--- a/tests/language_2/sync_star/generator1_test.dart
+++ b/tests/language_2/sync_star/generator1_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.9
+
 // Simple test program for sync* generator functions.
 
 // VMOptions=--optimization_counter_threshold=10
diff --git a/tests/language_2/sync_star/generator2_test.dart b/tests/language_2/sync_star/generator2_test.dart
index feaee63..88406c2 100644
--- a/tests/language_2/sync_star/generator2_test.dart
+++ b/tests/language_2/sync_star/generator2_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.9
+
 // Simple test program for sync* generator functions.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/sync_star/generator3_test.dart b/tests/language_2/sync_star/generator3_test.dart
index d8646df..15af782 100644
--- a/tests/language_2/sync_star/generator3_test.dart
+++ b/tests/language_2/sync_star/generator3_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.9
+
 // Test program for sync* generator functions and yielding in try blocks.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/sync_star/less_than_test.dart b/tests/language_2/sync_star/less_than_test.dart
index 8dd197a..58cbb4c 100644
--- a/tests/language_2/sync_star/less_than_test.dart
+++ b/tests/language_2/sync_star/less_than_test.dart
@@ -2,6 +2,8 @@
 // source code is governed by a BSD-style license that can be found in
 // the LICENSE file.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 confuse(x) => [1, 'x', true, null, x].last;
diff --git a/tests/language_2/sync_star/nested_subtype_test.dart b/tests/language_2/sync_star/nested_subtype_test.dart
index f5f29ca..97614a8 100644
--- a/tests/language_2/sync_star/nested_subtype_test.dart
+++ b/tests/language_2/sync_star/nested_subtype_test.dart
@@ -2,6 +2,8 @@
 // source code is governed by a BSD-style license that can be found in
 // the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test for: https://github.com/dart-lang/sdk/issues/42234
 
 Iterable<Object> f() sync* {
diff --git a/tests/language_2/sync_star/sync_star_exception_nested_test.dart b/tests/language_2/sync_star/sync_star_exception_nested_test.dart
index 6c8b702..0b11365 100644
--- a/tests/language_2/sync_star/sync_star_exception_nested_test.dart
+++ b/tests/language_2/sync_star/sync_star_exception_nested_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.9
+
 // See: https://github.com/dart-lang/sdk/issues/42466
 
 import 'dart:collection';
diff --git a/tests/language_2/sync_star/sync_star_exception_test.dart b/tests/language_2/sync_star/sync_star_exception_test.dart
index e1db95a..54eb32e 100644
--- a/tests/language_2/sync_star/sync_star_exception_test.dart
+++ b/tests/language_2/sync_star/sync_star_exception_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.9
+
 // See: https://github.com/dart-lang/sdk/issues/42466
 
 import 'dart:collection';
diff --git a/tests/language_2/sync_star/void_sync_star_test.dart b/tests/language_2/sync_star/void_sync_star_test.dart
index 4c387f3..1755b6a 100644
--- a/tests/language_2/sync_star/void_sync_star_test.dart
+++ b/tests/language_2/sync_star/void_sync_star_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.9
+
 // It is an error for a `sync*` function to have return type `void`.
 
 /*space*/ void f1() sync* {
diff --git a/tests/language_2/sync_star/yield_star_pause_test.dart b/tests/language_2/sync_star/yield_star_pause_test.dart
index 23fc133..82448f5 100644
--- a/tests/language_2/sync_star/yield_star_pause_test.dart
+++ b/tests/language_2/sync_star/yield_star_pause_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/language_2/sync_star/yield_test.dart b/tests/language_2/sync_star/yield_test.dart
index 160142c..5484a13 100644
--- a/tests/language_2/sync_star/yield_test.dart
+++ b/tests/language_2/sync_star/yield_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.9
+
 // TODO(jmesserly): this is a copy of the language test of the same name,
 // we can remove this copy when we're running against those tests.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/sync_star/yieldstar_test.dart b/tests/language_2/sync_star/yieldstar_test.dart
index 82e7166..703188a 100644
--- a/tests/language_2/sync_star/yieldstar_test.dart
+++ b/tests/language_2/sync_star/yieldstar_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.9
+
 // TODO(jmesserly): this is a copy of the language test of the same name,
 // we can remove this copy when we're running against those tests.
 import "package:expect/expect.dart";
diff --git a/tests/language_2/syntax/deep_nesting_expression_test.dart b/tests/language_2/syntax/deep_nesting_expression_test.dart
index 5ab1db5..a0fff3e 100644
--- a/tests/language_2/syntax/deep_nesting_expression_test.dart
+++ b/tests/language_2/syntax/deep_nesting_expression_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.9
+
 // Deeply nested expression must not crash compiler due to stack overflow.
 
 main() {
diff --git a/tests/language_2/syntax/deep_nesting_statement_test.dart b/tests/language_2/syntax/deep_nesting_statement_test.dart
index bb00024..883d3d4 100644
--- a/tests/language_2/syntax/deep_nesting_statement_test.dart
+++ b/tests/language_2/syntax/deep_nesting_statement_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.9
+
 // Deeply nested statements must not crash compiler due to stack overflow.
 
 var x = 0;
diff --git a/tests/language_2/syntax/nested_comments_test.dart b/tests/language_2/syntax/nested_comments_test.dart
index 48d07ba..b3f7dcf 100644
--- a/tests/language_2/syntax/nested_comments_test.dart
+++ b/tests/language_2/syntax/nested_comments_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing nested comments
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // /* nested comment */
diff --git a/tests/language_2/syntax/pre_nnbd_modifiers_test.dart b/tests/language_2/syntax/pre_nnbd_modifiers_test.dart
index 80e79d7..ef1224d 100644
--- a/tests/language_2/syntax/pre_nnbd_modifiers_test.dart
+++ b/tests/language_2/syntax/pre_nnbd_modifiers_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.9
+
 // This test ensures that the modifiers added as part of NNBD are not enabled
 // until NNBD is enabled by default. At that time, this test should be removed.
 
diff --git a/tests/language_2/syntax/statement_test.dart b/tests/language_2/syntax/statement_test.dart
index 37b7aa1..3ea3f77 100644
--- a/tests/language_2/syntax/statement_test.dart
+++ b/tests/language_2/syntax/statement_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.9
+
 import "package:expect/expect.dart";
 
 // Tests all statement types. Not an exhaustive test of all statement semantics.
diff --git a/tests/language_2/syntax/syntax_test.dart b/tests/language_2/syntax/syntax_test.dart
index 107e022..61e8763 100644
--- a/tests/language_2/syntax/syntax_test.dart
+++ b/tests/language_2/syntax/syntax_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.9
+
 class SyntaxTest {
   // "this" cannot be used as a field name.
   SyntaxTest this; //# 01: syntax error
diff --git a/tests/language_2/syntax/unbalanced_brace_test.dart b/tests/language_2/syntax/unbalanced_brace_test.dart
index 5e889ccc..659ecdd 100644
--- a/tests/language_2/syntax/unbalanced_brace_test.dart
+++ b/tests/language_2/syntax/unbalanced_brace_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.9
+
 // Test syntax errors related to unterminated braces.
 
 class A {
diff --git a/tests/language_2/this/as_covariant_call_checks_test.dart b/tests/language_2/this/as_covariant_call_checks_test.dart
index db61f44..077b53a 100644
--- a/tests/language_2/this/as_covariant_call_checks_test.dart
+++ b/tests/language_2/this/as_covariant_call_checks_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--no-background-compilation --optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/this/as_dynamic_call_checks_test.dart b/tests/language_2/this/as_dynamic_call_checks_test.dart
index cb9636c..c1e34ee 100644
--- a/tests/language_2/this/as_dynamic_call_checks_test.dart
+++ b/tests/language_2/this/as_dynamic_call_checks_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--no-background-compilation --optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/this/call_this_test.dart b/tests/language_2/this/call_this_test.dart
index 55e7ccd..00586a7 100644
--- a/tests/language_2/this/call_this_test.dart
+++ b/tests/language_2/this/call_this_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.9
+
 // Test that dart2js treats [:this():] as a closure send.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/this/conditional_operator_runtime_test.dart b/tests/language_2/this/conditional_operator_runtime_test.dart
index eb56244..4db8772 100644
--- a/tests/language_2/this/conditional_operator_runtime_test.dart
+++ b/tests/language_2/this/conditional_operator_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2015, 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.
diff --git a/tests/language_2/this/conditional_operator_test.dart b/tests/language_2/this/conditional_operator_test.dart
index 064153a..98016a2 100644
--- a/tests/language_2/this/conditional_operator_test.dart
+++ b/tests/language_2/this/conditional_operator_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.9
+
 // Verify that the ?. operator cannot be used for forwarding "this"
 // constructors.
 
@@ -15,15 +17,13 @@
     : this?.namedConstructor()
     //^^^^
     // [analyzer] COMPILE_TIME_ERROR.INVALID_REFERENCE_TO_THIS
-    // [cfe] Expected an assignment after the field name.
-    //^^^^
     // [analyzer] SYNTACTIC_ERROR.MISSING_ASSIGNMENT_IN_INITIALIZER
     //^^^^^^^^^^^^^^^^^^^^^^^^
     // [analyzer] COMPILE_TIME_ERROR.INITIALIZER_FOR_NON_EXISTENT_FIELD
-    // [error line 15, column 11, length 0]
-    // [cfe] Expected '.' before this.
+    // [cfe] Expected an assignment after the field name.
     //    ^^
     // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+    // [cfe] Expected '.' before this.
     // [cfe] Expected an identifier, but got ''.
   ;
 
diff --git a/tests/language_2/this/implicit_runtime_test.dart b/tests/language_2/this/implicit_runtime_test.dart
index 34022fd..b244f61 100644
--- a/tests/language_2/this/implicit_runtime_test.dart
+++ b/tests/language_2/this/implicit_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/this/implicit_this_test.dart b/tests/language_2/this/implicit_this_test.dart
index 0cbcfa8..e830d15 100644
--- a/tests/language_2/this/implicit_this_test.dart
+++ b/tests/language_2/this/implicit_this_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.9
+
 import "package:expect/expect.dart";
 
 abstract class Interface {
diff --git a/tests/language_2/this/in_initializer_test.dart b/tests/language_2/this/in_initializer_test.dart
index bf65c17..a1e3ff9 100644
--- a/tests/language_2/this/in_initializer_test.dart
+++ b/tests/language_2/this/in_initializer_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.9
+
 class A {
   static var s = "something";
   var a = "anything";
diff --git a/tests/language_2/this/runtime_test.dart b/tests/language_2/this/runtime_test.dart
index c81a1b2..a377ab3 100644
--- a/tests/language_2/this/runtime_test.dart
+++ b/tests/language_2/this/runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/this/this_test.dart b/tests/language_2/this/this_test.dart
index 8d29f8a..43cf906 100644
--- a/tests/language_2/this/this_test.dart
+++ b/tests/language_2/this/this_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.9
+
 class Foo {
   var x;
   f() {}
diff --git a/tests/language_2/top_level/collision1_test.dart b/tests/language_2/top_level/collision1_test.dart
index f8d97c4b..82d8efa 100644
--- a/tests/language_2/top_level/collision1_test.dart
+++ b/tests/language_2/top_level/collision1_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.9
+
 int x = 100;
 
 get x => 200; //                //# 00: compile-time error
diff --git a/tests/language_2/top_level/collision2_test.dart b/tests/language_2/top_level/collision2_test.dart
index 0d9734e..742836c 100644
--- a/tests/language_2/top_level/collision2_test.dart
+++ b/tests/language_2/top_level/collision2_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.9
+
 get x => 200;
 
 // Ok: can have a setter named x when getter x is defined.
diff --git a/tests/language_2/top_level/file1.dart b/tests/language_2/top_level/file1.dart
index e0f5d98..83d00f0 100644
--- a/tests/language_2/top_level/file1.dart
+++ b/tests/language_2/top_level/file1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of TopLevelMultipleFilesTest.dart;
 
 main() {
diff --git a/tests/language_2/top_level/file2.dart b/tests/language_2/top_level/file2.dart
index 19ca8ca..f137c3f 100644
--- a/tests/language_2/top_level/file2.dart
+++ b/tests/language_2/top_level/file2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of TopLevelMultipleFilesTest.dart;
 
 const topLevelVar = 42;
diff --git a/tests/language_2/top_level/file3.dart b/tests/language_2/top_level/file3.dart
index a42c558..d9ffab6 100644
--- a/tests/language_2/top_level/file3.dart
+++ b/tests/language_2/top_level/file3.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 main() {
   Expect.equals(42, prefix.topLevelVar);
 }
diff --git a/tests/language_2/top_level/func_test.dart b/tests/language_2/top_level/func_test.dart
index eb438d7..7aac30b 100644
--- a/tests/language_2/top_level/func_test.dart
+++ b/tests/language_2/top_level/func_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing top-level variables.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class TopLevelFuncTest {
diff --git a/tests/language_2/top_level/getter_arrow_syntax_test.dart b/tests/language_2/top_level/getter_arrow_syntax_test.dart
index f564a31..fadc883 100644
--- a/tests/language_2/top_level/getter_arrow_syntax_test.dart
+++ b/tests/language_2/top_level/getter_arrow_syntax_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.9
+
 import "package:expect/expect.dart";
 
 get getter => 42;
diff --git a/tests/language_2/top_level/getter_no_setter1_test.dart b/tests/language_2/top_level/getter_no_setter1_test.dart
index ae74548..65490af 100644
--- a/tests/language_2/top_level/getter_no_setter1_test.dart
+++ b/tests/language_2/top_level/getter_no_setter1_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.9
+
 import 'package:expect/expect.dart';
 
 bool getter_visited = false;
diff --git a/tests/language_2/top_level/getter_no_setter2_test.dart b/tests/language_2/top_level/getter_no_setter2_test.dart
index 413c52f..57fefcf 100644
--- a/tests/language_2/top_level/getter_no_setter2_test.dart
+++ b/tests/language_2/top_level/getter_no_setter2_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.9
+
 import 'package:expect/expect.dart';
 
 bool getter_visited = false;
diff --git a/tests/language_2/top_level/in_initializer_test.dart b/tests/language_2/top_level/in_initializer_test.dart
index b639ca4..f77d861 100644
--- a/tests/language_2/top_level/in_initializer_test.dart
+++ b/tests/language_2/top_level/in_initializer_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.9
+
 import "package:expect/expect.dart";
 
 // Test that constructor initializers can access top level elements.
diff --git a/tests/language_2/top_level/method_test.dart b/tests/language_2/top_level/method_test.dart
index ea3ce0f..74ad48e 100644
--- a/tests/language_2/top_level/method_test.dart
+++ b/tests/language_2/top_level/method_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.9
+
 import "package:expect/expect.dart";
 
 untypedTopLevel() {
diff --git a/tests/language_2/top_level/multiple_files_test.dart b/tests/language_2/top_level/multiple_files_test.dart
index 53f578e..1bb3bda 100644
--- a/tests/language_2/top_level/multiple_files_test.dart
+++ b/tests/language_2/top_level/multiple_files_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.9
+
 library TopLevelMultipleFilesTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/top_level/non_prefixed_library_test.dart b/tests/language_2/top_level/non_prefixed_library_test.dart
index 937170c..0e7681be 100644
--- a/tests/language_2/top_level/non_prefixed_library_test.dart
+++ b/tests/language_2/top_level/non_prefixed_library_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.9
+
 library TopLevelMultipleFilesTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/top_level/prefixed_declaration_test.dart b/tests/language_2/top_level/prefixed_declaration_test.dart
index 6b21274..5f41a73 100644
--- a/tests/language_2/top_level/prefixed_declaration_test.dart
+++ b/tests/language_2/top_level/prefixed_declaration_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test for top level declarations involving an imported type.
 
+// @dart = 2.9
+
 library main;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/top_level/prefixed_library.dart b/tests/language_2/top_level/prefixed_library.dart
index 6e48391..7f2b543 100644
--- a/tests/language_2/top_level/prefixed_library.dart
+++ b/tests/language_2/top_level/prefixed_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library TopLevelMultipleFilesTest.dart;
 
 const topLevelVar = 42;
diff --git a/tests/language_2/top_level/unresolved_method_test.dart b/tests/language_2/top_level/unresolved_method_test.dart
index 1aa0503..d32533e 100644
--- a/tests/language_2/top_level/unresolved_method_test.dart
+++ b/tests/language_2/top_level/unresolved_method_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.9
+
 // Test that an unresolved method call at the top level creates a compile-
 // time error.
 
diff --git a/tests/language_2/top_level/unresolved_var_test.dart b/tests/language_2/top_level/unresolved_var_test.dart
index c2e5f72..9f2ce17 100644
--- a/tests/language_2/top_level/unresolved_var_test.dart
+++ b/tests/language_2/top_level/unresolved_var_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.9
+
 // Test that an unresolved identifier at the top level causes a compile-time
 // error.
 
diff --git a/tests/language_2/top_level/var_test.dart b/tests/language_2/top_level/var_test.dart
index e7d9216..5537dd1 100644
--- a/tests/language_2/top_level/var_test.dart
+++ b/tests/language_2/top_level/var_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing top-level variables.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var a, b;
diff --git a/tests/language_2/type/alias_equality_test.dart b/tests/language_2/type/alias_equality_test.dart
index 7ee087a..0803c1c 100644
--- a/tests/language_2/type/alias_equality_test.dart
+++ b/tests/language_2/type/alias_equality_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.9
+
 // Test that type aliases perform equality tests according to the
 // underlying function type, not as if they were a distinct type
 // for each type alias declaration.
diff --git a/tests/language_2/type/check_const_function_typedef2_test.dart b/tests/language_2/type/check_const_function_typedef2_test.dart
index c367411..d29555c 100644
--- a/tests/language_2/type/check_const_function_typedef2_test.dart
+++ b/tests/language_2/type/check_const_function_typedef2_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.9
+
 // Tests that typechecks on const objects with typedefs work.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/type/check_const_function_typedef_test.dart b/tests/language_2/type/check_const_function_typedef_test.dart
index 484c61a..f88797a 100644
--- a/tests/language_2/type/check_const_function_typedef_test.dart
+++ b/tests/language_2/type/check_const_function_typedef_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.9
+
 // Tests that typechecks on const objects with typedefs work.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/type/check_test.dart b/tests/language_2/type/check_test.dart
index 20539a1..798a0e9 100644
--- a/tests/language_2/type/check_test.dart
+++ b/tests/language_2/type/check_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.9
+
 // Regression test for dart2js that used to remove the a B type check
 // after an A type check, because it thought any subtype of A had to be B.
 
diff --git a/tests/language_2/type/checks_in_factory_method_runtime_test.dart b/tests/language_2/type/checks_in_factory_method_runtime_test.dart
index 58f0c89..a680bb3 100644
--- a/tests/language_2/type/checks_in_factory_method_runtime_test.dart
+++ b/tests/language_2/type/checks_in_factory_method_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type/checks_in_factory_method_test.dart b/tests/language_2/type/checks_in_factory_method_test.dart
index 3be4613..a0d0c71 100644
--- a/tests/language_2/type/checks_in_factory_method_test.dart
+++ b/tests/language_2/type/checks_in_factory_method_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Tests the type checking when passing code into closure from inside a factory method
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class Foo<T> {
diff --git a/tests/language_2/type/constants_test.dart b/tests/language_2/type/constants_test.dart
index 560e485..ded5300 100644
--- a/tests/language_2/type/constants_test.dart
+++ b/tests/language_2/type/constants_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.9
+
 // Test that the value of constant type literals are allowed as
 // constant map keys and case expressions, and the value of non-constant type
 // literals are not.
diff --git a/tests/language_2/type/conversion_ssa_test.dart b/tests/language_2/type/conversion_ssa_test.dart
index 2a721b7..1e6e331 100644
--- a/tests/language_2/type/conversion_ssa_test.dart
+++ b/tests/language_2/type/conversion_ssa_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.9
+
 // Regression test for dart2js, that used to generate bad code in
 // checked mode. The pattern that lead to an error was:
 //
diff --git a/tests/language_2/type/error_test.dart b/tests/language_2/type/error_test.dart
index 4797b37..0543ba3 100644
--- a/tests/language_2/type/error_test.dart
+++ b/tests/language_2/type/error_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.9
+
 import "package:expect/expect.dart";
 
 // Test that various type errors produced by explicit casts don't invoke
diff --git a/tests/language_2/type/guard_conversion_test.dart b/tests/language_2/type/guard_conversion_test.dart
index c931108..4429ff1 100644
--- a/tests/language_2/type/guard_conversion_test.dart
+++ b/tests/language_2/type/guard_conversion_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.9
+
 import "package:expect/expect.dart";
 
 foo() => 'bar';
diff --git a/tests/language_2/type/hoisting_test.dart b/tests/language_2/type/hoisting_test.dart
index 80cd145..ef47128 100644
--- a/tests/language_2/type/hoisting_test.dart
+++ b/tests/language_2/type/hoisting_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import "package:expect/expect.dart";
 
 class A<T> {
diff --git a/tests/language_2/type/implicit_error_test.dart b/tests/language_2/type/implicit_error_test.dart
index 1c42842..815abf7 100644
--- a/tests/language_2/type/implicit_error_test.dart
+++ b/tests/language_2/type/implicit_error_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.9
+
 import "package:expect/expect.dart";
 
 // Test that various type errors produced by implicit casts don't invoke
diff --git a/tests/language_2/type/intersection_test.dart b/tests/language_2/type/intersection_test.dart
index dc548b4..12e1902 100644
--- a/tests/language_2/type/intersection_test.dart
+++ b/tests/language_2/type/intersection_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.9
+
 // Regression test for dart2js that used to consider that the
 // intersection of [Comparable] and [num] is conflicting.
 
diff --git a/tests/language_2/type_object/constant_type_literal_runtime_test.dart b/tests/language_2/type_object/constant_type_literal_runtime_test.dart
index 30fdd50..3e53acd 100644
--- a/tests/language_2/type_object/constant_type_literal_runtime_test.dart
+++ b/tests/language_2/type_object/constant_type_literal_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_object/constant_type_literal_test.dart b/tests/language_2/type_object/constant_type_literal_test.dart
index 91e07f4..34adaea 100644
--- a/tests/language_2/type_object/constant_type_literal_test.dart
+++ b/tests/language_2/type_object/constant_type_literal_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.9
+
 // Test for type literals as compile-time constants.
 
 class C<T> {
diff --git a/tests/language_2/type_object/first_class_types_constants_test.dart b/tests/language_2/type_object/first_class_types_constants_test.dart
index f0447f7..6dfd36b 100644
--- a/tests/language_2/type_object/first_class_types_constants_test.dart
+++ b/tests/language_2/type_object/first_class_types_constants_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/type_object/first_class_types_lib1.dart b/tests/language_2/type_object/first_class_types_lib1.dart
index baadc66..0721042 100644
--- a/tests/language_2/type_object/first_class_types_lib1.dart
+++ b/tests/language_2/type_object/first_class_types_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.9
+
 library lib1;
 
 class A {}
diff --git a/tests/language_2/type_object/first_class_types_lib2.dart b/tests/language_2/type_object/first_class_types_lib2.dart
index de943b7..d56239f 100644
--- a/tests/language_2/type_object/first_class_types_lib2.dart
+++ b/tests/language_2/type_object/first_class_types_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.9
+
 library lib2;
 
 class A {}
diff --git a/tests/language_2/type_object/first_class_types_libraries_test.dart b/tests/language_2/type_object/first_class_types_libraries_test.dart
index ad5f552..eec983a 100644
--- a/tests/language_2/type_object/first_class_types_libraries_test.dart
+++ b/tests/language_2/type_object/first_class_types_libraries_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.9
+
 library firstClassLibrariestest;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/type_object/first_class_types_literals_runtime_1_test.dart b/tests/language_2/type_object/first_class_types_literals_runtime_1_test.dart
index b415e99..6a05385 100644
--- a/tests/language_2/type_object/first_class_types_literals_runtime_1_test.dart
+++ b/tests/language_2/type_object/first_class_types_literals_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type_object/first_class_types_literals_runtime_2_test.dart b/tests/language_2/type_object/first_class_types_literals_runtime_2_test.dart
index e5c8442..7ef4771 100644
--- a/tests/language_2/type_object/first_class_types_literals_runtime_2_test.dart
+++ b/tests/language_2/type_object/first_class_types_literals_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type_object/first_class_types_literals_runtime_test.dart b/tests/language_2/type_object/first_class_types_literals_runtime_test.dart
index 3df083a..0b35f14 100644
--- a/tests/language_2/type_object/first_class_types_literals_runtime_test.dart
+++ b/tests/language_2/type_object/first_class_types_literals_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type_object/first_class_types_literals_test.dart b/tests/language_2/type_object/first_class_types_literals_test.dart
index 6392b6d..edd0dc0 100644
--- a/tests/language_2/type_object/first_class_types_literals_test.dart
+++ b/tests/language_2/type_object/first_class_types_literals_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.9
+
 import "package:expect/expect.dart";
 
 class C<T, U, V> {}
diff --git a/tests/language_2/type_object/first_class_types_test.dart b/tests/language_2/type_object/first_class_types_test.dart
index 91a6b85..4107f0c 100644
--- a/tests/language_2/type_object/first_class_types_test.dart
+++ b/tests/language_2/type_object/first_class_types_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {}
diff --git a/tests/language_2/type_object/literal_canonicalization_test.dart b/tests/language_2/type_object/literal_canonicalization_test.dart
index 790f1b6..69c95d4 100644
--- a/tests/language_2/type_object/literal_canonicalization_test.dart
+++ b/tests/language_2/type_object/literal_canonicalization_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {}
diff --git a/tests/language_2/type_object/literal_prefix_call_test.dart b/tests/language_2/type_object/literal_prefix_call_test.dart
index 46f2562..32b50bc 100644
--- a/tests/language_2/type_object/literal_prefix_call_test.dart
+++ b/tests/language_2/type_object/literal_prefix_call_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.9
+
 import "package:expect/expect.dart";
 import 'dart:core' as core;
 
diff --git a/tests/language_2/type_object/literal_type_literal_test.dart b/tests/language_2/type_object/literal_type_literal_test.dart
index 92da452..81eb9e2 100644
--- a/tests/language_2/type_object/literal_type_literal_test.dart
+++ b/tests/language_2/type_object/literal_type_literal_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.9
+
 import "package:expect/expect.dart";
 
 import 'literal_type_literal_test.dart' as prefix;
diff --git a/tests/language_2/type_object/reify_type_variable_test.dart b/tests/language_2/type_object/reify_type_variable_test.dart
index 50c5e41..2320966 100644
--- a/tests/language_2/type_object/reify_type_variable_test.dart
+++ b/tests/language_2/type_object/reify_type_variable_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.9
+
 import "package:expect/expect.dart";
 
 class Foo<T> {
diff --git a/tests/language_2/type_object/runtime_type_function_test.dart b/tests/language_2/type_object/runtime_type_function_test.dart
index 1e56ee1..dd333f2 100644
--- a/tests/language_2/type_object/runtime_type_function_test.dart
+++ b/tests/language_2/type_object/runtime_type_function_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.9
+
 import "package:expect/expect.dart";
 
 typedef String F(String returns, String arguments, [Map<String, String> named]);
diff --git a/tests/language_2/type_object/runtime_type_test.dart b/tests/language_2/type_object/runtime_type_test.dart
index f0b66db..2287d62 100644
--- a/tests/language_2/type_object/runtime_type_test.dart
+++ b/tests/language_2/type_object/runtime_type_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/type_promotion/assign_runtime_test.dart b/tests/language_2/type_promotion/assign_runtime_test.dart
index 477712c..e4999cd 100644
--- a/tests/language_2/type_promotion/assign_runtime_test.dart
+++ b/tests/language_2/type_promotion/assign_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/assign_test.dart b/tests/language_2/type_promotion/assign_test.dart
index 35d99d8..b366b2a 100644
--- a/tests/language_2/type_promotion/assign_test.dart
+++ b/tests/language_2/type_promotion/assign_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.9
+
 // Test type promotion of assigned locals.
 
 class A {
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_and_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_and_test.dart
index c47460b..fcee418 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_and_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_and_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.9
+
 // Test that an assignment on the right hand side of `&&` defeats promotion
 // after the entire `&&` expression, not just in the right hand side.
 
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_cascaded_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_cascaded_test.dart
index 9b65f00..4648a37 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_cascaded_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_cascaded_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.9
+
 // Test that an assignment inside a complex promotion scope defeats all pending
 // promotions, whether introduced directly or through LHS or RHS of a logical
 // and expression.
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_immediate_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_immediate_test.dart
index f128749..904ee16 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_immediate_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_immediate_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.9
+
 // Test that an assignment inside a promotion scope defeats the promotion, even
 // if the assignment fills the scope (there are no intervening syntactic
 // constructs).
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_lhs_and_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_lhs_and_test.dart
index f917dd4..bfe5800 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_lhs_and_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_lhs_and_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.9
+
 // Test that an assignment on the left hand side of `&&` defeats promotion after
 // the entire `&&` expression, even if the promotion is on the right hand side
 // of `&&`.
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_bool_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_bool_test.dart
index 4df8b11..befa43c 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_bool_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_bool_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.9
+
 // Test that an assignment inside a promotion scope defeats the promotion, even
 // if it is nested inside another unrelated promotion scope.
 
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_test.dart
index c87a85d..c53ba0f 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_other_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.9
+
 // Test that an assignment inside a promotion scope defeats the promotion, even
 // if it is nested inside another unrelated promotion scope.
 
diff --git a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_same_test.dart b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_same_test.dart
index 09a3785..57c6d49 100644
--- a/tests/language_2/type_promotion/assignment_defeats_promotion_nested_same_test.dart
+++ b/tests/language_2/type_promotion/assignment_defeats_promotion_nested_same_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.9
+
 // Test that an assignment inside a promotion scope defeats the promotion, even
 // if it is nested inside another promotion scope that promotes the same
 // variable.
diff --git a/tests/language_2/type_promotion/closure_runtime_1_test.dart b/tests/language_2/type_promotion/closure_runtime_1_test.dart
index d863c91..bca51c0 100644
--- a/tests/language_2/type_promotion/closure_runtime_1_test.dart
+++ b/tests/language_2/type_promotion/closure_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/closure_runtime_2_test.dart b/tests/language_2/type_promotion/closure_runtime_2_test.dart
index 0e397d5..94e686b 100644
--- a/tests/language_2/type_promotion/closure_runtime_2_test.dart
+++ b/tests/language_2/type_promotion/closure_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/closure_runtime_test.dart b/tests/language_2/type_promotion/closure_runtime_test.dart
index b760366..8d5414c 100644
--- a/tests/language_2/type_promotion/closure_runtime_test.dart
+++ b/tests/language_2/type_promotion/closure_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/closure_test.dart b/tests/language_2/type_promotion/closure_test.dart
index 2e6fec9..28c0625 100644
--- a/tests/language_2/type_promotion/closure_test.dart
+++ b/tests/language_2/type_promotion/closure_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.9
+
 // Test type promotion of locals potentially mutated in closures.
 
 import "package:meta/meta.dart" show virtual;
diff --git a/tests/language_2/type_promotion/functions_runtime_test.dart b/tests/language_2/type_promotion/functions_runtime_test.dart
index e421814..b3b6db0 100644
--- a/tests/language_2/type_promotion/functions_runtime_test.dart
+++ b/tests/language_2/type_promotion/functions_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/functions_test.dart b/tests/language_2/type_promotion/functions_test.dart
index 30de4c1..46f3b43 100644
--- a/tests/language_2/type_promotion/functions_test.dart
+++ b/tests/language_2/type_promotion/functions_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.9
+
 // Test type promotion of functions.
 
 class A {}
diff --git a/tests/language_2/type_promotion/local_runtime_test.dart b/tests/language_2/type_promotion/local_runtime_test.dart
index b010208..58900909 100644
--- a/tests/language_2/type_promotion/local_runtime_test.dart
+++ b/tests/language_2/type_promotion/local_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/local_test.dart b/tests/language_2/type_promotion/local_test.dart
index 85b0386..9ce1e4a 100644
--- a/tests/language_2/type_promotion/local_test.dart
+++ b/tests/language_2/type_promotion/local_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.9
+
 // Test type promotion of locals.
 
 class A {
diff --git a/tests/language_2/type_promotion/logical_and_runtime_test.dart b/tests/language_2/type_promotion/logical_and_runtime_test.dart
index 700d020..11a6f0a 100644
--- a/tests/language_2/type_promotion/logical_and_runtime_test.dart
+++ b/tests/language_2/type_promotion/logical_and_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/logical_and_test.dart b/tests/language_2/type_promotion/logical_and_test.dart
index 8168615..76d6393 100644
--- a/tests/language_2/type_promotion/logical_and_test.dart
+++ b/tests/language_2/type_promotion/logical_and_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.9
+
 // Test type promotion of locals potentially mutated.
 
 class A {
diff --git a/tests/language_2/type_promotion/more_specific_runtime_1_test.dart b/tests/language_2/type_promotion/more_specific_runtime_1_test.dart
index a71d634..1746520 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_1_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_2_test.dart b/tests/language_2/type_promotion/more_specific_runtime_2_test.dart
index 1f9fd5c..fdfa680 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_2_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_3_test.dart b/tests/language_2/type_promotion/more_specific_runtime_3_test.dart
index 93fe239..87fdb4d 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_3_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_3_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_4_test.dart b/tests/language_2/type_promotion/more_specific_runtime_4_test.dart
index 339a93c..757510c 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_4_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_4_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_5_test.dart b/tests/language_2/type_promotion/more_specific_runtime_5_test.dart
index 4a8b450..bc22838 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_5_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_5_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_6_test.dart b/tests/language_2/type_promotion/more_specific_runtime_6_test.dart
index ade8839..e7a7991 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_6_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_6_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_runtime_test.dart b/tests/language_2/type_promotion/more_specific_runtime_test.dart
index 3876f67..523c955 100644
--- a/tests/language_2/type_promotion/more_specific_runtime_test.dart
+++ b/tests/language_2/type_promotion/more_specific_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/more_specific_test.dart b/tests/language_2/type_promotion/more_specific_test.dart
index 2e7d840..69b1730 100644
--- a/tests/language_2/type_promotion/more_specific_test.dart
+++ b/tests/language_2/type_promotion/more_specific_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.9
+
 // Test use of more specific in type promotion of interface types.
 
 class A {
diff --git a/tests/language_2/type_promotion/multiple_runtime_test.dart b/tests/language_2/type_promotion/multiple_runtime_test.dart
index b465d9b..b14251f 100644
--- a/tests/language_2/type_promotion/multiple_runtime_test.dart
+++ b/tests/language_2/type_promotion/multiple_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/multiple_test.dart b/tests/language_2/type_promotion/multiple_test.dart
index 21a2f7d..de8607c 100644
--- a/tests/language_2/type_promotion/multiple_test.dart
+++ b/tests/language_2/type_promotion/multiple_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.9
+
 // Test type promotion of locals.
 
 class A {
diff --git a/tests/language_2/type_promotion/parameter_runtime_test.dart b/tests/language_2/type_promotion/parameter_runtime_test.dart
index 935dd06..bbfdb29 100644
--- a/tests/language_2/type_promotion/parameter_runtime_test.dart
+++ b/tests/language_2/type_promotion/parameter_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_promotion/parameter_test.dart b/tests/language_2/type_promotion/parameter_test.dart
index 7ce7119..ccde966 100644
--- a/tests/language_2/type_promotion/parameter_test.dart
+++ b/tests/language_2/type_promotion/parameter_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.9
+
 // Test type promotion of parameters.
 
 class A {
diff --git a/tests/language_2/type_variable/bound_access_runtime_test.dart b/tests/language_2/type_variable/bound_access_runtime_test.dart
index 0c7a123..cda7389 100644
--- a/tests/language_2/type_variable/bound_access_runtime_test.dart
+++ b/tests/language_2/type_variable/bound_access_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2019, 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.
diff --git a/tests/language_2/type_variable/bound_access_test.dart b/tests/language_2/type_variable/bound_access_test.dart
index 39d52ea..5737b7c 100644
--- a/tests/language_2/type_variable/bound_access_test.dart
+++ b/tests/language_2/type_variable/bound_access_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.9
+
 class DynamicClass<T extends dynamic, S extends T> {
   T field1;
   T field2;
diff --git a/tests/language_2/type_variable/bounds2_test.dart b/tests/language_2/type_variable/bounds2_test.dart
index ecb6c9f..0e82f3c 100644
--- a/tests/language_2/type_variable/bounds2_test.dart
+++ b/tests/language_2/type_variable/bounds2_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.9
+
 import "package:expect/expect.dart";
 
 // Test of parameterized types with invalid bounds.
diff --git a/tests/language_2/type_variable/bounds3_runtime_test.dart b/tests/language_2/type_variable/bounds3_runtime_test.dart
index 4dd5843..93211de 100644
--- a/tests/language_2/type_variable/bounds3_runtime_test.dart
+++ b/tests/language_2/type_variable/bounds3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_variable/bounds3_test.dart b/tests/language_2/type_variable/bounds3_test.dart
index 471112b..a56675e 100644
--- a/tests/language_2/type_variable/bounds3_test.dart
+++ b/tests/language_2/type_variable/bounds3_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.9
+
 // Test of parameterized types with invalid bounds.
 
 class A<K extends int> {}
diff --git a/tests/language_2/type_variable/bounds4_runtime_test.dart b/tests/language_2/type_variable/bounds4_runtime_test.dart
index eef3b1d..de363f9 100644
--- a/tests/language_2/type_variable/bounds4_runtime_test.dart
+++ b/tests/language_2/type_variable/bounds4_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_variable/bounds4_test.dart b/tests/language_2/type_variable/bounds4_test.dart
index 9908b9c..265c94f0 100644
--- a/tests/language_2/type_variable/bounds4_test.dart
+++ b/tests/language_2/type_variable/bounds4_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.9
+
 // Test instantiation of object with malbounded types.
 
 class A<
diff --git a/tests/language_2/type_variable/bounds_test.dart b/tests/language_2/type_variable/bounds_test.dart
index c4deff7..05f8c0b 100644
--- a/tests/language_2/type_variable/bounds_test.dart
+++ b/tests/language_2/type_variable/bounds_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.9
+
 // Test of parameterized factory methods.
 
 class Foo<T extends num> {
diff --git a/tests/language_2/type_variable/closure2_test.dart b/tests/language_2/type_variable/closure2_test.dart
index 1b55ff9..f674acd 100644
--- a/tests/language_2/type_variable/closure2_test.dart
+++ b/tests/language_2/type_variable/closure2_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {}
diff --git a/tests/language_2/type_variable/closure3_test.dart b/tests/language_2/type_variable/closure3_test.dart
index ecb1c39..1b96134 100644
--- a/tests/language_2/type_variable/closure3_test.dart
+++ b/tests/language_2/type_variable/closure3_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {}
diff --git a/tests/language_2/type_variable/closure4_test.dart b/tests/language_2/type_variable/closure4_test.dart
index e75bc08..902c26b 100644
--- a/tests/language_2/type_variable/closure4_test.dart
+++ b/tests/language_2/type_variable/closure4_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.9
+
 import "package:expect/expect.dart";
 
 class A<T> {}
diff --git a/tests/language_2/type_variable/closure_test.dart b/tests/language_2/type_variable/closure_test.dart
index 7fd7381..e1f0e99 100644
--- a/tests/language_2/type_variable/closure_test.dart
+++ b/tests/language_2/type_variable/closure_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.9
+
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/tests/language_2/type_variable/conflict2_runtime_test.dart b/tests/language_2/type_variable/conflict2_runtime_test.dart
index 275f8dc..ff0180d 100644
--- a/tests/language_2/type_variable/conflict2_runtime_test.dart
+++ b/tests/language_2/type_variable/conflict2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/type_variable/conflict2_test.dart b/tests/language_2/type_variable/conflict2_test.dart
index f43e609..c211812 100644
--- a/tests/language_2/type_variable/conflict2_test.dart
+++ b/tests/language_2/type_variable/conflict2_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.9
+
 // Regression test for issue 13134. Invocation of a type parameter.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/type_variable/conflict_runtime_test.dart b/tests/language_2/type_variable/conflict_runtime_test.dart
index 04623cb..26cf777 100644
--- a/tests/language_2/type_variable/conflict_runtime_test.dart
+++ b/tests/language_2/type_variable/conflict_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/type_variable/conflict_test.dart b/tests/language_2/type_variable/conflict_test.dart
index cc8e4da..6a7f0ab 100644
--- a/tests/language_2/type_variable/conflict_test.dart
+++ b/tests/language_2/type_variable/conflict_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.9
+
 // Test that we report a compile-time error when a type parameter conflicts
 // with an instance or static member with the same name.
 
diff --git a/tests/language_2/type_variable/field_initializer2_test.dart b/tests/language_2/type_variable/field_initializer2_test.dart
index 5249bf2..3aad18e 100644
--- a/tests/language_2/type_variable/field_initializer2_test.dart
+++ b/tests/language_2/type_variable/field_initializer2_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.9
+
 // Check that an inlined field initializer has access to the enclosing
 // type variables.
 
diff --git a/tests/language_2/type_variable/field_initializer_closure2_test.dart b/tests/language_2/type_variable/field_initializer_closure2_test.dart
index f3536ca..d78d73c 100644
--- a/tests/language_2/type_variable/field_initializer_closure2_test.dart
+++ b/tests/language_2/type_variable/field_initializer_closure2_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.9
+
 // Check that an inlined field closure has access to the enclosing
 // type variables.
 
diff --git a/tests/language_2/type_variable/field_initializer_closure_test.dart b/tests/language_2/type_variable/field_initializer_closure_test.dart
index a61215b..fce08fb 100644
--- a/tests/language_2/type_variable/field_initializer_closure_test.dart
+++ b/tests/language_2/type_variable/field_initializer_closure_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.9
+
 // Check that an inlined field closure has access to the enclosing
 // type variables.
 
diff --git a/tests/language_2/type_variable/field_initializer_test.dart b/tests/language_2/type_variable/field_initializer_test.dart
index 6d44cfb..1ef0660 100644
--- a/tests/language_2/type_variable/field_initializer_test.dart
+++ b/tests/language_2/type_variable/field_initializer_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.9
+
 // Check that an inlined field initializer has access to the enclosing
 // type variables.
 
diff --git a/tests/language_2/type_variable/function_type_test.dart b/tests/language_2/type_variable/function_type_test.dart
index ad06080..789cc1f 100644
--- a/tests/language_2/type_variable/function_type_test.dart
+++ b/tests/language_2/type_variable/function_type_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.9
+
 import 'package:expect/expect.dart';
 
 typedef T Func<T>();
diff --git a/tests/language_2/type_variable/identifier_expression_test.dart b/tests/language_2/type_variable/identifier_expression_test.dart
index 1827c56..497a27d 100644
--- a/tests/language_2/type_variable/identifier_expression_test.dart
+++ b/tests/language_2/type_variable/identifier_expression_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--enable_type_checks
 
+// @dart = 2.9
+
 class A {
   static func() {
     return "class A";
diff --git a/tests/language_2/type_variable/initializer_test.dart b/tests/language_2/type_variable/initializer_test.dart
index 3d5a85d..1645114 100644
--- a/tests/language_2/type_variable/initializer_test.dart
+++ b/tests/language_2/type_variable/initializer_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for dart2js where the reference to [:this:] in a
diff --git a/tests/language_2/type_variable/nested_test.dart b/tests/language_2/type_variable/nested_test.dart
index c477144..35cc4ba 100644
--- a/tests/language_2/type_variable/nested_test.dart
+++ b/tests/language_2/type_variable/nested_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.9
+
 // Regression test for
 // http://code.google.com/p/dart/issues/detail?id=9050.
 
diff --git a/tests/language_2/type_variable/promotion_issue39752_test.dart b/tests/language_2/type_variable/promotion_issue39752_test.dart
index 731557d..16a9390 100644
--- a/tests/language_2/type_variable/promotion_issue39752_test.dart
+++ b/tests/language_2/type_variable/promotion_issue39752_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.9
+
 main() {}
 
 void f<T>(T a) {
diff --git a/tests/language_2/type_variable/promotion_test.dart b/tests/language_2/type_variable/promotion_test.dart
index c0a507c..0bf7319 100644
--- a/tests/language_2/type_variable/promotion_test.dart
+++ b/tests/language_2/type_variable/promotion_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.9
+
 import 'package:expect/expect.dart';
 
 class A {}
diff --git a/tests/language_2/type_variable/scope2_test.dart b/tests/language_2/type_variable/scope2_test.dart
index 6893e2d..86d4c29 100644
--- a/tests/language_2/type_variable/scope2_test.dart
+++ b/tests/language_2/type_variable/scope2_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.9
+
 import "package:expect/expect.dart";
 
 // Test that malformed type arguments are treated as an error.
diff --git a/tests/language_2/type_variable/scope3_runtime_test.dart b/tests/language_2/type_variable/scope3_runtime_test.dart
index e75b4a0..49dbcea 100644
--- a/tests/language_2/type_variable/scope3_runtime_test.dart
+++ b/tests/language_2/type_variable/scope3_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type_variable/scope3_test.dart b/tests/language_2/type_variable/scope3_test.dart
index 9a38200..4463a6b 100644
--- a/tests/language_2/type_variable/scope3_test.dart
+++ b/tests/language_2/type_variable/scope3_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.9
+
 // Test that a type parameter cannot be repeated.
 
 class Foo<
diff --git a/tests/language_2/type_variable/scope_runtime_test.dart b/tests/language_2/type_variable/scope_runtime_test.dart
index 12e327d..69ca8c5 100644
--- a/tests/language_2/type_variable/scope_runtime_test.dart
+++ b/tests/language_2/type_variable/scope_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/type_variable/scope_test.dart b/tests/language_2/type_variable/scope_test.dart
index febaa5d..cc5775e 100644
--- a/tests/language_2/type_variable/scope_test.dart
+++ b/tests/language_2/type_variable/scope_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.9
+
 // Test that type variables referenced from within static members are malformed.
 
 class Foo<T> implements I<T> {
diff --git a/tests/language_2/type_variable/static_context_test.dart b/tests/language_2/type_variable/static_context_test.dart
index e0cd2bc..5f613f7 100644
--- a/tests/language_2/type_variable/static_context_test.dart
+++ b/tests/language_2/type_variable/static_context_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.9
+
 // A type variable can't be referenced in a static class
 
 class A<T> {
diff --git a/tests/language_2/type_variable/typedef_test.dart b/tests/language_2/type_variable/typedef_test.dart
index caa1649..41cd1cf 100644
--- a/tests/language_2/type_variable/typedef_test.dart
+++ b/tests/language_2/type_variable/typedef_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.9
+
 // Test that rti dependency registration takes type variables within typedefs
 // into account.
 
diff --git a/tests/language_2/typedef/bad_typedef_runtime_test.dart b/tests/language_2/typedef/bad_typedef_runtime_test.dart
index 274f7e7..a1b69df 100644
--- a/tests/language_2/typedef/bad_typedef_runtime_test.dart
+++ b/tests/language_2/typedef/bad_typedef_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.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.
diff --git a/tests/language_2/typedef/bad_typedef_test.dart b/tests/language_2/typedef/bad_typedef_test.dart
index c49eea8..808c3e9 100644
--- a/tests/language_2/typedef/bad_typedef_test.dart
+++ b/tests/language_2/typedef/bad_typedef_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for a function type test that cannot be eliminated at compile time.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 typedef int H(
diff --git a/tests/language_2/typedef/check_bounds_generic_test.dart b/tests/language_2/typedef/check_bounds_generic_test.dart
index cc28dae..dfd20cc 100644
--- a/tests/language_2/typedef/check_bounds_generic_test.dart
+++ b/tests/language_2/typedef/check_bounds_generic_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.9
+
 // Check that typedef type parameters are verified to satisfy their bounds.
 
 typedef F<T extends num> = T Function<U>(T x);
diff --git a/tests/language_2/typedef/check_bounds_test.dart b/tests/language_2/typedef/check_bounds_test.dart
index e1a411e..382a68e 100644
--- a/tests/language_2/typedef/check_bounds_test.dart
+++ b/tests/language_2/typedef/check_bounds_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.9
+
 // Check that typedef type parameters are verified to satisfy their bounds.
 
 typedef T F<T extends num>(T x);
diff --git a/tests/language_2/typedef/check_bounds_unused_test.dart b/tests/language_2/typedef/check_bounds_unused_test.dart
index 247b004..b4fc11b 100644
--- a/tests/language_2/typedef/check_bounds_unused_test.dart
+++ b/tests/language_2/typedef/check_bounds_unused_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.9
+
 // Check that typedef type parameters are verified to satisfy their bounds, even
 // if the type parameter in question isn't used by the typedef.
 
diff --git a/tests/language_2/typedef/class_in_other_file_helper.dart b/tests/language_2/typedef/class_in_other_file_helper.dart
index 3b66850..ec04b88 100644
--- a/tests/language_2/typedef/class_in_other_file_helper.dart
+++ b/tests/language_2/typedef/class_in_other_file_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.9
+
 class Bar {}
diff --git a/tests/language_2/typedef/class_in_other_file_test.dart b/tests/language_2/typedef/class_in_other_file_test.dart
index c4a5b1a..6cc1446 100644
--- a/tests/language_2/typedef/class_in_other_file_test.dart
+++ b/tests/language_2/typedef/class_in_other_file_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.9
+
 // This has crashed DDC with Kernel because of a
 // "Concurrent modification during iteration" exception.
 
diff --git a/tests/language_2/typedef/cyclic_test.dart b/tests/language_2/typedef/cyclic_test.dart
index c2a5c36..ecfef2a 100644
--- a/tests/language_2/typedef/cyclic_test.dart
+++ b/tests/language_2/typedef/cyclic_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.9
+
 // Check that cyclic reference of a typedef is a compile-time error.
 
 // To test various cyclic references the definition of the [:typedef A():] is
diff --git a/tests/language_2/typedef/is_test.dart b/tests/language_2/typedef/is_test.dart
index b015f46..788b990 100644
--- a/tests/language_2/typedef/is_test.dart
+++ b/tests/language_2/typedef/is_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.9
+
 import "package:expect/expect.dart";
 
 // Test is-test of typedefs with optional and named parameters.
diff --git a/tests/language_2/unsorted/ackermann_test.dart b/tests/language_2/unsorted/ackermann_test.dart
index c35d2d3..5b2952b 100644
--- a/tests/language_2/unsorted/ackermann_test.dart
+++ b/tests/language_2/unsorted/ackermann_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart version of two-argument Ackermann-Peter function.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class AckermannTest {
diff --git a/tests/language_2/unsorted/additional_interface_adds_optional_args_concrete_test.dart b/tests/language_2/unsorted/additional_interface_adds_optional_args_concrete_test.dart
index 2fe4137..a321b32 100644
--- a/tests/language_2/unsorted/additional_interface_adds_optional_args_concrete_test.dart
+++ b/tests/language_2/unsorted/additional_interface_adds_optional_args_concrete_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.9
+
 class A {
   void foo() {}
 }
diff --git a/tests/language_2/unsorted/additional_interface_adds_optional_args_test.dart b/tests/language_2/unsorted/additional_interface_adds_optional_args_test.dart
index 5c9953e..0c74fd2 100644
--- a/tests/language_2/unsorted/additional_interface_adds_optional_args_test.dart
+++ b/tests/language_2/unsorted/additional_interface_adds_optional_args_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.9
+
 // This test exercises a corner case of override checking that is safe from a
 // soundness perspective, but which we haven't decided whether or not to allow
 // from a usability perspective.
diff --git a/tests/language_2/unsorted/allocate_large_object_test.dart b/tests/language_2/unsorted/allocate_large_object_test.dart
index 5873daa..997b479 100644
--- a/tests/language_2/unsorted/allocate_large_object_test.dart
+++ b/tests/language_2/unsorted/allocate_large_object_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/allocate_test.dart b/tests/language_2/unsorted/allocate_test.dart
index 2ab25c5..1c060df 100644
--- a/tests/language_2/unsorted/allocate_test.dart
+++ b/tests/language_2/unsorted/allocate_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.9
+
 import "package:expect/expect.dart";
 
 class MyAllocate {
diff --git a/tests/language_2/unsorted/arg_param_trailing_comma_test.dart b/tests/language_2/unsorted/arg_param_trailing_comma_test.dart
index be2846c..335cfac 100644
--- a/tests/language_2/unsorted/arg_param_trailing_comma_test.dart
+++ b/tests/language_2/unsorted/arg_param_trailing_comma_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing params.
 
+// @dart = 2.9
+
 // Convenience values.
 var c = new C();
 var x = 42;
diff --git a/tests/language_2/unsorted/assignable_expression_runtime_test.dart b/tests/language_2/unsorted/assignable_expression_runtime_test.dart
index 942cb23..77daac8 100644
--- a/tests/language_2/unsorted/assignable_expression_runtime_test.dart
+++ b/tests/language_2/unsorted/assignable_expression_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/unsorted/assignable_expression_test.dart b/tests/language_2/unsorted/assignable_expression_test.dart
index 5bd904c..4074af4 100644
--- a/tests/language_2/unsorted/assignable_expression_test.dart
+++ b/tests/language_2/unsorted/assignable_expression_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.9
+
 // Test to detect syntactically illegal left-hand-side (assignable)
 // expressions.
 
diff --git a/tests/language_2/unsorted/bad_override_runtime_test.dart b/tests/language_2/unsorted/bad_override_runtime_test.dart
index 1e2abe5..8475b1c 100644
--- a/tests/language_2/unsorted/bad_override_runtime_test.dart
+++ b/tests/language_2/unsorted/bad_override_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/unsorted/bad_override_test.dart b/tests/language_2/unsorted/bad_override_test.dart
index 07400d2..d823d77 100644
--- a/tests/language_2/unsorted/bad_override_test.dart
+++ b/tests/language_2/unsorted/bad_override_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.9
+
 class Fisk {
   get fisk => null;
   static
diff --git a/tests/language_2/unsorted/bind_test.dart b/tests/language_2/unsorted/bind_test.dart
index 3617af3..580c1e1 100644
--- a/tests/language_2/unsorted/bind_test.dart
+++ b/tests/language_2/unsorted/bind_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.9
+
 import "package:expect/expect.dart";
 
 class Bound {
diff --git a/tests/language_2/unsorted/bootstrap_test.dart b/tests/language_2/unsorted/bootstrap_test.dart
index 6b56a65..32c440c 100644
--- a/tests/language_2/unsorted/bootstrap_test.dart
+++ b/tests/language_2/unsorted/bootstrap_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.9
+
 class BootstrapTest {
   static testMain() {
     var obj = new Object();
diff --git a/tests/language_2/unsorted/bottom_test.dart b/tests/language_2/unsorted/bottom_test.dart
index 38ac721..a3df620 100644
--- a/tests/language_2/unsorted/bottom_test.dart
+++ b/tests/language_2/unsorted/bottom_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/unsorted/branch_canonicalization_test.dart b/tests/language_2/unsorted/branch_canonicalization_test.dart
index 49990cd..a3b2464 100644
--- a/tests/language_2/unsorted/branch_canonicalization_test.dart
+++ b/tests/language_2/unsorted/branch_canonicalization_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.9
+
 // Test that branch fusion correctly sets branch environment for comparisons
 // that require unboxing and does not fuse branches that can deoptimize.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
diff --git a/tests/language_2/unsorted/branches_test.dart b/tests/language_2/unsorted/branches_test.dart
index b459176..d52e739 100644
--- a/tests/language_2/unsorted/branches_test.dart
+++ b/tests/language_2/unsorted/branches_test.dart
@@ -4,6 +4,8 @@
 // Dart test for branches. Make sure that shortcuts work, even if they have
 // to jump over several expressions.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class BranchesTest {
diff --git a/tests/language_2/unsorted/callable_runtime_test.dart b/tests/language_2/unsorted/callable_runtime_test.dart
index 05fad49..6745f85 100644
--- a/tests/language_2/unsorted/callable_runtime_test.dart
+++ b/tests/language_2/unsorted/callable_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/unsorted/callable_test.dart b/tests/language_2/unsorted/callable_test.dart
index 16dde13..43fff13 100644
--- a/tests/language_2/unsorted/callable_test.dart
+++ b/tests/language_2/unsorted/callable_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.9
+
 import 'package:expect/expect.dart';
 
 class X {
diff --git a/tests/language_2/unsorted/cascaded_forwarding_stubs_test.dart b/tests/language_2/unsorted/cascaded_forwarding_stubs_test.dart
index a10cc2e..29fbe1f 100644
--- a/tests/language_2/unsorted/cascaded_forwarding_stubs_test.dart
+++ b/tests/language_2/unsorted/cascaded_forwarding_stubs_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.9
+
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/tests/language_2/unsorted/cast2_test.dart b/tests/language_2/unsorted/cast2_test.dart
index 4e03ef3..c65855f 100644
--- a/tests/language_2/unsorted/cast2_test.dart
+++ b/tests/language_2/unsorted/cast2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test 'expression as Type' casts.
diff --git a/tests/language_2/unsorted/cast_test.dart b/tests/language_2/unsorted/cast_test.dart
index e165022..f655690 100644
--- a/tests/language_2/unsorted/cast_test.dart
+++ b/tests/language_2/unsorted/cast_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for constructors and initializers.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test 'expression as Type' casts.
diff --git a/tests/language_2/unsorted/check_member_static_runtime_1_test.dart b/tests/language_2/unsorted/check_member_static_runtime_1_test.dart
index b9b4391..05f92a4 100644
--- a/tests/language_2/unsorted/check_member_static_runtime_1_test.dart
+++ b/tests/language_2/unsorted/check_member_static_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/unsorted/check_member_static_runtime_test.dart b/tests/language_2/unsorted/check_member_static_runtime_test.dart
index db884e0..06df24d 100644
--- a/tests/language_2/unsorted/check_member_static_runtime_test.dart
+++ b/tests/language_2/unsorted/check_member_static_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/unsorted/check_member_static_test.dart b/tests/language_2/unsorted/check_member_static_test.dart
index 2987cb8..dc7b845 100644
--- a/tests/language_2/unsorted/check_member_static_test.dart
+++ b/tests/language_2/unsorted/check_member_static_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.9
+
 class A {
   static var a;
   var b;
diff --git a/tests/language_2/unsorted/check_method_override_runtime_test.dart b/tests/language_2/unsorted/check_method_override_runtime_test.dart
index e538a33..c4b4a55 100644
--- a/tests/language_2/unsorted/check_method_override_runtime_test.dart
+++ b/tests/language_2/unsorted/check_method_override_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2014, 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.
diff --git a/tests/language_2/unsorted/check_method_override_test.dart b/tests/language_2/unsorted/check_method_override_test.dart
index a23af64..d2d439e 100644
--- a/tests/language_2/unsorted/check_method_override_test.dart
+++ b/tests/language_2/unsorted/check_method_override_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.9
+
 class A {
   f([var x]) {}
   foo(var a, [x, y]) {}
diff --git a/tests/language_2/unsorted/checked_method_error_order_test.dart b/tests/language_2/unsorted/checked_method_error_order_test.dart
index 2d35087..7419c20 100644
--- a/tests/language_2/unsorted/checked_method_error_order_test.dart
+++ b/tests/language_2/unsorted/checked_method_error_order_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2017, 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.9
 import "package:expect/expect.dart";
 
 class Bar {
diff --git a/tests/language_2/unsorted/combiner_type_lookup_indexed_test.dart b/tests/language_2/unsorted/combiner_type_lookup_indexed_test.dart
index e1f1a38..ee2afc3 100644
--- a/tests/language_2/unsorted/combiner_type_lookup_indexed_test.dart
+++ b/tests/language_2/unsorted/combiner_type_lookup_indexed_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.9
+
 class A {}
 
 class B extends A {
diff --git a/tests/language_2/unsorted/combiner_type_lookup_instance_test.dart b/tests/language_2/unsorted/combiner_type_lookup_instance_test.dart
index cc9536d..497d7a6 100644
--- a/tests/language_2/unsorted/combiner_type_lookup_instance_test.dart
+++ b/tests/language_2/unsorted/combiner_type_lookup_instance_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.9
+
 class A {}
 
 class B extends A {
diff --git a/tests/language_2/unsorted/combiner_type_lookup_static_test.dart b/tests/language_2/unsorted/combiner_type_lookup_static_test.dart
index 925d978..8979b0e 100644
--- a/tests/language_2/unsorted/combiner_type_lookup_static_test.dart
+++ b/tests/language_2/unsorted/combiner_type_lookup_static_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.9
+
 class A {}
 
 class B extends A {
diff --git a/tests/language_2/unsorted/combiner_type_lookup_top_level_test.dart b/tests/language_2/unsorted/combiner_type_lookup_top_level_test.dart
index bb1cf5b..4a1b276 100644
--- a/tests/language_2/unsorted/combiner_type_lookup_top_level_test.dart
+++ b/tests/language_2/unsorted/combiner_type_lookup_top_level_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.9
+
 class A {}
 
 class B extends A {
diff --git a/tests/language_2/unsorted/condition_bailout_test.dart b/tests/language_2/unsorted/condition_bailout_test.dart
index d5d08e1..b0d39d3 100644
--- a/tests/language_2/unsorted/condition_bailout_test.dart
+++ b/tests/language_2/unsorted/condition_bailout_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/context2_test.dart b/tests/language_2/unsorted/context2_test.dart
index 1db17ff..1ac6c38 100644
--- a/tests/language_2/unsorted/context2_test.dart
+++ b/tests/language_2/unsorted/context2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for capturing.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Regression test for issue 5991015.
diff --git a/tests/language_2/unsorted/context_args_with_defaults_test.dart b/tests/language_2/unsorted/context_args_with_defaults_test.dart
index 21c89a6..d9dd2a1 100644
--- a/tests/language_2/unsorted/context_args_with_defaults_test.dart
+++ b/tests/language_2/unsorted/context_args_with_defaults_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.9
+
 import "package:expect/expect.dart";
 
 class ContextArgsWithDefaultsTest {
diff --git a/tests/language_2/unsorted/context_test.dart b/tests/language_2/unsorted/context_test.dart
index f2b96b1..eb8a0d5 100644
--- a/tests/language_2/unsorted/context_test.dart
+++ b/tests/language_2/unsorted/context_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for capturing.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ContextTest {
diff --git a/tests/language_2/unsorted/core_type_check_test.dart b/tests/language_2/unsorted/core_type_check_test.dart
index e20d8cb..e2e85f7 100644
--- a/tests/language_2/unsorted/core_type_check_test.dart
+++ b/tests/language_2/unsorted/core_type_check_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.9
+
 import "package:expect/expect.dart";
 
 check(value, expectComparable, expectPattern) {
diff --git a/tests/language_2/unsorted/cyclic_default_values_test.dart b/tests/language_2/unsorted/cyclic_default_values_test.dart
index 3ac8e0b..32c3b68 100644
--- a/tests/language_2/unsorted/cyclic_default_values_test.dart
+++ b/tests/language_2/unsorted/cyclic_default_values_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.9
+
 import "package:expect/expect.dart";
 
 bar([x = foo]) => x((_) => "bar");
diff --git a/tests/language_2/unsorted/cyclic_type2_test.dart b/tests/language_2/unsorted/cyclic_type2_test.dart
index 0b62f2f..4eb2330 100644
--- a/tests/language_2/unsorted/cyclic_type2_test.dart
+++ b/tests/language_2/unsorted/cyclic_type2_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.9
+
 // Tests self referencing types.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/cyclic_type_test.dart b/tests/language_2/unsorted/cyclic_type_test.dart
index 3031f62..dc15b10 100644
--- a/tests/language_2/unsorted/cyclic_type_test.dart
+++ b/tests/language_2/unsorted/cyclic_type_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.9
+
 // Tests self referencing types.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/default_implementation2_test.dart b/tests/language_2/unsorted/default_implementation2_test.dart
index 0a3607c..f279d81 100644
--- a/tests/language_2/unsorted/default_implementation2_test.dart
+++ b/tests/language_2/unsorted/default_implementation2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test to verify incompatible constructor types
 
+// @dart = 2.9
+
 abstract class Point {
   factory Point(int x, int y) = PointImplementation; //# 01: ok
   factory Point(x, y) = PointImplementation; //# 02: compile-time error
diff --git a/tests/language_2/unsorted/default_implementation_test.dart b/tests/language_2/unsorted/default_implementation_test.dart
index a05f5dd..945f643 100644
--- a/tests/language_2/unsorted/default_implementation_test.dart
+++ b/tests/language_2/unsorted/default_implementation_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test to verify that factory classes are working.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class Point {
diff --git a/tests/language_2/unsorted/default_init_test.dart b/tests/language_2/unsorted/default_init_test.dart
index cff4a2e7..3513254 100644
--- a/tests/language_2/unsorted/default_init_test.dart
+++ b/tests/language_2/unsorted/default_init_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.9
+
 import "package:expect/expect.dart";
 
 // Tests static and instance fields initialization.
diff --git a/tests/language_2/unsorted/deny_listed_test.dart b/tests/language_2/unsorted/deny_listed_test.dart
index ba49fdc..ba5775c 100644
--- a/tests/language_2/unsorted/deny_listed_test.dart
+++ b/tests/language_2/unsorted/deny_listed_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test checking that static/instance field shadowing do not conflict.
 
+// @dart = 2.9
+
 // Test that certain interfaces/classes are denylisted from being
 // implemented or extended.
 
diff --git a/tests/language_2/unsorted/disassemble_test.dart b/tests/language_2/unsorted/disassemble_test.dart
index bc3b032..e4a9efa 100644
--- a/tests/language_2/unsorted/disassemble_test.dart
+++ b/tests/language_2/unsorted/disassemble_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.9
+
 // VMOptions=--disassemble
 // VMOptions=--disassemble --always_generate_trampolines_for_testing
 
diff --git a/tests/language_2/unsorted/efficient_length_warning_test.dart b/tests/language_2/unsorted/efficient_length_warning_test.dart
index 5ba2c6f..78192bb 100644
--- a/tests/language_2/unsorted/efficient_length_warning_test.dart
+++ b/tests/language_2/unsorted/efficient_length_warning_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Third dart test program.
 
+// @dart = 2.9
+
 import "dart:math";
 
 main() {
diff --git a/tests/language_2/unsorted/emit_const_fields_test.dart b/tests/language_2/unsorted/emit_const_fields_test.dart
index 8264c50..641ea1d 100644
--- a/tests/language_2/unsorted/emit_const_fields_test.dart
+++ b/tests/language_2/unsorted/emit_const_fields_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that used static consts are emitted.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Guide {
diff --git a/tests/language_2/unsorted/expect_test.dart b/tests/language_2/unsorted/expect_test.dart
index 5cd8c8a3..d1df5bc 100644
--- a/tests/language_2/unsorted/expect_test.dart
+++ b/tests/language_2/unsorted/expect_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing the Expect class.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ExpectTest {
diff --git a/tests/language_2/unsorted/extend_type_parameter_test.dart b/tests/language_2/unsorted/extend_type_parameter_test.dart
index 58991f5..10f1817 100644
--- a/tests/language_2/unsorted/extend_type_parameter_test.dart
+++ b/tests/language_2/unsorted/extend_type_parameter_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.9
+
 // Extending a type parameter is not allowed.
 
 abstract class A<T> extends T {} // //# 00: compile-time error
diff --git a/tests/language_2/unsorted/extends_test.dart b/tests/language_2/unsorted/extends_test.dart
index 44c1c18..787552e 100644
--- a/tests/language_2/unsorted/extends_test.dart
+++ b/tests/language_2/unsorted/extends_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.9
+
 library ExtendsTestMain;
 
 import "extends_test_lib.dart";
diff --git a/tests/language_2/unsorted/extends_test_lib.dart b/tests/language_2/unsorted/extends_test_lib.dart
index d62ca8f..b34ac7a 100644
--- a/tests/language_2/unsorted/extends_test_lib.dart
+++ b/tests/language_2/unsorted/extends_test_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library ExtendsTestLib;
 
 class A {
diff --git a/tests/language_2/unsorted/external_runtime_test.dart b/tests/language_2/unsorted/external_runtime_test.dart
index e51282c..eca7602 100644
--- a/tests/language_2/unsorted/external_runtime_test.dart
+++ b/tests/language_2/unsorted/external_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/unsorted/external_test.dart b/tests/language_2/unsorted/external_test.dart
index 7d2f2af..1ae590a 100644
--- a/tests/language_2/unsorted/external_test.dart
+++ b/tests/language_2/unsorted/external_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.9
+
 class Bar {
   Bar(val);
 }
@@ -72,13 +74,13 @@
 }
 
 external int t06(int i) { }
-// [error line 74, column 1, length 8]
+// [error line 76, column 1, length 8]
 // [analyzer] SYNTACTIC_ERROR.EXTERNAL_METHOD_WITH_BODY
 // [cfe] An external or native method can't have a body.
 //                      ^
 // [cfe] An external or native method can't have a body.
 external int t07(int i) => i + 1;
-// [error line 80, column 1, length 8]
+// [error line 82, column 1, length 8]
 // [analyzer] SYNTACTIC_ERROR.EXTERNAL_METHOD_WITH_BODY
 // [cfe] An external or native method can't have a body.
 //                         ^
diff --git a/tests/language_2/unsorted/extract_type_arguments_test.dart b/tests/language_2/unsorted/extract_type_arguments_test.dart
index ee6d405..b535bd6 100644
--- a/tests/language_2/unsorted/extract_type_arguments_test.dart
+++ b/tests/language_2/unsorted/extract_type_arguments_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.9
+
 /// Tests the (probably temporary) API for extracting reified type arguments
 /// from an object.
 
diff --git a/tests/language_2/unsorted/fannkuch_test.dart b/tests/language_2/unsorted/fannkuch_test.dart
index a08a0cf..aadcd1f 100644
--- a/tests/language_2/unsorted/fannkuch_test.dart
+++ b/tests/language_2/unsorted/fannkuch_test.dart
@@ -6,6 +6,8 @@
 // Ported from JavaScript contributed by Isaac Gouy.
 // Description: Repeatedly access a tiny integer-sequence.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class FannkuchTest {
diff --git a/tests/language_2/unsorted/fast_method_extraction_test.dart b/tests/language_2/unsorted/fast_method_extraction_test.dart
index 27620d8..6da4f05 100644
--- a/tests/language_2/unsorted/fast_method_extraction_test.dart
+++ b/tests/language_2/unsorted/fast_method_extraction_test.dart
@@ -4,6 +4,8 @@
 // Test that fast method extraction returns correct closure.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/fauxverride_runtime_test.dart b/tests/language_2/unsorted/fauxverride_runtime_test.dart
index d5ae11a..4606792 100644
--- a/tests/language_2/unsorted/fauxverride_runtime_test.dart
+++ b/tests/language_2/unsorted/fauxverride_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/unsorted/fauxverride_test.dart b/tests/language_2/unsorted/fauxverride_test.dart
index d5fc6b1..d1597f6 100644
--- a/tests/language_2/unsorted/fauxverride_test.dart
+++ b/tests/language_2/unsorted/fauxverride_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.9
+
 import "package:expect/expect.dart";
 
 // Test the semantics of static members mixed with instance members.
diff --git a/tests/language_2/unsorted/fibo_test.dart b/tests/language_2/unsorted/fibo_test.dart
index e6f13bd..5182753 100644
--- a/tests/language_2/unsorted/fibo_test.dart
+++ b/tests/language_2/unsorted/fibo_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program calculating the Fibonacci sequence.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/unsorted/first_test.dart b/tests/language_2/unsorted/first_test.dart
index 783dd2e..8366464 100644
--- a/tests/language_2/unsorted/first_test.dart
+++ b/tests/language_2/unsorted/first_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // First dart test program.
 
+// @dart = 2.9
+
 class FirstTest {
   static testMain() {
     return 42;
diff --git a/tests/language_2/unsorted/fixed_length_test.dart b/tests/language_2/unsorted/fixed_length_test.dart
index 97a93f0..d97afc8 100644
--- a/tests/language_2/unsorted/fixed_length_test.dart
+++ b/tests/language_2/unsorted/fixed_length_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for https://code.google.com/p/dart/issues/detail?id=7994.
diff --git a/tests/language_2/unsorted/flatten_test.dart b/tests/language_2/unsorted/flatten_test.dart
index 2ff13e9..5f4b86a 100644
--- a/tests/language_2/unsorted/flatten_test.dart
+++ b/tests/language_2/unsorted/flatten_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.9
+
 import 'dart:async';
 
 class Derived<T> implements Future<T> {
diff --git a/tests/language_2/unsorted/forwarding_semi_stub_test.dart b/tests/language_2/unsorted/forwarding_semi_stub_test.dart
index 12db5f8..6f9c620 100644
--- a/tests/language_2/unsorted/forwarding_semi_stub_test.dart
+++ b/tests/language_2/unsorted/forwarding_semi_stub_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/unsorted/future_or_function_test.dart b/tests/language_2/unsorted/future_or_function_test.dart
index 2fddb22..6b7b262 100644
--- a/tests/language_2/unsorted/future_or_function_test.dart
+++ b/tests/language_2/unsorted/future_or_function_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/unsorted/fuzzy_arrows_test.dart b/tests/language_2/unsorted/fuzzy_arrows_test.dart
index 814549f..7cb92d9 100644
--- a/tests/language_2/unsorted/fuzzy_arrows_test.dart
+++ b/tests/language_2/unsorted/fuzzy_arrows_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.9
+
 // Fuzzy arrows will be eliminated from Dart 2.0 soon.  This test checks that
 // implementations have properly removed fuzzy arrow support, both at compile
 // time and at run time.  See dartbug.com/29630 for a detailed explanation.
diff --git a/tests/language_2/unsorted/gc_test.dart b/tests/language_2/unsorted/gc_test.dart
index 33e488c..af3728f 100644
--- a/tests/language_2/unsorted/gc_test.dart
+++ b/tests/language_2/unsorted/gc_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing GC, issue 1469.
 
+// @dart = 2.9
+
 main() {
   var div;
   for (int i = 0; i < 200; ++i) {
diff --git a/tests/language_2/unsorted/guess_cid_test.dart b/tests/language_2/unsorted/guess_cid_test.dart
index 099dfe0..77a8342 100644
--- a/tests/language_2/unsorted/guess_cid_test.dart
+++ b/tests/language_2/unsorted/guess_cid_test.dart
@@ -4,6 +4,8 @@
 // Dart test program to test cid guessing optimizations.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/unsorted/gvn_field_access_test.dart b/tests/language_2/unsorted/gvn_field_access_test.dart
index cf124b1..fc68ee1 100644
--- a/tests/language_2/unsorted/gvn_field_access_test.dart
+++ b/tests/language_2/unsorted/gvn_field_access_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/gvn_interceptor_test.dart b/tests/language_2/unsorted/gvn_interceptor_test.dart
index 51f109e..c3003cc 100644
--- a/tests/language_2/unsorted/gvn_interceptor_test.dart
+++ b/tests/language_2/unsorted/gvn_interceptor_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.9
+
 import "package:expect/expect.dart";
 
 foo(a, index) {
diff --git a/tests/language_2/unsorted/gvn_test.dart b/tests/language_2/unsorted/gvn_test.dart
index a52944d..ef74976 100644
--- a/tests/language_2/unsorted/gvn_test.dart
+++ b/tests/language_2/unsorted/gvn_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/hash_code_mangling_test.dart b/tests/language_2/unsorted/hash_code_mangling_test.dart
index 615da7b..f24094c 100644
--- a/tests/language_2/unsorted/hash_code_mangling_test.dart
+++ b/tests/language_2/unsorted/hash_code_mangling_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.9
+
 import "package:expect/expect.dart";
 
 class Foo {
diff --git a/tests/language_2/unsorted/hello_dart_test.dart b/tests/language_2/unsorted/hello_dart_test.dart
index d53705b..f0f11b2 100644
--- a/tests/language_2/unsorted/hello_dart_test.dart
+++ b/tests/language_2/unsorted/hello_dart_test.dart
@@ -5,6 +5,8 @@
 // compile all code that is loaded in the isolate.
 // VMOptions=--compile_all
 
+// @dart = 2.9
+
 class HelloDartTest {
   static testMain() {
     print("Hello, Darter!");
diff --git a/tests/language_2/unsorted/hello_script_lib.dart b/tests/language_2/unsorted/hello_script_lib.dart
index 35ecc6a..f3b2fdf 100644
--- a/tests/language_2/unsorted/hello_script_lib.dart
+++ b/tests/language_2/unsorted/hello_script_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Testing a simple script importing a library.
 // This file contains the library.
 
diff --git a/tests/language_2/unsorted/hello_script_lib_source.dart b/tests/language_2/unsorted/hello_script_lib_source.dart
index 8c74bc4..0992461 100644
--- a/tests/language_2/unsorted/hello_script_lib_source.dart
+++ b/tests/language_2/unsorted/hello_script_lib_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.9
+
 // Testing a simple script importing a library.
 // This file contains a source file included from the library.
 
diff --git a/tests/language_2/unsorted/hello_script_test.dart b/tests/language_2/unsorted/hello_script_test.dart
index b9f004e..f524e62 100644
--- a/tests/language_2/unsorted/hello_script_test.dart
+++ b/tests/language_2/unsorted/hello_script_test.dart
@@ -3,6 +3,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Testing a simple script importing a library.
 // This file contains the script (aka root library).
 
diff --git a/tests/language_2/unsorted/illegal_declaration_test.dart b/tests/language_2/unsorted/illegal_declaration_test.dart
index 6b8714b..4ef6c08 100644
--- a/tests/language_2/unsorted/illegal_declaration_test.dart
+++ b/tests/language_2/unsorted/illegal_declaration_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.9
+
 [ //# 01: syntax error
 
 main() {}
diff --git a/tests/language_2/unsorted/illegal_invocation_lib.dart b/tests/language_2/unsorted/illegal_invocation_lib.dart
index 0d1b8df4..1f0c4d5 100644
--- a/tests/language_2/unsorted/illegal_invocation_lib.dart
+++ b/tests/language_2/unsorted/illegal_invocation_lib.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library foo;
 
 foo() {}
diff --git a/tests/language_2/unsorted/illegal_invocation_runtime_test.dart b/tests/language_2/unsorted/illegal_invocation_runtime_test.dart
index 41f46b0..12bae4c 100644
--- a/tests/language_2/unsorted/illegal_invocation_runtime_test.dart
+++ b/tests/language_2/unsorted/illegal_invocation_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2012, 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.
diff --git a/tests/language_2/unsorted/illegal_invocation_test.dart b/tests/language_2/unsorted/illegal_invocation_test.dart
index 7af9479..4527584 100644
--- a/tests/language_2/unsorted/illegal_invocation_test.dart
+++ b/tests/language_2/unsorted/illegal_invocation_test.dart
@@ -6,6 +6,8 @@
 // Test for issue 1393.  Invoking a library prefix name caused an internal error
 // in dartc.
 
+// @dart = 2.9
+
 import "illegal_invocation_lib.dart" as foo;
 
 main() {
diff --git a/tests/language_2/unsorted/implicit_scope_test.dart b/tests/language_2/unsorted/implicit_scope_test.dart
index 49d0dd9..741e51c 100644
--- a/tests/language_2/unsorted/implicit_scope_test.dart
+++ b/tests/language_2/unsorted/implicit_scope_test.dart
@@ -4,6 +4,8 @@
 // Test that if, while etc create an implicit scope if the body
 // is not a compound statement.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ImplicitScopeTest {
diff --git a/tests/language_2/unsorted/index_assign_operator_infer_return_type_test.dart b/tests/language_2/unsorted/index_assign_operator_infer_return_type_test.dart
index 1ce5912..abd5a06 100644
--- a/tests/language_2/unsorted/index_assign_operator_infer_return_type_test.dart
+++ b/tests/language_2/unsorted/index_assign_operator_infer_return_type_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.9
+
 class C {
   operator []=(dynamic index, dynamic value) {}
 }
diff --git a/tests/language_2/unsorted/indirect_const_null_test.dart b/tests/language_2/unsorted/indirect_const_null_test.dart
index 5161614..52737be 100644
--- a/tests/language_2/unsorted/indirect_const_null_test.dart
+++ b/tests/language_2/unsorted/indirect_const_null_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/unsorted/inference_enum_list_test.dart b/tests/language_2/unsorted/inference_enum_list_test.dart
index dc7b7bd3..66e7a00 100644
--- a/tests/language_2/unsorted/inference_enum_list_test.dart
+++ b/tests/language_2/unsorted/inference_enum_list_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.9
+
 enum E1 { a, b }
 enum E2 { a, b }
 
diff --git a/tests/language_2/unsorted/inference_list_or_null_test.dart b/tests/language_2/unsorted/inference_list_or_null_test.dart
index fc71e4c..d01c367 100644
--- a/tests/language_2/unsorted/inference_list_or_null_test.dart
+++ b/tests/language_2/unsorted/inference_list_or_null_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.9
+
 // Regression test for dart2js that used to statically inline the length of an
 // array held in a variable when it could, even if that variable could
 // be null.
diff --git a/tests/language_2/unsorted/intrinsified_methods_test.dart b/tests/language_2/unsorted/intrinsified_methods_test.dart
index c321cf4..6ad9e92 100644
--- a/tests/language_2/unsorted/intrinsified_methods_test.dart
+++ b/tests/language_2/unsorted/intrinsified_methods_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing the instanceof operation.
 
+// @dart = 2.9
+
 library intrinsified_methods_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/inv_cse_licm_test.dart b/tests/language_2/unsorted/inv_cse_licm_test.dart
index 267e757..dc19fcd 100644
--- a/tests/language_2/unsorted/inv_cse_licm_test.dart
+++ b/tests/language_2/unsorted/inv_cse_licm_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.9
+
 // VMOptions=--deterministic --optimization_counter_threshold=10
 
 import 'dart:typed_data';
diff --git a/tests/language_2/unsorted/invalid_cast_runtime_1_test.dart b/tests/language_2/unsorted/invalid_cast_runtime_1_test.dart
index 52d4ced..9a4e555 100644
--- a/tests/language_2/unsorted/invalid_cast_runtime_1_test.dart
+++ b/tests/language_2/unsorted/invalid_cast_runtime_1_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/unsorted/invalid_cast_runtime_2_test.dart b/tests/language_2/unsorted/invalid_cast_runtime_2_test.dart
index 7e97e48..15a0b77 100644
--- a/tests/language_2/unsorted/invalid_cast_runtime_2_test.dart
+++ b/tests/language_2/unsorted/invalid_cast_runtime_2_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/unsorted/invalid_cast_runtime_test.dart b/tests/language_2/unsorted/invalid_cast_runtime_test.dart
index 60403e0..b94e734 100644
--- a/tests/language_2/unsorted/invalid_cast_runtime_test.dart
+++ b/tests/language_2/unsorted/invalid_cast_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/unsorted/invalid_cast_test.dart b/tests/language_2/unsorted/invalid_cast_test.dart
index e00a1d6..ca0f164 100644
--- a/tests/language_2/unsorted/invalid_cast_test.dart
+++ b/tests/language_2/unsorted/invalid_cast_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.9
+
 class C {
   C();
   factory C.fact() => null;
diff --git a/tests/language_2/unsorted/invalid_type_argument_count_runtime_test.dart b/tests/language_2/unsorted/invalid_type_argument_count_runtime_test.dart
index a0959a8..ff5c848 100644
--- a/tests/language_2/unsorted/invalid_type_argument_count_runtime_test.dart
+++ b/tests/language_2/unsorted/invalid_type_argument_count_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/unsorted/invalid_type_argument_count_test.dart b/tests/language_2/unsorted/invalid_type_argument_count_test.dart
index cf9619d..8cfb724 100644
--- a/tests/language_2/unsorted/invalid_type_argument_count_test.dart
+++ b/tests/language_2/unsorted/invalid_type_argument_count_test.dart
@@ -2,16 +2,18 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Test top level field.
 dynamic<int> x1 = 42;
-// [error line 6, column 1, length 12]
+// [error line 8, column 1, length 12]
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 0 type arguments.
 
 class Foo {
   // Test class member.
   dynamic<int> x2 = 42;
-// [error line 13, column 3, length 12]
+//^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 0 type arguments.
 
@@ -27,7 +29,7 @@
 
   // Test local variable.
   dynamic<int> x3 = 42;
-// [error line 29, column 3, length 12]
+//^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 0 type arguments.
   print(x3);
@@ -37,7 +39,7 @@
 
 // Test parameter.
 void foo(dynamic<int> x4) {
-// [error line 39, column 10, length 12]
+//       ^^^^^^^^^^^^
 // [analyzer] COMPILE_TIME_ERROR.WRONG_NUMBER_OF_TYPE_ARGUMENTS
 // [cfe] Expected 0 type arguments.
   print(x4);
diff --git a/tests/language_2/unsorted/invocation_mirror2_test.dart b/tests/language_2/unsorted/invocation_mirror2_test.dart
index 6f62d6e..e6c1a42 100644
--- a/tests/language_2/unsorted/invocation_mirror2_test.dart
+++ b/tests/language_2/unsorted/invocation_mirror2_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.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/unsorted/invocation_mirror_empty_arguments_test.dart b/tests/language_2/unsorted/invocation_mirror_empty_arguments_test.dart
index 4b8662a..485b153 100644
--- a/tests/language_2/unsorted/invocation_mirror_empty_arguments_test.dart
+++ b/tests/language_2/unsorted/invocation_mirror_empty_arguments_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.9
+
 import "package:expect/expect.dart";
 
 // Validates that positional arguments are an empty immutable list.
diff --git a/tests/language_2/unsorted/invocation_mirror_test.dart b/tests/language_2/unsorted/invocation_mirror_test.dart
index dc56efa..4addddb 100644
--- a/tests/language_2/unsorted/invocation_mirror_test.dart
+++ b/tests/language_2/unsorted/invocation_mirror_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.9
+
 import "package:expect/expect.dart";
 
 // Invocation and noSuchMethod testing.
diff --git a/tests/language_2/unsorted/js_properties_test.dart b/tests/language_2/unsorted/js_properties_test.dart
index b93a547..6139dff 100644
--- a/tests/language_2/unsorted/js_properties_test.dart
+++ b/tests/language_2/unsorted/js_properties_test.dart
@@ -4,6 +4,8 @@
 // Test that JavaScript properties on Object can still be classes in
 // Dart.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/unsorted/keyword_type_expression_test.dart b/tests/language_2/unsorted/keyword_type_expression_test.dart
index 5d981ef..e7ae957 100644
--- a/tests/language_2/unsorted/keyword_type_expression_test.dart
+++ b/tests/language_2/unsorted/keyword_type_expression_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.9
+
 // Test that a keyword can't be used as type.  Serves as regression test for
 // crashes in dart2js.
 
diff --git a/tests/language_2/unsorted/large_implicit_getter_test.dart b/tests/language_2/unsorted/large_implicit_getter_test.dart
index 624a063..df69a05 100644
--- a/tests/language_2/unsorted/large_implicit_getter_test.dart
+++ b/tests/language_2/unsorted/large_implicit_getter_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing compilation of large implicit getters.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 List<List> panels = [
   [6853.940039224797, 6050.837897021371],
   [6953.240039224797, 6050.837897021371],
diff --git a/tests/language_2/unsorted/larger_implicit_getter_test.dart b/tests/language_2/unsorted/larger_implicit_getter_test.dart
index cfadc00..99d0781 100644
--- a/tests/language_2/unsorted/larger_implicit_getter_test.dart
+++ b/tests/language_2/unsorted/larger_implicit_getter_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program for testing compilation of large implicit getters.
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 List<List> panels = [
diff --git a/tests/language_2/unsorted/liveness_test.dart b/tests/language_2/unsorted/liveness_test.dart
index 61e6284..33dde3b 100644
--- a/tests/language_2/unsorted/liveness_test.dart
+++ b/tests/language_2/unsorted/liveness_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test program testing closures.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 foo(x) {
diff --git a/tests/language_2/unsorted/load_indexed_constant_test.dart b/tests/language_2/unsorted/load_indexed_constant_test.dart
index d7ccee4..6449317 100644
--- a/tests/language_2/unsorted/load_indexed_constant_test.dart
+++ b/tests/language_2/unsorted/load_indexed_constant_test.dart
@@ -4,6 +4,8 @@
 // Test constant propagation of load-indexed operations
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/unsorted/local_var_in_annotation_test.dart b/tests/language_2/unsorted/local_var_in_annotation_test.dart
index f6474f8..c9e22e3 100644
--- a/tests/language_2/unsorted/local_var_in_annotation_test.dart
+++ b/tests/language_2/unsorted/local_var_in_annotation_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/37065
 
 const x = 0;
diff --git a/tests/language_2/unsorted/many_calls_test.dart b/tests/language_2/unsorted/many_calls_test.dart
index fc766d8..7411d1a 100644
--- a/tests/language_2/unsorted/many_calls_test.dart
+++ b/tests/language_2/unsorted/many_calls_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test megamorphic calls.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/many_method_calls_test.dart b/tests/language_2/unsorted/many_method_calls_test.dart
index f16aa9a..7b56c4e 100644
--- a/tests/language_2/unsorted/many_method_calls_test.dart
+++ b/tests/language_2/unsorted/many_method_calls_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.9
+
 // Test that compiler does not crash for very long chains of method calls.
 
 var field = false;
diff --git a/tests/language_2/unsorted/many_named_arguments_test.dart b/tests/language_2/unsorted/many_named_arguments_test.dart
index 015a137..0e9170a 100644
--- a/tests/language_2/unsorted/many_named_arguments_test.dart
+++ b/tests/language_2/unsorted/many_named_arguments_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.9
+
 import 'package:expect/expect.dart';
 
 class Fisk {
diff --git a/tests/language_2/unsorted/mega_load_test.dart b/tests/language_2/unsorted/mega_load_test.dart
index bc62aa2..5d26547 100644
--- a/tests/language_2/unsorted/mega_load_test.dart
+++ b/tests/language_2/unsorted/mega_load_test.dart
@@ -4,6 +4,8 @@
 // Test megamorphic, but single target field load.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Base {
diff --git a/tests/language_2/unsorted/memory_swap_test.dart b/tests/language_2/unsorted/memory_swap_test.dart
index b8d093e..3cd46a4 100644
--- a/tests/language_2/unsorted/memory_swap_test.dart
+++ b/tests/language_2/unsorted/memory_swap_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.9
+
 // Test that the ParalleMoveResolver in the VM uses valid registers
 // when requiring scratch registers.
 
diff --git a/tests/language_2/unsorted/mint_compares_test.dart b/tests/language_2/unsorted/mint_compares_test.dart
index ef37d9a..fdc1e04 100644
--- a/tests/language_2/unsorted/mint_compares_test.dart
+++ b/tests/language_2/unsorted/mint_compares_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test compares on 64-bit integers.
diff --git a/tests/language_2/unsorted/mock_writable_final_field_test.dart b/tests/language_2/unsorted/mock_writable_final_field_test.dart
index d8a68f7..7835e94 100644
--- a/tests/language_2/unsorted/mock_writable_final_field_test.dart
+++ b/tests/language_2/unsorted/mock_writable_final_field_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.9
+
 import 'package:expect/expect.dart';
 
 final values = <int>[];
diff --git a/tests/language_2/unsorted/multi_pass2_test.dart b/tests/language_2/unsorted/multi_pass2_test.dart
index e75d2d6..31e4874 100644
--- a/tests/language_2/unsorted/multi_pass2_test.dart
+++ b/tests/language_2/unsorted/multi_pass2_test.dart
@@ -4,6 +4,8 @@
 // Dart test for loading several dart files and resolving superclasses lazily.
 // Same as MultiPassTest, except that the file order is reversed.
 
+// @dart = 2.9
+
 library MultiPassTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/multi_pass_a.dart b/tests/language_2/unsorted/multi_pass_a.dart
index 5b2863f..4c66703 100644
--- a/tests/language_2/unsorted/multi_pass_a.dart
+++ b/tests/language_2/unsorted/multi_pass_a.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for loading several dart files and resolving superclasses lazily.
 
+// @dart = 2.9
+
 part of MultiPassTest.dart;
 
 class A extends Base {
diff --git a/tests/language_2/unsorted/multi_pass_b.dart b/tests/language_2/unsorted/multi_pass_b.dart
index ed99b83..9b3aa32 100644
--- a/tests/language_2/unsorted/multi_pass_b.dart
+++ b/tests/language_2/unsorted/multi_pass_b.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for loading several dart files and resolving superclasses lazily.
 
+// @dart = 2.9
+
 part of MultiPassTest.dart;
 
 class B extends A {
diff --git a/tests/language_2/unsorted/multi_pass_test.dart b/tests/language_2/unsorted/multi_pass_test.dart
index a7f9059..0b05e95 100644
--- a/tests/language_2/unsorted/multi_pass_test.dart
+++ b/tests/language_2/unsorted/multi_pass_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for loading several dart files and resolving superclasses lazily.
 
+// @dart = 2.9
+
 library MultiPassTest.dart;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/namer2_test.dart b/tests/language_2/unsorted/namer2_test.dart
index 3d7d2bc..8c400ca 100644
--- a/tests/language_2/unsorted/namer2_test.dart
+++ b/tests/language_2/unsorted/namer2_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.9
+
 import "package:expect/expect.dart";
 
 // Test that user field names cannot clash with internal names of the
diff --git a/tests/language_2/unsorted/namer_test.dart b/tests/language_2/unsorted/namer_test.dart
index d9ad7d8..abe13bb 100644
--- a/tests/language_2/unsorted/namer_test.dart
+++ b/tests/language_2/unsorted/namer_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for a bug in dart2js where global names could
diff --git a/tests/language_2/unsorted/native_test.dart b/tests/language_2/unsorted/native_test.dart
index c3401d3..0b5707c 100644
--- a/tests/language_2/unsorted/native_test.dart
+++ b/tests/language_2/unsorted/native_test.dart
@@ -4,6 +4,8 @@
 // Dart test program which shows how to write self verifying tests
 // and how to print dart objects if needed.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/unsorted/parse_types_test.dart b/tests/language_2/unsorted/parse_types_test.dart
index 665759d..b4f4004 100644
--- a/tests/language_2/unsorted/parse_types_test.dart
+++ b/tests/language_2/unsorted/parse_types_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for testing parsing of "standard" types.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class ParseTypesTest {
diff --git a/tests/language_2/unsorted/partial_min_test.dart b/tests/language_2/unsorted/partial_min_test.dart
index 754549a..f66db48 100644
--- a/tests/language_2/unsorted/partial_min_test.dart
+++ b/tests/language_2/unsorted/partial_min_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.9
+
 import "package:expect/expect.dart";
 
 // This test triggered an NPE in dart2js.
diff --git a/tests/language_2/unsorted/patch_test.dart b/tests/language_2/unsorted/patch_test.dart
index 2815cbf..34faf19 100644
--- a/tests/language_2/unsorted/patch_test.dart
+++ b/tests/language_2/unsorted/patch_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.9
+
 import "package:expect/expect.dart";
 
 patch() {
diff --git a/tests/language_2/unsorted/property_field_override_test.dart b/tests/language_2/unsorted/property_field_override_test.dart
index 1e7b853..24bc7287 100644
--- a/tests/language_2/unsorted/property_field_override_test.dart
+++ b/tests/language_2/unsorted/property_field_override_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.9
+
 import "package:expect/expect.dart";
 
 // Test overriding a getter property with a field.
diff --git a/tests/language_2/unsorted/range_analysis2_test.dart b/tests/language_2/unsorted/range_analysis2_test.dart
index 9443995..4641699 100644
--- a/tests/language_2/unsorted/range_analysis2_test.dart
+++ b/tests/language_2/unsorted/range_analysis2_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.9
+
 // Regression test for dart2js that used to remove bounds checks on
 // boxed variables.
 
diff --git a/tests/language_2/unsorted/range_analysis3_test.dart b/tests/language_2/unsorted/range_analysis3_test.dart
index 8fa0edd..debf01d 100644
--- a/tests/language_2/unsorted/range_analysis3_test.dart
+++ b/tests/language_2/unsorted/range_analysis3_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.9
+
 import "package:expect/expect.dart";
 
 confuse(x) {
diff --git a/tests/language_2/unsorted/range_analysis_test.dart b/tests/language_2/unsorted/range_analysis_test.dart
index c07b2bf..0c9f385 100644
--- a/tests/language_2/unsorted/range_analysis_test.dart
+++ b/tests/language_2/unsorted/range_analysis_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for constructors and initializers.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Check that range analysis does not enter infinite loop trying to propagate
diff --git a/tests/language_2/unsorted/recursive_calls_test.dart b/tests/language_2/unsorted/recursive_calls_test.dart
index 21bc53d..75e0d4b 100644
--- a/tests/language_2/unsorted/recursive_calls_test.dart
+++ b/tests/language_2/unsorted/recursive_calls_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.9
+
 import "package:expect/expect.dart";
 
 int bar(x) => foo(x + 1);
diff --git a/tests/language_2/unsorted/recursive_loop_phis_test.dart b/tests/language_2/unsorted/recursive_loop_phis_test.dart
index f01aa0a..580b47d 100644
--- a/tests/language_2/unsorted/recursive_loop_phis_test.dart
+++ b/tests/language_2/unsorted/recursive_loop_phis_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.9
+
 import "package:expect/expect.dart";
 
 // This program tripped dart2js.
diff --git a/tests/language_2/unsorted/refine_receiver_null_test.dart b/tests/language_2/unsorted/refine_receiver_null_test.dart
index 499e998..46df819 100644
--- a/tests/language_2/unsorted/refine_receiver_null_test.dart
+++ b/tests/language_2/unsorted/refine_receiver_null_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.9
+
 // Regression test for dart2js that used to infer that code following
 // a dynamic call could assume the receiver is not null. This does not
 // work for Object methods.
diff --git a/tests/language_2/unsorted/savannah_test.dart b/tests/language_2/unsorted/savannah_test.dart
index 9d28959..3200d2f 100644
--- a/tests/language_2/unsorted/savannah_test.dart
+++ b/tests/language_2/unsorted/savannah_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test using an identity hash.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 abstract class BigGame {
diff --git a/tests/language_2/unsorted/scanner_test.dart b/tests/language_2/unsorted/scanner_test.dart
index 01ee048..08db501 100644
--- a/tests/language_2/unsorted/scanner_test.dart
+++ b/tests/language_2/unsorted/scanner_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test dart scanner.
 
+// @dart = 2.9
+
 class ScannerTest {
   static testMain() {
     var s = "Hello\tmy\tfriend\n";
diff --git a/tests/language_2/unsorted/second_test.dart b/tests/language_2/unsorted/second_test.dart
index 0cdd2a7..48a48fd 100644
--- a/tests/language_2/unsorted/second_test.dart
+++ b/tests/language_2/unsorted/second_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Second dart test program.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper {
diff --git a/tests/language_2/unsorted/shadow_parameter_and_local_test.dart b/tests/language_2/unsorted/shadow_parameter_and_local_test.dart
index 6082f59..2b7b65c 100644
--- a/tests/language_2/unsorted/shadow_parameter_and_local_test.dart
+++ b/tests/language_2/unsorted/shadow_parameter_and_local_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for https://github.com/dart-lang/sdk/issues/29733 in DDC.
diff --git a/tests/language_2/unsorted/side_effect_throw_test.dart b/tests/language_2/unsorted/side_effect_throw_test.dart
index 484b762..f291895 100644
--- a/tests/language_2/unsorted/side_effect_throw_test.dart
+++ b/tests/language_2/unsorted/side_effect_throw_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.9
+
 import "package:expect/expect.dart";
 
 class B {
diff --git a/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t01_test.dart b/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t01_test.dart
index 281315e..42d069b 100644
--- a/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t01_test.dart
+++ b/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t01_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 /*
  * Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
  * for details. All rights reserved. Use of this source code is governed by a
diff --git a/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t02_test.dart b/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t02_test.dart
index db2ecca..d2c1af8 100644
--- a/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t02_test.dart
+++ b/tests/language_2/unsorted/smaller_4_Interface_Types_A11_t02_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 /*
  * Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
  * for details. All rights reserved. Use of this source code is governed by a
diff --git a/tests/language_2/unsorted/stack_overflow_stacktrace_test.dart b/tests/language_2/unsorted/stack_overflow_stacktrace_test.dart
index 6e54477..f9db45e 100644
--- a/tests/language_2/unsorted/stack_overflow_stacktrace_test.dart
+++ b/tests/language_2/unsorted/stack_overflow_stacktrace_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart program testing stack overflow.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class StackOverflowTest {
diff --git a/tests/language_2/unsorted/stack_overflow_test.dart b/tests/language_2/unsorted/stack_overflow_test.dart
index bd87a25..43baa7a 100644
--- a/tests/language_2/unsorted/stack_overflow_test.dart
+++ b/tests/language_2/unsorted/stack_overflow_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart program testing stack overflow.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class StackOverflowTest {
diff --git a/tests/language_2/unsorted/state_mangling2_test.dart b/tests/language_2/unsorted/state_mangling2_test.dart
index 9467d79..ab8a3f3 100644
--- a/tests/language_2/unsorted/state_mangling2_test.dart
+++ b/tests/language_2/unsorted/state_mangling2_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.9
+
 import "package:expect/expect.dart";
 
 foo(state) {
diff --git a/tests/language_2/unsorted/state_mangling3_test.dart b/tests/language_2/unsorted/state_mangling3_test.dart
index 05e3c50..abd1288 100644
--- a/tests/language_2/unsorted/state_mangling3_test.dart
+++ b/tests/language_2/unsorted/state_mangling3_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.9
+
 import "package:expect/expect.dart";
 
 foo(state0) {
diff --git a/tests/language_2/unsorted/state_mangling4_test.dart b/tests/language_2/unsorted/state_mangling4_test.dart
index 58c18d1..29dd8cd 100644
--- a/tests/language_2/unsorted/state_mangling4_test.dart
+++ b/tests/language_2/unsorted/state_mangling4_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.9
+
 import "package:expect/expect.dart";
 
 foo(env1) {
diff --git a/tests/language_2/unsorted/state_mangling_test.dart b/tests/language_2/unsorted/state_mangling_test.dart
index 84d697b..8c0232c 100644
--- a/tests/language_2/unsorted/state_mangling_test.dart
+++ b/tests/language_2/unsorted/state_mangling_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.9
+
 import "package:expect/expect.dart";
 
 foo(state) {
diff --git a/tests/language_2/unsorted/temp_mangling_test.dart b/tests/language_2/unsorted/temp_mangling_test.dart
index 29f26ee..1f8197c 100644
--- a/tests/language_2/unsorted/temp_mangling_test.dart
+++ b/tests/language_2/unsorted/temp_mangling_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/unsorted/third_test.dart b/tests/language_2/unsorted/third_test.dart
index 3df66d3..afb76cf 100644
--- a/tests/language_2/unsorted/third_test.dart
+++ b/tests/language_2/unsorted/third_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Third dart test program.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A extends B {
diff --git a/tests/language_2/unsorted/tree_shake_typed_selector_test.dart b/tests/language_2/unsorted/tree_shake_typed_selector_test.dart
index 480c846..3f165ac 100644
--- a/tests/language_2/unsorted/tree_shake_typed_selector_test.dart
+++ b/tests/language_2/unsorted/tree_shake_typed_selector_test.dart
@@ -4,6 +4,8 @@
 // Check that dart2js emits code for classes that implement another
 // class.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/unsorted/typecheck_multifield_declaration_test.dart b/tests/language_2/unsorted/typecheck_multifield_declaration_test.dart
index ccccf6f..178e82f 100644
--- a/tests/language_2/unsorted/typecheck_multifield_declaration_test.dart
+++ b/tests/language_2/unsorted/typecheck_multifield_declaration_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.9
+
 /// Checks that we can correctly typecheck multi-variable declarations on fields
 /// and top-levels. This is also a regression test for Issue 27401.
 
diff --git a/tests/language_2/unsorted/typed_equality_test.dart b/tests/language_2/unsorted/typed_equality_test.dart
index 9f48e79..5306e2d 100644
--- a/tests/language_2/unsorted/typed_equality_test.dart
+++ b/tests/language_2/unsorted/typed_equality_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.9
+
 // Regression test for http://dartbug.com/6036. dart2js used to fail
 // this method because it was computing that intersecting type D with
 // type C is conflicting.
diff --git a/tests/language_2/unsorted/typed_selector2_test.dart b/tests/language_2/unsorted/typed_selector2_test.dart
index db1cc30..01287e9 100644
--- a/tests/language_2/unsorted/typed_selector2_test.dart
+++ b/tests/language_2/unsorted/typed_selector2_test.dart
@@ -4,6 +4,8 @@
 // Test for dart2js to handle a typed selector with a typedef as a
 // receiver type.
 
+// @dart = 2.9
+
 getComparator() => (a, b) => 42;
 
 class A {
diff --git a/tests/language_2/unsorted/typed_selector_test.dart b/tests/language_2/unsorted/typed_selector_test.dart
index 98c2d08..0ad6715 100644
--- a/tests/language_2/unsorted/typed_selector_test.dart
+++ b/tests/language_2/unsorted/typed_selector_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.9
+
 import "package:expect/expect.dart";
 
 // Regression test for http://dartbug.com/6259. This test used to fail
diff --git a/tests/language_2/unsorted/unevaluated_field.dart b/tests/language_2/unsorted/unevaluated_field.dart
index 5c701db..da3b760 100644
--- a/tests/language_2/unsorted/unevaluated_field.dart
+++ b/tests/language_2/unsorted/unevaluated_field.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Test that environment constants in field initializers work properly.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/unsorted/unused_overridden_async_test.dart b/tests/language_2/unsorted/unused_overridden_async_test.dart
index da7aa72..ffb5b00 100644
--- a/tests/language_2/unsorted/unused_overridden_async_test.dart
+++ b/tests/language_2/unsorted/unused_overridden_async_test.dart
@@ -1,6 +1,8 @@
 // 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.9
 import 'dart:async';
 
 class Base {
diff --git a/tests/language_2/unsorted/value_range2_test.dart b/tests/language_2/unsorted/value_range2_test.dart
index ac0a99d..7059e68 100644
--- a/tests/language_2/unsorted/value_range2_test.dart
+++ b/tests/language_2/unsorted/value_range2_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.9
+
 import "package:expect/expect.dart";
 
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
diff --git a/tests/language_2/unsorted/value_range3_test.dart b/tests/language_2/unsorted/value_range3_test.dart
index 58a65d4..91f8f18 100644
--- a/tests/language_2/unsorted/value_range3_test.dart
+++ b/tests/language_2/unsorted/value_range3_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.9
+
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/tests/language_2/unsorted/value_range_test.dart b/tests/language_2/unsorted/value_range_test.dart
index 83fcc9f..546899c 100644
--- a/tests/language_2/unsorted/value_range_test.dart
+++ b/tests/language_2/unsorted/value_range_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.9
+
 import "package:expect/expect.dart";
 
 int inscrutable(int x) => x == 0 ? 0 : x | inscrutable(x & (x - 1));
diff --git a/tests/language_2/unsorted/var_init_test.dart b/tests/language_2/unsorted/var_init_test.dart
index 61ffd9b..d5d00cc 100644
--- a/tests/language_2/unsorted/var_init_test.dart
+++ b/tests/language_2/unsorted/var_init_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing correct initialization of variables in scopes.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class VarInitTest {
diff --git a/tests/language_2/variable/bad_initializer1_runtime_test.dart b/tests/language_2/variable/bad_initializer1_runtime_test.dart
index e97f36b..420dc76 100644
--- a/tests/language_2/variable/bad_initializer1_runtime_test.dart
+++ b/tests/language_2/variable/bad_initializer1_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2017, 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.
diff --git a/tests/language_2/variable/bad_initializer1_test.dart b/tests/language_2/variable/bad_initializer1_test.dart
index 0070cd8..10a4bfe 100644
--- a/tests/language_2/variable/bad_initializer1_test.dart
+++ b/tests/language_2/variable/bad_initializer1_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.9
+
 // Variable initializer must not reference the initialized variable.
 
 main() {
diff --git a/tests/language_2/variable/bad_initializer2_runtime_test.dart b/tests/language_2/variable/bad_initializer2_runtime_test.dart
index 5163cf0..50252bd 100644
--- a/tests/language_2/variable/bad_initializer2_runtime_test.dart
+++ b/tests/language_2/variable/bad_initializer2_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/variable/bad_initializer2_test.dart b/tests/language_2/variable/bad_initializer2_test.dart
index 384511a..9b22a7b 100644
--- a/tests/language_2/variable/bad_initializer2_test.dart
+++ b/tests/language_2/variable/bad_initializer2_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.9
+
 // Variable initializer must not reference the initialized variable.
 import "package:expect/expect.dart";
 
diff --git a/tests/language_2/variable/conflicting_type_variable_and_setter_test.dart b/tests/language_2/variable/conflicting_type_variable_and_setter_test.dart
index 2efcecb..16c48926 100644
--- a/tests/language_2/variable/conflicting_type_variable_and_setter_test.dart
+++ b/tests/language_2/variable/conflicting_type_variable_and_setter_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.9
+
 import "package:expect/expect.dart";
 
 class C<
diff --git a/tests/language_2/variable/cyclic_type_variable_test.dart b/tests/language_2/variable/cyclic_type_variable_test.dart
index c8db76a..4e1d583 100644
--- a/tests/language_2/variable/cyclic_type_variable_test.dart
+++ b/tests/language_2/variable/cyclic_type_variable_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.9
+
 // Tests cyclic reference to type variables in type expressions
 
 class Base<T> {}
diff --git a/tests/language_2/variable/duplicate_field_with_initializer_runtime_test.dart b/tests/language_2/variable/duplicate_field_with_initializer_runtime_test.dart
index 7764d43..0af5853 100644
--- a/tests/language_2/variable/duplicate_field_with_initializer_runtime_test.dart
+++ b/tests/language_2/variable/duplicate_field_with_initializer_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2018, 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.
diff --git a/tests/language_2/variable/duplicate_field_with_initializer_test.dart b/tests/language_2/variable/duplicate_field_with_initializer_test.dart
index 9a65936..35a75d1 100644
--- a/tests/language_2/variable/duplicate_field_with_initializer_test.dart
+++ b/tests/language_2/variable/duplicate_field_with_initializer_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.9
+
 class Repeated {
   var a, b = 'Something';
   var b;
diff --git a/tests/language_2/variable/fixed_type_variable2_test.dart b/tests/language_2/variable/fixed_type_variable2_test.dart
index 73e211c..611aa7c 100644
--- a/tests/language_2/variable/fixed_type_variable2_test.dart
+++ b/tests/language_2/variable/fixed_type_variable2_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.9
+
 // Test that type variables are passed on from subtypes that fixed the type
 // variable in inheritance.
 
diff --git a/tests/language_2/variable/fixed_type_variable_test.dart b/tests/language_2/variable/fixed_type_variable_test.dart
index cbe9e2b..63e4252 100644
--- a/tests/language_2/variable/fixed_type_variable_test.dart
+++ b/tests/language_2/variable/fixed_type_variable_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.9
+
 // Test that type variables are passed on from subtypes that fixed the type
 // variable in inheritance.
 
diff --git a/tests/language_2/variable/illegal_initializer_runtime_test.dart b/tests/language_2/variable/illegal_initializer_runtime_test.dart
index fecbeba..20049d9 100644
--- a/tests/language_2/variable/illegal_initializer_runtime_test.dart
+++ b/tests/language_2/variable/illegal_initializer_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/variable/illegal_initializer_test.dart b/tests/language_2/variable/illegal_initializer_test.dart
index 3b8b083..e33e562 100644
--- a/tests/language_2/variable/illegal_initializer_test.dart
+++ b/tests/language_2/variable/illegal_initializer_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.9
+
 class A {
   A();
   A.foo();
@@ -17,12 +19,11 @@
   B.c2() : this.foo;
       //   ^^^^
       // [analyzer] COMPILE_TIME_ERROR.INVALID_REFERENCE_TO_THIS
-      // [cfe] Can't access 'this' in a field initializer.
-      //   ^^^^
       // [analyzer] SYNTACTIC_ERROR.MISSING_ASSIGNMENT_IN_INITIALIZER
-      // [cfe] Expected an assignment after the field name.
       //   ^^^^^^^^
       // [analyzer] COMPILE_TIME_ERROR.INITIALIZER_FOR_NON_EXISTENT_FIELD
+      // [cfe] Can't access 'this' in a field initializer.
+      // [cfe] Expected an assignment after the field name.
       //        ^^^
       // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_GETTER
 
@@ -39,15 +40,12 @@
   B.c4() : this;
       //   ^^^^
       // [analyzer] COMPILE_TIME_ERROR.INITIALIZER_FOR_NON_EXISTENT_FIELD
-      // [cfe] Expected an assignment after the field name.
-      //   ^^^^
       // [analyzer] COMPILE_TIME_ERROR.INVALID_REFERENCE_TO_THIS
-      //   ^^^^
       // [analyzer] SYNTACTIC_ERROR.MISSING_ASSIGNMENT_IN_INITIALIZER
-      // [error line 39, column 16, length 0]
-      // [cfe] Expected '.' before this.
+      // [cfe] Expected an assignment after the field name.
       //       ^
       // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
+      // [cfe] Expected '.' before this.
       // [cfe] Expected an identifier, but got ''.
 }
 
diff --git a/tests/language_2/variable/inference_captured_variable2_test.dart b/tests/language_2/variable/inference_captured_variable2_test.dart
index 4eb1f25..2a3d845 100644
--- a/tests/language_2/variable/inference_captured_variable2_test.dart
+++ b/tests/language_2/variable/inference_captured_variable2_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.9
+
 // Ensure that dart2js's receiver specialization optimization works
 // with captured variables.
 
diff --git a/tests/language_2/variable/inference_captured_variable_test.dart b/tests/language_2/variable/inference_captured_variable_test.dart
index 5cf9265..cb7ce74 100644
--- a/tests/language_2/variable/inference_captured_variable_test.dart
+++ b/tests/language_2/variable/inference_captured_variable_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.9
+
 // Ensure that dart2js's receiver specialization optimization works
 // with captured variables.
 
diff --git a/tests/language_2/variable/initializer_super_last_runtime_test.dart b/tests/language_2/variable/initializer_super_last_runtime_test.dart
index dc2caeb..616d1ee 100644
--- a/tests/language_2/variable/initializer_super_last_runtime_test.dart
+++ b/tests/language_2/variable/initializer_super_last_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 201, 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.
diff --git a/tests/language_2/variable/initializer_super_last_test.dart b/tests/language_2/variable/initializer_super_last_test.dart
index 7e2b0b8..a466562 100644
--- a/tests/language_2/variable/initializer_super_last_test.dart
+++ b/tests/language_2/variable/initializer_super_last_test.dart
@@ -5,6 +5,8 @@
 //
 // Dart test program testing assert statements.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class S {
diff --git a/tests/language_2/variable/inst_field_initializer1_test.dart b/tests/language_2/variable/inst_field_initializer1_test.dart
index edc85c8..57f31eed 100644
--- a/tests/language_2/variable/inst_field_initializer1_test.dart
+++ b/tests/language_2/variable/inst_field_initializer1_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.9
+
 /// Catch illegal access to 'this' in initialized instance fields.
 
 class A {
diff --git a/tests/language_2/variable/inst_field_initializer_test.dart b/tests/language_2/variable/inst_field_initializer_test.dart
index c04fe11..c97b906 100644
--- a/tests/language_2/variable/inst_field_initializer_test.dart
+++ b/tests/language_2/variable/inst_field_initializer_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test for instance field initializer expressions.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Cheese {
diff --git a/tests/language_2/variable/labeled_variable_declaration_test.dart b/tests/language_2/variable/labeled_variable_declaration_test.dart
index 6dede5a..3f59df9 100644
--- a/tests/language_2/variable/labeled_variable_declaration_test.dart
+++ b/tests/language_2/variable/labeled_variable_declaration_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.9
+
 main() {
   L:
   var x, y;
diff --git a/tests/language_2/variable/ref_before_declaration_runtime_test.dart b/tests/language_2/variable/ref_before_declaration_runtime_test.dart
index 84949d0..8ef4def 100644
--- a/tests/language_2/variable/ref_before_declaration_runtime_test.dart
+++ b/tests/language_2/variable/ref_before_declaration_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/language_2/variable/ref_before_declaration_test.dart b/tests/language_2/variable/ref_before_declaration_test.dart
index ee9ebc2..c2dcdee 100644
--- a/tests/language_2/variable/ref_before_declaration_test.dart
+++ b/tests/language_2/variable/ref_before_declaration_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.9
+
 // Test compile-time errors for illegal variable declarations if the name
 // has been referenced before the variable is declared.
 
diff --git a/tests/language_2/variable/scope_variable_runtime_test.dart b/tests/language_2/variable/scope_variable_runtime_test.dart
index 75a5c31..d30a2d3 100644
--- a/tests/language_2/variable/scope_variable_runtime_test.dart
+++ b/tests/language_2/variable/scope_variable_runtime_test.dart
@@ -1,6 +1,8 @@
 // TODO(multitest): This was automatically migrated from a multitest and may
 // contain strange or dead code.
 
+// @dart = 2.9
+
 // Copyright (c) 2011, 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.
diff --git a/tests/language_2/variable/scope_variable_test.dart b/tests/language_2/variable/scope_variable_test.dart
index 14576a6..28ff28c 100644
--- a/tests/language_2/variable/scope_variable_test.dart
+++ b/tests/language_2/variable/scope_variable_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.9
+
 import "package:expect/expect.dart";
 
 void testSimpleScope() {
diff --git a/tests/language_2/variable/scoped_variables_try_catch_test.dart b/tests/language_2/variable/scoped_variables_try_catch_test.dart
index e18bec1..9726429 100644
--- a/tests/language_2/variable/scoped_variables_try_catch_test.dart
+++ b/tests/language_2/variable/scoped_variables_try_catch_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.9
+
 import "package:expect/expect.dart";
 
 // Test that try/catch does not shadow a variable at runtime.
diff --git a/tests/language_2/variable/variable_declaration_metadata_test.dart b/tests/language_2/variable/variable_declaration_metadata_test.dart
index 9802cda..f4c34fb 100644
--- a/tests/language_2/variable/variable_declaration_metadata_test.dart
+++ b/tests/language_2/variable/variable_declaration_metadata_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.9
+
 // Verify that the individual variable declarations inside a variable
 // declaration list are not allowed to be annotated with metadata.
 
diff --git a/tests/language_2/variable/variable_named_dart_test.dart b/tests/language_2/variable/variable_named_dart_test.dart
index 233b60f..d88fb9c 100644
--- a/tests/language_2/variable/variable_named_dart_test.dart
+++ b/tests/language_2/variable/variable_named_dart_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.9
+
 import 'package:expect/expect.dart';
 
 main() {
diff --git a/tests/language_2/variance/syntax/variance_disabled_keyword_identifier_syntax_test.dart b/tests/language_2/variance/syntax/variance_disabled_keyword_identifier_syntax_test.dart
deleted file mode 100644
index 0d6828c..0000000
--- a/tests/language_2/variance/syntax/variance_disabled_keyword_identifier_syntax_test.dart
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests identifier usage of keywords `out` and `inout`, correct usage of `in`.
-
-import "package:expect/expect.dart";
-
-class A<out> {}
-
-class B<inout> {}
-
-class C<out, inout> {}
-
-F<inout, out>() {}
-
-mixin G<out, inout> {}
-
-typedef H<inout, out> = out Function(inout);
-
-class OutParameter {
-  var out = 3;
-  int func(int out) {
-    return out;
-  }
-}
-
-class inout {
-  void out(int x) {}
-}
-
-var out = 5;
-
-main() {
-  OutParameter x = new OutParameter();
-  Expect.equals(2, x.func(2));
-  Expect.equals(3, x.out);
-
-  inout foo = inout();
-  foo.out(4);
-
-  Expect.equals(5, out);
-
-  var collection = [0, 1, 2];
-  for (var x in collection) {
-    Expect.isTrue(x is int);
-  }
-}
diff --git a/tests/language_2/variance/syntax/variance_disabled_syntax_test.dart b/tests/language_2/variance/syntax/variance_disabled_syntax_test.dart
deleted file mode 100644
index 2811208..0000000
--- a/tests/language_2/variance/syntax/variance_disabled_syntax_test.dart
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests with `variance` flag disabled
-// Correct variance modifier usage will issue an error.
-
-import 'package:expect/expect.dart';
-
-abstract class A<in X> {
-//               ^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-  int foo(X bar);
-}
-
-class B<out X, in Y, inout Z> {}
-//      ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-//             ^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-//                   ^^^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-class C<in T> extends A<T> {
-//      ^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-  @override
-  int foo(T bar) {
-    return 2;
-  }
-}
-
-mixin D<out T> {}
-//      ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-class E1 {}
-
-mixin E<in T extends E1> {}
-//      ^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-class F<out T> = Object with D<T>;
-//      ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-class G<out out> {}
-//      ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-class H<out inout> {}
-//      ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPERIMENT_NOT_ENABLED
-// [cfe] This requires the 'variance' language feature to be enabled.
-
-main() {
-  B<int, String, bool> b = B();
-
-  C<int> c = C();
-  Expect.equals(2, c.foo(3));
-
-  F<int> f = F();
-
-  G<int> g = G();
-
-  H<int> h = H();
-}
diff --git a/tests/language_2/variance/syntax/variance_keyword_identifier_syntax_test.dart b/tests/language_2/variance/syntax/variance_keyword_identifier_syntax_test.dart
deleted file mode 100644
index a0bf3d7..0000000
--- a/tests/language_2/variance/syntax/variance_keyword_identifier_syntax_test.dart
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests identifier usage of keywords `out` and `inout`, correct usage of `in`
-// with the experimental flag `variance` enabled.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-class A<out> {}
-
-class B<inout> {}
-
-class C<out, inout> {}
-
-F<inout, out>() {}
-
-mixin G<out, inout> {}
-
-typedef H<inout, out> = out Function(inout);
-
-class OutParameter {
-  var out = 3;
-  int func(int out) {
-    return out;
-  }
-}
-
-class inout {
-  void out(int x) {}
-}
-
-var out = 5;
-
-main() {
-  OutParameter x = new OutParameter();
-  Expect.equals(2, x.func(2));
-  Expect.equals(3, x.out);
-
-  inout foo = inout();
-  foo.out(4);
-
-  Expect.equals(5, out);
-
-  var collection = [0, 1, 2];
-  for (var x in collection) {
-    Expect.isTrue(x is int);
-  }
-}
diff --git a/tests/language_2/variance/syntax/variance_syntax_test.dart b/tests/language_2/variance/syntax/variance_syntax_test.dart
deleted file mode 100644
index 9a40965..0000000
--- a/tests/language_2/variance/syntax/variance_syntax_test.dart
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// SharedOptions=--enable-experiment=variance
-
-import 'package:expect/expect.dart';
-
-abstract class A<in X> {
-  int foo(X bar);
-}
-
-class B<out X, in Y, inout Z> {}
-
-class C<in T> extends A<T> {
-  @override
-  int foo(T bar) {
-    return 2;
-  }
-}
-
-mixin D<out T> {}
-
-class E1 {}
-
-mixin E<in T extends E1> {}
-
-class F<out T> = Object with D<T>;
-
-class G<out out> {}
-
-class H<out inout> {}
-
-main() {
-  B<int, String, bool> b = B();
-
-  C<int> c = C();
-  Expect.equals(2, c.foo(3));
-
-  F<int> f = F();
-
-  G<int> g = G();
-
-  H<int> h = H();
-}
diff --git a/tests/language_2/variance/syntax/variance_type_parameter_error_syntax_test.dart b/tests/language_2/variance/syntax/variance_type_parameter_error_syntax_test.dart
deleted file mode 100644
index e3e51d3..0000000
--- a/tests/language_2/variance/syntax/variance_type_parameter_error_syntax_test.dart
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous usages of variance in unapplicable type parameters.
-
-// SharedOptions=--enable-experiment=variance
-
-void A(out int foo) {
-//     ^^^
-// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
-// [cfe] 'out' isn't a type.
-//     ^
-// [cfe] Type 'out' not found.
-//             ^^^
-// [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-// [cfe] Expected ')' before this.
-  List<out String> bar;
-  //  ^
-  // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
-  // [cfe] The operator '<' isn't defined for the class 'Type'.
-  //   ^^^
-  // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
-  // [cfe] Expected ';' after this.
-  //   ^^^
-  // [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-  // [cfe] Getter not found: 'out'.
-  //             ^
-  // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
-  // [cfe] The operator '>' isn't defined for the class 'Type'.
-  //               ^^^
-  // [analyzer] COMPILE_TIME_ERROR.UNDEFINED_IDENTIFIER
-  // [cfe] Getter not found: 'bar'.
-}
-
-void B(out foo) {}
-//     ^^^
-// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_CLASS
-// [cfe] 'out' isn't a type.
-//     ^
-// [cfe] Type 'out' not found.
-
-class C<in out X, out out Y> {}
-//         ^^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-//                    ^^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-
-class D<in out inout in out X> {}
-//         ^^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-//             ^^^^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-//                   ^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-//                      ^^^
-// [analyzer] SYNTACTIC_ERROR.MULTIPLE_VARIANCE_MODIFIERS
-// [cfe] Each type parameter can have at most one variance modifier.
-
-typedef E<out T> = T Function(T a);
-//            ^
-// [analyzer] SYNTACTIC_ERROR.EXPECTED_TOKEN
-// [cfe] Expected ',' before this.
diff --git a/tests/language_2/variance/variance_downwards_inference_test.dart b/tests/language_2/variance/variance_downwards_inference_test.dart
deleted file mode 100644
index b6cd329..0000000
--- a/tests/language_2/variance/variance_downwards_inference_test.dart
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests downwards inference for explicit variance modifiers.
-
-// SharedOptions=--enable-experiment=variance
-
-class A<out T> {
-  final T _x;
-  A(T x):_x = x;
-  T get x => _x;
-  void set x(Object value) {}
-}
-
-class B<in T> {
-  B(List<T> x);
-  void set x(T val) {}
-}
-
-class C<out T, S> {
-  final T _x;
-  C(T x, S y):_x = x;
-  T get x => _x;
-  void set x(Object value) {}
-  void set y(S _value) {}
-}
-
-class D<in T> {
-  D(T x, void Function(T) y) {}
-  void set x(T val) {}
-}
-
-main() {
-  // int <: T <: Object
-  // Choose int
-  A<Object> a = new A(3)..x+=1;
-
-  // int <: T
-  // num <: T
-  // Choose num
-  B<int> b = new B(<num>[])..x=2.2;
-
-  // int <: T <: Object
-  // Choose int
-  // int <: S <: Object
-  // Choose Object
-  C<Object, Object> c = new C(3, 3)..x+=1..y="hello";
-
-  // int <: T <: num
-  // Choose num due to contravariant heuristic.
-  D<int> d = new D(3, (num x) {})..x=2.2;
-}
diff --git a/tests/language_2/variance/variance_in_field_error_test.dart b/tests/language_2/variance/variance_in_field_error_test.dart
deleted file mode 100644
index 6419bf6..0000000
--- a/tests/language_2/variance/variance_in_field_error_test.dart
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous field usage for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class A<in T> {
-  final T a = null;
-  //      ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  final T Function() b = () => null;
-  //                 ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  T get c => null;
-//^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-//        ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  T d;
-//  ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  covariant T e;
-  //          ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-}
-
-mixin BMixin<in T> {
-  final T a = null;
-  //      ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  final T Function() b = () => null;
-  //                 ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  T get c => null;
-//^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-//        ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  T d;
-//  ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  covariant T e;
-  //          ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-}
-
-abstract class C<in T> {
-  T get a;
-//^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-//       ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-}
-
-class D<in T> extends C<T> {
-  var a;
-  //  ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-}
diff --git a/tests/language_2/variance/variance_in_field_test.dart b/tests/language_2/variance/variance_in_field_test.dart
deleted file mode 100644
index 2b60fbb..0000000
--- a/tests/language_2/variance/variance_in_field_test.dart
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests various fields for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Int2Void = void Function(int);
-
-class A<in T> {
-  void set a(T value) => value;
-  final void Function(T) b = (T val) {
-    Expect.equals(2, val);
-  };
-  A<T> get c => this;
-}
-
-mixin BMixin<in T> {
-  void set a(T value) => value;
-  final void Function(T) b = (T val) {
-    Expect.equals(2, val);
-  };
-  BMixin<T> get c => this;
-}
-
-class B with BMixin<int> {}
-
-void testClass() {
-  A<int> a = new A();
-
-  a.a = 2;
-
-  Expect.type<Int2Void>(a.b);
-  a.b(2);
-
-  a.c.a = 2;
-}
-
-void testMixin() {
-  B b = new B();
-
-  b.a = 2;
-
-  Expect.type<Int2Void>(b.b);
-  b.b(2);
-
-  b.c.a = 2;
-}
-
-main() {
-  testClass();
-  testMixin();
-}
diff --git a/tests/language_2/variance/variance_in_inference_error_test.dart b/tests/language_2/variance/variance_in_inference_error_test.dart
deleted file mode 100644
index f7ab3d4..0000000
--- a/tests/language_2/variance/variance_in_inference_error_test.dart
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference errors for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class ContraBound<in T> {
-  ContraBound(T x, void Function(T) y) {}
-}
-
-Exactly<T> inferCovContra<T>(Covariant<T> x, Contravariant<T> y) => new Exactly<T>();
-Exactly<T> inferContraContra<T>(Contravariant<T> x, Contravariant<T> y) => new Exactly<T>();
-Exactly<T> inferContraBound<T>(ContraBound<T> x) => new Exactly<T>();
-
-main() {
-  Exactly<Upper> upper;
-  Exactly<Lower> lower;
-
-  // T <: Upper and T <: Middle.
-  // We choose Middle.
-  var inferredMiddle = inferContraContra(Contravariant<Upper>(), Contravariant<Middle>());
-  upper = inferredMiddle;
-  //      ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Middle>' can't be assigned to a variable of type 'Exactly<Upper>'.
-
-  // T <: Upper and T <: Lower.
-  // We choose Lower.
-  var inferredLower = inferContraContra(Contravariant<Upper>(), Contravariant<Lower>());
-  upper = inferredLower;
-  //      ^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Lower>' can't be assigned to a variable of type 'Exactly<Upper>'.
-
-  // int <: T <: String is not a valid constraint.
-  inferCovContra(Covariant<int>(), Contravariant<String>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-//                                 ^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-// [cfe] The argument type 'Contravariant<String>' can't be assigned to the parameter type 'Contravariant<int>'.
-
-  // String <: T <: int is not a valid constraint.
-  inferCovContra(Covariant<String>(), Contravariant<int>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-//                                    ^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-// [cfe] The argument type 'Contravariant<int>' can't be assigned to the parameter type 'Contravariant<String>'.
-
-  // Middle <: T <: Lower is not a valid constraint
-  inferCovContra(Covariant<Middle>(), Contravariant<Lower>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-//                                    ^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.INVALID_CAST_NEW_EXPR
-// [cfe] The constructor returns type 'Contravariant<Lower>' that isn't of expected type 'Contravariant<Middle>'.
-
-  // Upper <: T <: Lower is not a valid constraint
-  inferCovContra(Covariant<Upper>(), Contravariant<Lower>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-//                                   ^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.INVALID_CAST_NEW_EXPR
-// [cfe] The constructor returns type 'Contravariant<Lower>' that isn't of expected type 'Contravariant<Upper>'.
-
-  // Upper <: T <: Middle is not a valid constraint
-  inferCovContra(Covariant<Upper>(), Contravariant<Middle>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-//                                   ^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.INVALID_CAST_NEW_EXPR
-// [cfe] The constructor returns type 'Contravariant<Middle>' that isn't of expected type 'Contravariant<Upper>'.
-
-  // Inference for Contrabound(...) produces Lower <: T <: Upper.
-  // Since T is contravariant, we choose Upper as the solution.
-  var inferredContraUpper = inferContraBound(ContraBound(Lower(), (Upper x) {}));
-  lower = inferredContraUpper;
-  //      ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Upper>' can't be assigned to a variable of type 'Exactly<Lower>'.
-
-  // Inference for Contrabound(...) produces Lower <: T <: Middle.
-  // Since T is contravariant, we choose Middle as the solution.
-  var inferredContraMiddle = inferContraBound(ContraBound(Lower(), (Middle x) {}));
-  lower = inferredContraMiddle;
-  //      ^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Middle>' can't be assigned to a variable of type 'Exactly<Lower>'.
-}
diff --git a/tests/language_2/variance/variance_in_inference_test.dart b/tests/language_2/variance/variance_in_inference_test.dart
deleted file mode 100644
index 03277fb..0000000
--- a/tests/language_2/variance/variance_in_inference_test.dart
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class ContraBound<in T> {
-  ContraBound(T x, void Function(T) y) {}
-}
-
-Exactly<T> inferCovContra<T>(Covariant<T> x, Contravariant<T> y) => new Exactly<T>();
-Exactly<T> inferContraContra<T>(Contravariant<T> x, Contravariant<T> y) => new Exactly<T>();
-Exactly<T> inferContraBound<T>(ContraBound<T> x) => new Exactly<T>();
-
-main() {
-  Exactly<Upper> upper;
-  Exactly<Middle> middle;
-  Exactly<Lower> lower;
-
-  // Lower <: T
-  // T <: Lower
-  // Choose Lower for Lower <: T <: Lower
-  var inferredLower = inferCovContra(Covariant<Lower>(), Contravariant<Lower>());
-  lower = inferredLower;
-
-  // Lower <: T
-  // T <: Middle
-  // Choose Lower for Lower <: T <: Middle
-  var inferredLower2 = inferCovContra(Covariant<Lower>(), Contravariant<Middle>());
-  lower = inferredLower2;
-
-  // Lower <: T
-  // T <: Upper
-  // Choose Lower for Lower <: T <: Upper
-  var inferredLower3 = inferCovContra(Covariant<Lower>(), Contravariant<Upper>());
-  lower = inferredLower3;
-
-  // T <: Upper
-  // T <: Middle
-  // Choose Middle since it is the greatest lower bound of Upper and Middle.
-  var inferredMiddle = inferContraContra(Contravariant<Upper>(), Contravariant<Middle>());
-  middle = inferredMiddle;
-
-  // T <: Upper
-  // T <: Lower
-  // Choose Lower since it is the greatest lower bound of Upper and Lower.
-  var inferredLower4 = inferContraContra(Contravariant<Lower>(), Contravariant<Upper>());
-  lower = inferredLower4;
-
-  // T <: Middle
-  // T <: Lower
-  // Choose Lower since it is the greatest lower bound of Middle and Lower.
-  var inferredLower5 = inferContraContra(Contravariant<Lower>(), Contravariant<Middle>());
-  lower = inferredLower5;
-
-  // Lower <: T <: Upper
-  // Choose Upper.
-  var inferredContraUpper = inferContraBound(ContraBound(Lower(), (Upper x) {}));
-  upper = inferredContraUpper;
-
-  // Lower <: T <: Middle
-  // Choose Middle.
-  var inferredContraMiddle = inferContraBound(ContraBound(Lower(), (Middle x) {}));
-  middle = inferredContraMiddle;
-}
diff --git a/tests/language_2/variance/variance_in_method_error_test.dart b/tests/language_2/variance/variance_in_method_error_test.dart
deleted file mode 100644
index e7e26c4..0000000
--- a/tests/language_2/variance/variance_in_method_error_test.dart
+++ /dev/null
@@ -1,351 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous method signatures and return types for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef Inv<T> = void Function<X extends T>();
-typedef Cov<T> = T Function();
-typedef Contra<T> = void Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-class A<in T> {
-  // TODO (kallentu): Come NNBD, change `T` to `T?`
-  T method1() => null;
-//^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method2(Contra<T> x) {}
-  //           ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                     ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Cov<T> method3() {
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-    return () => null;
-  }
-
-  void method4(Contra<Cov<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method5(Cov<Contra<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Contra<Contra<T>> method6() => (Contra<T> x) {};
-//^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  Cov<Cov<T>> method7() {
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                 ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-    return () {
-      return () => null;
-    };
-  }
-
-  Inv<T> method8() => null;
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position in the return type.
-
-  void method9(Inv<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  Covariant<T> method10() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method11(Contravariant<T> x) {}
-  //            ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                             ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Invariant<T> method12() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position in the return type.
-
-  void method13(Invariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method14(Contravariant<Covariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                        ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method15(Covariant<Contravariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                        ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Contravariant<Contravariant<T>> method16() => Contravariant<Contravariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                      ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  Covariant<Covariant<T>> method17() => Covariant<Covariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method18<X extends T>() {}
-  //            ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method19<X extends Cov<T>>() {}
-  //            ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method20<X extends Covariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method21({Contra<T> x}) {}
-  //             ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method22({Contravariant<T> x}) {}
-  //             ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method23({Covariant<T> x, Contravariant<T> y}) {}
-  //                             ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method24<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method25<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-}
-
-mixin BMixin<in T> {
-  // TODO (kallentu): Come NNBD, change `T` to `T?`
-  T method1() => null;
-//^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method2(Contra<T> x) {}
-  //           ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                     ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Cov<T> method3() {
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-    return () => null;
-  }
-
-  void method4(Contra<Cov<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method5(Cov<Contra<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Contra<Contra<T>> method6() => (Contra<T> x) {};
-//^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  Cov<Cov<T>> method7() {
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                 ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-    return () {
-      return () => null;
-    };
-  }
-
-  Inv<T> method8() => null;
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position in the return type.
-
-  void method9(Inv<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  Covariant<T> method10() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method11(Contravariant<T> x) {}
-  //            ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                             ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Invariant<T> method12() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position in the return type.
-
-  void method13(Invariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method14(Contravariant<Covariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                        ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method15(Covariant<Contravariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                        ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  Contravariant<Contravariant<T>> method16() => Contravariant<Contravariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                      ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  Covariant<Covariant<T>> method17() => Covariant<Covariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-
-  void method18<X extends T>() {}
-  //            ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method19<X extends Cov<T>>() {}
-  //            ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method20<X extends Covariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method21({Contra<T> x}) {}
-  //             ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method22({Contravariant<T> x}) {}
-  //             ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method23({Covariant<T> x, Contravariant<T> y}) {}
-  //                             ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                              ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-
-  void method24<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-
-  void method25<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'in' type variable 'T' in an 'inout' position.
-}
-
-class B<in T> {
-  void method1(A<T> x) {}
-  //           ^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-  Contra<A<T>> method2() {
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position in the return type.
-    return null;
-  }
-}
-
-class C<T> {
-  void method(T x) {}
-}
-
-class D<in T> extends C<void Function(T)> {
-  @override
-  void method(void Function(T) x) {}
-  //          ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                           ^
-  // [cfe] Can't use 'in' type variable 'T' in an 'out' position.
-}
diff --git a/tests/language_2/variance/variance_in_method_test.dart b/tests/language_2/variance/variance_in_method_test.dart
deleted file mode 100644
index c06264b..0000000
--- a/tests/language_2/variance/variance_in_method_test.dart
+++ /dev/null
@@ -1,246 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests method signatures and return types for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Cov<T> = T Function();
-typedef Contra<T> = void Function(T);
-
-Cov<int> covFunction = () => 2;
-Contra<int> contraFunction = (int val) {};
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class A<in T> {
-  void method1(T x) {}
-  void method2(Cov<T> x) {}
-  Contra<T> method3() {
-    return (T val) {
-      Expect.equals(2, val);
-    };
-  }
-
-  void method4(Cov<Cov<T>> x) {}
-  Contra<Cov<T>> method5() {
-    return (Cov<T> method) {
-      Expect.type<Cov<T>>(method);
-    };
-  }
-  Cov<Contra<T>> method6() {
-    return () {
-      return (T x) {
-        Expect.equals(2, x);
-      };
-    };
-  }
-  void method7(Contra<Contra<T>> x) {}
-
-  void method8(Covariant<T> x) {}
-  Contravariant<T> method9() => null;
-  void method10(Covariant<Covariant<T>> x) {}
-  Contravariant<Covariant<T>> method11() => null;
-  void method12(Contravariant<Contravariant<T>> x) {}
-  Covariant<Contravariant<T>> method13() => null;
-
-  void method14(covariant T x) {}
-  void method15(covariant Contra<T> x) {}
-  void method16(covariant Cov<T> x) {}
-  void method17(covariant Contravariant<T> x) {}
-  void method18(covariant Covariant<T> x) {}
-
-  void method19({T x}) {}
-  void method20({Covariant<T> x}) {}
-  void method21({Cov<T> x}) {}
-}
-
-mixin BMixin<in T> {
-  void method1(T x) {}
-  void method2(Cov<T> x) {}
-  Contra<T> method3() {
-    return (T val) {
-      Expect.equals(2, val);
-    };
-  }
-
-  void method4(Cov<Cov<T>> x) {}
-  Contra<Cov<T>> method5() {
-    return (Cov<T> method) {
-      Expect.type<Cov<T>>(method);
-    };
-  }
-  Cov<Contra<T>> method6() {
-    return () {
-      return (T x) {
-        Expect.equals(2, x);
-      };
-    };
-  }
-  void method7(Contra<Contra<T>> x) {}
-
-  void method8(Covariant<T> x) {}
-  Contravariant<T> method9() => null;
-  void method10(Covariant<Covariant<T>> x) {}
-  Contravariant<Covariant<T>> method11() => null;
-  void method12(Contravariant<Contravariant<T>> x) {}
-  Covariant<Contravariant<T>> method13() => null;
-
-  void method14(covariant T x) {}
-  void method15(covariant Contra<T> x) {}
-  void method16(covariant Cov<T> x) {}
-  void method17(covariant Contravariant<T> x) {}
-  void method18(covariant Covariant<T> x) {}
-
-  void method19({T x}) {}
-  void method20({Covariant<T> x}) {}
-  void method21({Cov<T> x}) {}
-}
-
-class B with BMixin<int> {}
-
-class C<in T> {
-  void method1(Contra<A<T>> x) {}
-  A<T> method2() {
-    return A<T>();
-  }
-}
-
-class D<T> {
-  T x;
-  T method() => null;
-  void method2(T x) {}
-  void method3(covariant T x) {}
-}
-
-class E<in T> extends D<void Function(T)> {
-  @override
-  void Function(T) method() => (T x) {};
-
-  @override
-  void method3(covariant void Function(T) x) {}
-}
-
-void testClass() {
-  A<int> a = new A();
-
-  a.method1(2);
-
-  a.method2(covFunction);
-
-  Expect.type<Contra<int>>(a.method3());
-  Contra<int> method3Function = a.method3();
-  method3Function(2);
-
-  a.method4(() {
-    return covFunction;
-  });
-
-  Expect.type<Contra<Cov<int>>>(a.method5());
-  Contra<Cov<int>> method5Function = a.method5();
-  method5Function(covFunction);
-
-  Expect.type<Cov<Contra<int>>>(a.method6());
-  Cov<Contra<int>> method6Function = a.method6();
-  Expect.type<Contra<int>>(method6Function());
-  Contra<int> method6NestedFunction = method6Function();
-  method6NestedFunction(2);
-
-  a.method7((Contra<int> x) {});
-
-  a.method8(Covariant<int>());
-  Expect.isNull(a.method9());
-  a.method10(Covariant<Covariant<int>>());
-  Expect.isNull(a.method11());
-  a.method12(Contravariant<Contravariant<int>>());
-  Expect.isNull(a.method13());
-
-  a.method14(3);
-  a.method15(contraFunction);
-  a.method16(covFunction);
-  a.method17(Contravariant<int>());
-  a.method18(Covariant<int>());
-
-  a.method19();
-  a.method20();
-  a.method21();
-}
-
-void testMixin() {
-  B b = new B();
-
-  b.method1(2);
-
-  b.method2(covFunction);
-
-  Expect.type<Contra<int>>(b.method3());
-  Contra<int> method3Return = b.method3();
-  method3Return(2);
-
-  b.method4(() {
-    return covFunction;
-  });
-
-  Expect.type<Contra<Cov<int>>>(b.method5());
-  Contra<Cov<int>> method5Return = b.method5();
-  method5Return(covFunction);
-
-  Expect.type<Cov<Contra<int>>>(b.method6());
-  Cov<Contra<int>> method6Function = b.method6();
-  Expect.type<Contra<int>>(method6Function());
-  Contra<int> method6NestedFunction = method6Function();
-  method6NestedFunction(2);
-
-  b.method7((Contra<int> x) {});
-
-  b.method8(Covariant<int>());
-  Expect.isNull(b.method9());
-  b.method10(Covariant<Covariant<int>>());
-  Expect.isNull(b.method11());
-  b.method12(Contravariant<Contravariant<int>>());
-  Expect.isNull(b.method13());
-
-  b.method14(3);
-  b.method15(contraFunction);
-  b.method16(covFunction);
-  b.method17(Contravariant<int>());
-  b.method18(Covariant<int>());
-
-  b.method19();
-  b.method20();
-  b.method21();
-}
-
-void testClassInMethods() {
-  C<int> c = new C();
-
-  c.method1((A<int> x) {});
-
-  Expect.type<A<int>>(c.method2());
-}
-
-void testOverrideLegacyMethods() {
-  E<int> e = new E();
-  Expect.isTrue(e.method() is Function);
-  e.method2(contraFunction);
-  e.method3(contraFunction);
-  e.x = contraFunction;
-
-  D<Object> d = e;
-  Expect.throws(() => d.x = "test");
-
-  e = new E<Object>();
-  Expect.throws(() => e.method2(contraFunction));
-  Expect.throws(() => e.method3(contraFunction));
-}
-
-main() {
-  testClass();
-  testMixin();
-  testClassInMethods();
-  testOverrideLegacyMethods();
-}
diff --git a/tests/language_2/variance/variance_in_subclass_error_test.dart b/tests/language_2/variance/variance_in_subclass_error_test.dart
deleted file mode 100644
index 123b3e5..0000000
--- a/tests/language_2/variance/variance_in_subclass_error_test.dart
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous subclass usage for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-typedef InvFunction<T> = T Function(T);
-
-class LegacyCovariant<T> {}
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-mixin MLegacyCovariant<T> {}
-mixin MCovariant<out T> {}
-mixin MContravariant<in T> {}
-mixin MInvariant<inout T> {}
-
-class A<in T> extends LegacyCovariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'LegacyCovariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class B<in T> implements LegacyCovariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'LegacyCovariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class C<in T> with MLegacyCovariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MLegacyCovariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class D<in T> extends Covariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class E<in T> implements Covariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class F<in T> with MCovariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MCovariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class G<in T> extends Invariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class H<in T> implements Invariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class I<in T> with MInvariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'MInvariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class J<in T> extends Covariant<Covariant<T>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class K<in T> extends Contravariant<Contravariant<T>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Contravariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class L<in T> extends Covariant<CovFunction<T>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class M<in T> extends Covariant<ContraFunction<ContraFunction<T>>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class N<in T> extends Contravariant<CovFunction<Contravariant<T>>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Contravariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class O<in T> extends Covariant<CovFunction<Covariant<T>>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class P<in T> extends Covariant<Covariant<Covariant<T>>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class Q<in T> extends Invariant<InvFunction<T>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class R<in T> = Covariant<T> with MContravariant<T>;
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class S<in T> = Contravariant<T> with MCovariant<T>;
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MCovariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class T<in X> = Invariant<X> with MInvariant<X>;
-//    ^
-// [cfe] Can't use 'in' type variable 'X' in an 'inout' position in supertype 'Invariant'.
-//    ^
-// [cfe] Can't use 'in' type variable 'X' in an 'inout' position in supertype 'MInvariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
diff --git a/tests/language_2/variance/variance_in_subclass_test.dart b/tests/language_2/variance/variance_in_subclass_test.dart
deleted file mode 100644
index f7a314a..0000000
--- a/tests/language_2/variance/variance_in_subclass_test.dart
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subclass usage for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-mixin MContravariant<in T> {}
-
-class A<in T> extends Contravariant<T> {}
-class B<in T> implements Contravariant<T> {}
-class C<in T> with MContravariant<T> {}
-
-class D<in T> extends Covariant<Contravariant<T>> {}
-class E<in T> extends Contravariant<Covariant<T>> {}
-
-class F<in T> extends Covariant<ContraFunction<T>> {}
-class G<in T> extends Covariant<ContraFunction<CovFunction<T>>> {}
-class H<in T> extends Covariant<CovFunction<ContraFunction<T>>> {}
-
-class I<in T> extends Covariant<ContraFunction<Covariant<T>>> {}
-
-class J<in T> extends Contravariant<Contravariant<Contravariant<T>>> {}
-
-class K<in T> = Contravariant<T> with MContravariant<T>;
-class L<in T> = Covariant<Contravariant<T>> with MContravariant<T>;
-class M<in T> = Contravariant<T> with MContravariant<Covariant<T>>;
-
-main() {
-  A<num> a = A();
-  B<num> b = B();
-  C<num> c = C();
-  D<num> d = D();
-  E<num> e = E();
-  F<num> f = F();
-  G<num> g = G();
-  H<num> h = H();
-  I<num> i = I();
-  J<num> j = J();
-  K<num> k = K();
-  L<num> l = L();
-  M<num> m = M();
-}
diff --git a/tests/language_2/variance/variance_in_subtyping_error_test.dart b/tests/language_2/variance/variance_in_subtyping_error_test.dart
deleted file mode 100644
index 4271fd0..0000000
--- a/tests/language_2/variance/variance_in_subtyping_error_test.dart
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous subtyping for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Contravariant<in T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class A {
-  Contravariant<Middle> method1() {
-    return new Contravariant<Middle>();
-  }
-
-  void method2(Contravariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Contravariant<Lower> method1() {
-  //                   ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  // [cfe] The return type of the method 'B.method1' is 'Contravariant<Lower>', which does not match the return type, 'Contravariant<Middle>', of the overridden method, 'A.method1'.
-    return new Contravariant<Lower>();
-  }
-
-  @override
-  void method2(Contravariant<Upper> x) {}
-  //   ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  //                                ^
-  // [cfe] The parameter 'x' of the method 'B.method2' has type 'Contravariant<Upper>', which does not match the corresponding type, 'Contravariant<Middle>', in the overridden method, 'A.method2'.
-}
-
-class C<out T extends Contravariant<Middle>> {}
-
-class D {
-  C<Contravariant<Lower>> method1() {
-  //^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                             ^
-  // [cfe] Type argument 'Contravariant<Lower>' doesn't conform to the bound 'Contravariant<Middle>' of the type variable 'T' on 'C' in the return type.
-    return C<Contravariant<Lower>>();
-    //     ^
-    // [cfe] Type argument 'Contravariant<Lower>' doesn't conform to the bound 'Contravariant<Middle>' of the type variable 'T' on 'C'.
-    //       ^^^^^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  }
-}
-
-void testCall(Iterable<Contravariant<Middle>> x) {}
-
-main() {
-  C<Contravariant<Lower>> c = new C<Contravariant<Lower>>();
-  //^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                      ^
-  // [cfe] Type argument 'Contravariant<Lower>' doesn't conform to the bound 'Contravariant<Middle>' of the type variable 'T' on 'C'.
-  //                              ^
-  // [cfe] Type argument 'Contravariant<Lower>' doesn't conform to the bound 'Contravariant<Middle>' of the type variable 'T' on 'C'.
-  //                                ^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-
-  Iterable<Contravariant<Middle>> iterableMiddle = [new Contravariant<Middle>()];
-  List<Contravariant<Lower>> listLower = [new Contravariant<Lower>()];
-  iterableMiddle = listLower;
-  //               ^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'List<Contravariant<Lower>>' can't be assigned to a variable of type 'Iterable<Contravariant<Middle>>'.
-
-  testCall(listLower);
-  //       ^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'List<Contravariant<Lower>>' can't be assigned to the parameter type 'Iterable<Contravariant<Middle>>'.
-}
diff --git a/tests/language_2/variance/variance_in_subtyping_test.dart b/tests/language_2/variance/variance_in_subtyping_test.dart
deleted file mode 100644
index df89b2b..0000000
--- a/tests/language_2/variance/variance_in_subtyping_test.dart
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subtyping for the `in` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-class Contravariant<in T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class A {
-  Contravariant<Middle> method1() {
-    return Contravariant<Middle>();
-  }
-
-  void method2(Contravariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Contravariant<Upper> method1() {
-    return new Contravariant<Upper>();
-  }
-
-  @override
-  void method2(Contravariant<Lower> x) {}
-}
-
-class C extends A {
-  @override
-  Contravariant<Middle> method1() {
-    return new Contravariant<Middle>();
-  }
-
-  @override
-  void method2(Contravariant<Middle> x) {}
-}
-
-class D<out T extends Contravariant<Middle>> {}
-
-class E {
-  D<Contravariant<Upper>> method1() {
-    return D<Contravariant<Upper>>();
-  }
-}
-
-class F {
-  D<Contravariant<Middle>> method1() {
-    return D<Contravariant<Middle>>();
-  }
-}
-
-void testCall(Iterable<Contravariant<Lower>> x) {}
-
-main() {
-  A a = new A();
-  Expect.type<Contravariant<Middle>>(a.method1());
-  Expect.type<Contravariant<Lower>>(a.method1());
-  Expect.notType<Contravariant<Upper>>(a.method1());
-  a.method2(new Contravariant<Middle>());
-  a.method2(new Contravariant<Upper>());
-
-  B b = new B();
-  Expect.type<Contravariant<Upper>>(b.method1());
-  Expect.type<Contravariant<Middle>>(b.method1());
-  Expect.type<Contravariant<Lower>>(b.method1());
-  b.method2(new Contravariant<Lower>());
-  b.method2(new Contravariant<Middle>());
-
-  C c = new C();
-  Expect.type<Contravariant<Middle>>(c.method1());
-  Expect.type<Contravariant<Lower>>(c.method1());
-  Expect.notType<Contravariant<Upper>>(c.method1());
-  c.method2(new Contravariant<Middle>());
-  c.method2(new Contravariant<Upper>());
-
-  D<Contravariant<Upper>> dUpper = new D<Contravariant<Upper>>();
-  D<Contravariant<Middle>> dMiddle = new D<Contravariant<Middle>>();
-
-  E e = new E();
-  Expect.type<D<Contravariant<Upper>>>(e.method1());
-  Expect.type<D<Contravariant<Middle>>>(e.method1());
-
-  F f = new F();
-  Expect.type<D<Contravariant<Middle>>>(e.method1());
-
-  Iterable<Contravariant<Lower>> iterableLower = [new Contravariant<Lower>()];
-  List<Contravariant<Middle>> listMiddle = [new Contravariant<Middle>()];
-  iterableLower = listMiddle;
-
-  testCall(listMiddle);
-
-  Expect.subtype<Contravariant<Upper>, Contravariant<Middle>>();
-  Expect.subtype<Contravariant<Middle>, Contravariant<Middle>>();
-  Expect.notSubtype<Contravariant<Lower>, Contravariant<Middle>>();
-}
diff --git a/tests/language_2/variance/variance_inout_field_test.dart b/tests/language_2/variance/variance_inout_field_test.dart
deleted file mode 100644
index 49e2349..0000000
--- a/tests/language_2/variance/variance_inout_field_test.dart
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests various fields for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Void2Int = int Function();
-typedef Int2Void = void Function(int);
-
-class A<inout T> {
-  T a;
-  final T b = null;
-  final T Function() c = () => null;
-  final void Function(T) d = (T val) {
-    Expect.equals(2, val);
-  };
-  A<T> get e => this;
-  covariant T f;
-  T get g => null;
-  void set h(T value) => value;
-  void set i(covariant T value) => value;
-}
-
-mixin BMixin<inout T> {
-  T a;
-  final T b = null;
-  final T Function() c = () => null;
-  final void Function(T) d = (T val) {
-    Expect.equals(2, val);
-  };
-  BMixin<T> get e => this;
-  covariant T f;
-  T get g => null;
-  void set h(T value) => value;
-  void set i(covariant T value) => value;
-}
-
-class B with BMixin<int> {}
-
-void testClass() {
-  A<int> a = new A();
-
-  a.a = 2;
-  Expect.equals(2, a.a);
-
-  Expect.isNull(a.b);
-
-  Expect.type<Void2Int>(a.c);
-  Expect.isNull(a.c());
-
-  Expect.type<Int2Void>(a.d);
-  a.d(2);
-
-  a.e.a = 3;
-
-  a.f = 2;
-  Expect.equals(2, a.f);
-
-  Expect.isNull(a.g);
-
-  a.h = 2;
-
-  a.i = 2;
-}
-
-void testMixin() {
-  B b = new B();
-
-  b.a = 2;
-  Expect.equals(2, b.a);
-
-  Expect.isNull(b.b);
-
-  Expect.type<Void2Int>(b.c);
-  Expect.isNull(b.c());
-
-  Expect.type<Int2Void>(b.d);
-  b.d(2);
-
-  b.e.a = 3;
-
-  b.f = 2;
-  Expect.equals(2, b.f);
-
-  Expect.isNull(b.g);
-
-  b.h = 2;
-
-  b.i = 2;
-}
-
-main() {
-  testClass();
-  testMixin();
-}
diff --git a/tests/language_2/variance/variance_inout_inference_error_test.dart b/tests/language_2/variance/variance_inout_inference_error_test.dart
deleted file mode 100644
index 4aab0b7..0000000
--- a/tests/language_2/variance/variance_inout_inference_error_test.dart
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference errors for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-Exactly<T> inferInvInv<T>(Invariant<T> x, Invariant<T> y) => new Exactly<T>();
-Exactly<T> inferInvCov<T>(Invariant<T> x, Covariant<T> y) => new Exactly<T>();
-Exactly<T> inferInvContra<T>(Invariant<T> x, Contravariant<T> y) => new Exactly<T>();
-
-main() {
-  // Middle <: T <: Middle and int <: T <: int are not valid constraints.
-  inferInvInv(Invariant<Middle>(), Invariant<int>());
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-  //          ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'Invariant<Middle>' can't be assigned to the parameter type 'Invariant<Object>'.
-  //                               ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'Invariant<int>' can't be assigned to the parameter type 'Invariant<Object>'.
-
-  // Middle <: T <: Middle and Upper <: T <: Upper are not valid constraints.
-  inferInvInv(Invariant<Middle>(), Invariant<Upper>());
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-  //          ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'Invariant<Middle>' can't be assigned to the parameter type 'Invariant<Upper>'.
-
-  // Middle <: T <: Middle and Lower <: T <: Lower are not valid constraints.
-  inferInvInv(Invariant<Middle>(), Invariant<Lower>());
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-  //                               ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'Invariant<Lower>' can't be assigned to the parameter type 'Invariant<Middle>'.
-
-  // Upper <: T
-  // Middle <: T <: Middle
-  // Upper <: T <: Middle is not a valid constraint.
-  inferInvCov(Invariant<Middle>(), Covariant<Upper>());
-//^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-  //          ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'Invariant<Middle>' can't be assigned to the parameter type 'Invariant<Upper>'.
-
-  // T <: Lower
-  // Middle <: T <: Lower
-  // Middle <: T <: Lower is not a valid constraint
-  inferInvContra(Invariant<Middle>(), Contravariant<Lower>());
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.COULD_NOT_INFER
-  //                                  ^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_CAST_NEW_EXPR
-  // [cfe] The constructor returns type 'Contravariant<Lower>' that isn't of expected type 'Contravariant<Middle>'.
-}
diff --git a/tests/language_2/variance/variance_inout_inference_test.dart b/tests/language_2/variance/variance_inout_inference_test.dart
deleted file mode 100644
index 8a5e3c5..0000000
--- a/tests/language_2/variance/variance_inout_inference_test.dart
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-Exactly<T> inferInvInv<T>(Invariant<T> x, Invariant<T> y) => new Exactly<T>();
-Exactly<T> inferInvCov<T>(Invariant<T> x, Covariant<T> y) => new Exactly<T>();
-Exactly<T> inferInvContra<T>(Invariant<T> x, Contravariant<T> y) => new Exactly<T>();
-
-main() {
-  Exactly<Middle> middle;
-
-  // Middle <: T <: Middle
-  // Choose Middle
-  var inferredMiddle = inferInvInv(Invariant<Middle>(), Invariant<Middle>());
-  middle = inferredMiddle;
-
-  // Lower <: T
-  // Middle <: T <: Middle
-  // Choose Middle since this merges to Middle <: T <: Middle
-  var inferredMiddle2 = inferInvCov(Invariant<Middle>(), Covariant<Lower>());
-  middle = inferredMiddle2;
-
-  // Middle <: T
-  // Middle <: T <: Middle
-  // Choose Middle since this merges to Middle <: T <: Middle
-  var inferredMiddle3 = inferInvCov(Invariant<Middle>(), Covariant<Middle>());
-  middle = inferredMiddle3;
-
-  // T <: Upper
-  // Middle <: T <: Middle
-  // Choose Middle since this merges to Middle <: T <: Middle
-  var inferredMiddle4 = inferInvContra(Invariant<Middle>(), Contravariant<Upper>());
-  middle = inferredMiddle4;
-
-  // T <: Middle
-  // Middle <: T <: Middle
-  // Choose Middle since this merges to Middle <: T <: Middle
-  var inferredMiddle5 = inferInvContra(Invariant<Middle>(), Contravariant<Middle>());
-  middle = inferredMiddle5;
-}
diff --git a/tests/language_2/variance/variance_inout_method_test.dart b/tests/language_2/variance/variance_inout_method_test.dart
deleted file mode 100644
index ae46510..0000000
--- a/tests/language_2/variance/variance_inout_method_test.dart
+++ /dev/null
@@ -1,287 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests method signatures and return types for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Cov<T> = T Function();
-typedef Contra<T> = void Function(T);
-
-Cov<int> covFunction = () => 2;
-Contra<int> contraFunction = (int val) {};
-Cov<num> covFunctionNum = () => 2;
-Contra<num> contraFunctionNum = (num val) {};
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-class A<inout T> {
-  void method1(T x) {}
-  void method2(Cov<T> x) {}
-  Contra<T> method3() {
-    return (T val) {
-      Expect.equals(2, val);
-    };
-  }
-
-  T method4() => null;
-  void method5(Contra<T> x) {}
-  Cov<T> method6() {
-    return () => null;
-  }
-
-  T method7(T x) => x;
-  Contra<T> method8(Contra<T> x) => x;
-  Cov<T> method9(Cov<T> x) => x;
-
-  T method10<S extends T>(S x) => x;
-
-  void method11(Covariant<T> x) {}
-  Covariant<T> method12() => null;
-  void method13(Contravariant<T> x) {}
-  Contravariant<T> method14() => null;
-  void method15(Invariant<T> x) {}
-  Invariant<T> method16() => null;
-
-  void method17(covariant T x) {}
-  void method18(covariant Contra<T> x) {}
-  void method19(covariant Cov<T> x) {}
-  void method20(covariant Contravariant<T> x) {}
-  void method21(covariant Covariant<T> x) {}
-
-  void method22<S extends Contravariant<T>>() {}
-  void method23<S extends Covariant<T>>() {}
-  void method24<S extends Contra<T>>() {}
-  void method25<S extends Cov<T>>() {}
-
-  void method26({Contra<T> a, Cov<T> b, T c}) {}
-  void method27({Contravariant<T> a, Covariant<T> b}) {}
-}
-
-mixin BMixin<inout T> {
-  void method1(T x) {}
-  void method2(Cov<T> x) {}
-  Contra<T> method3() {
-    return (T val) {
-      Expect.equals(2, val);
-    };
-  }
-
-  T method4() => null;
-  void method5(Contra<T> x) {}
-  Cov<T> method6() {
-    return () => null;
-  }
-
-  T method7(T x) => x;
-  Contra<T> method8(Contra<T> x) => x;
-  Cov<T> method9(Cov<T> x) => x;
-
-  T method10<S extends T>(S x) => x;
-
-  void method11(Covariant<T> x) {}
-  Covariant<T> method12() => null;
-  void method13(Contravariant<T> x) {}
-  Contravariant<T> method14() => null;
-  void method15(Invariant<T> x) {}
-  Invariant<T> method16() => null;
-
-  void method17(covariant T x) {}
-  void method18(covariant Contra<T> x) {}
-  void method19(covariant Cov<T> x) {}
-  void method20(covariant Contravariant<T> x) {}
-  void method21(covariant Covariant<T> x) {}
-
-  void method22<S extends Contravariant<T>>() {}
-  void method23<S extends Covariant<T>>() {}
-  void method24<S extends Contra<T>>() {}
-  void method25<S extends Cov<T>>() {}
-
-  void method26({Contra<T> a, Cov<T> b, T c}) {}
-  void method27({Contravariant<T> a, Covariant<T> b}) {}
-}
-
-class B with BMixin<num> {}
-
-class C<inout T> {
-  void method1(Contra<A<T>> x) {}
-  void method2(Cov<A<T>> x) {}
-  A<T> method3() {
-    return A<T>();
-  }
-}
-
-class D<T> {
-  T method() => null;
-  void method2(T x) {}
-  void method3(covariant T x) {}
-}
-
-class E<inout T> extends D<T> {
-  @override
-  T method() => null;
-
-  @override
-  void method2(T x) {}
-
-  @override
-  void method3(covariant T x) {}
-}
-
-abstract class F<T> {
-  int method(T x);
-}
-
-class G<inout T> {
-  final void Function(T) f;
-  G(this.f);
-  int method(T x) {
-    f(x);
-  }
-}
-
-class H<inout T> extends G<T> implements F<T> {
-  H(void Function(T) f) : super(f);
-}
-
-void testClass() {
-  A<int> a = new A();
-
-  a.method1(2);
-
-  a.method2(() => 2);
-
-  Expect.type<Contra<int>>(a.method3());
-  Contra<int> method3Function = a.method3();
-  method3Function(2);
-
-  Expect.isNull(a.method4());
-
-  a.method5((int val) {});
-
-  Expect.type<Cov<int>>(a.method6());
-  Cov<int> method6Function = a.method6();
-  Expect.isNull(method6Function());
-
-  Expect.equals(3, a.method7(3));
-
-  Expect.type<Contra<int>>(a.method8(contraFunction));
-  Expect.equals(contraFunction, a.method8(contraFunction));
-
-  Expect.type<Cov<int>>(a.method9(covFunction));
-  Expect.equals(covFunction, a.method9(covFunction));
-
-  A<num> aa = new A();
-  Expect.type<num>(aa.method10(3));
-
-  a.method11(Covariant<int>());
-  Expect.isNull(a.method12());
-  a.method13(Contravariant<int>());
-  Expect.isNull(a.method14());
-  a.method15(Invariant<int>());
-  Expect.isNull(a.method16());
-
-  a.method17(3);
-  a.method18(contraFunction);
-  a.method19(covFunction);
-  a.method20(Contravariant<int>());
-  a.method21(Covariant<int>());
-
-  a.method22<Contravariant<int>>();
-  a.method23<Covariant<int>>();
-  a.method24<Contra<int>>();
-  a.method25<Cov<int>>();
-
-  a.method26();
-  a.method27();
-}
-
-void testMixin() {
-  B b = new B();
-
-  b.method1(2);
-
-  b.method2(() => 2);
-
-  Expect.type<Contra<num>>(b.method3());
-  Contra<num> method3Function = b.method3();
-  method3Function(2);
-
-  Expect.isNull(b.method4());
-
-  b.method5((num val) {});
-
-  Expect.type<Cov<num>>(b.method6());
-  Cov<num> method6Function = b.method6();
-  Expect.isNull(method6Function());
-
-  Expect.equals(3, b.method7(3));
-
-  Expect.type<Contra<num>>(b.method8(contraFunctionNum));
-  Expect.equals(contraFunctionNum, b.method8(contraFunctionNum));
-
-  Expect.type<Cov<num>>(b.method9(covFunctionNum));
-  Expect.equals(covFunctionNum, b.method9(covFunctionNum));
-
-  Expect.type<num>(b.method10(3));
-
-  b.method11(Covariant<num>());
-  Expect.isNull(b.method12());
-  b.method13(Contravariant<num>());
-  Expect.isNull(b.method14());
-  b.method15(Invariant<num>());
-  Expect.isNull(b.method16());
-
-  b.method17(3);
-  b.method18(contraFunctionNum);
-  b.method19(covFunctionNum);
-  b.method20(Contravariant<num>());
-  b.method21(Covariant<num>());
-
-  b.method22<Contravariant<num>>();
-  b.method23<Covariant<num>>();
-  b.method24<Contra<num>>();
-  b.method25<Cov<num>>();
-
-  b.method26();
-  b.method27();
-}
-
-void testClassInMethods() {
-  C<int> c = new C();
-
-  c.method1((A<int> x) {});
-  c.method2(() => null);
-
-  Expect.type<A<int>>(c.method3());
-}
-
-void testOverrideLegacyMethods() {
-  E<int> e = new E();
-  Expect.isNull(e.method());
-  e.method2(3);
-  e.method3(3);
-
-  D<Object> d = e;
-  Expect.throws(() => d.method2("test"));
-  Expect.throws(() => d.method3("test"));
-
-  F<Object> f = new H<String>((String s) {});
-  Expect.throws(() => f.method(3));
-
-  // Tests reified type is the type expected for F and not G.
-  Expect.type<int Function(Object)>(f.method);
-  Expect.type<int Function(Object)>(new H<String>((String s){}).method);
-}
-
-main() {
-  testClass();
-  testMixin();
-  testClassInMethods();
-  testOverrideLegacyMethods();
-}
diff --git a/tests/language_2/variance/variance_inout_subclass_test.dart b/tests/language_2/variance/variance_inout_subclass_test.dart
deleted file mode 100644
index e1b7122c..0000000
--- a/tests/language_2/variance/variance_inout_subclass_test.dart
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subclass usage for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-typedef InvFunction<T> = T Function(T);
-
-class LegacyCovariant<T> {}
-class Invariant<inout T>{}
-class Covariant<out T> {}
-class Contravariant<in T> {}
-mixin MLegacyCovariant<T> {}
-mixin MContravariant<in T> {}
-mixin MCovariant<out T> {}
-mixin MInvariant<inout T> {}
-
-class A<inout T> extends LegacyCovariant<T> {}
-class B<inout T> extends Invariant<T> {}
-class C<inout T> extends Covariant<T> {}
-class D<inout T> extends Contravariant<T> {}
-
-class E<inout T> implements LegacyCovariant<T> {}
-class F<inout T> implements Invariant<T> {}
-class G<inout T> implements Covariant<T> {}
-class H<inout T> implements Contravariant<T> {}
-
-class I<inout T> with MLegacyCovariant<T> {}
-class J<inout T> with MInvariant<T> {}
-class K<inout T> with MCovariant<T> {}
-class L<inout T> with MContravariant<T> {}
-
-class M<inout T> extends Covariant<Contravariant<T>> {}
-class N<inout T> extends Contravariant<Covariant<T>> {}
-class O<inout T> extends Covariant<ContraFunction<T>> {}
-class P<inout T> extends Covariant<ContraFunction<CovFunction<T>>> {}
-class Q<inout T> extends Covariant<CovFunction<ContraFunction<T>>> {}
-class R<inout T> extends Covariant<ContraFunction<Covariant<T>>> {}
-class S<inout T> extends Contravariant<Contravariant<Contravariant<T>>> {}
-
-class T<inout X> extends Covariant<Covariant<X>> {}
-class U<inout T> extends Contravariant<Contravariant<T>> {}
-class V<inout T> extends Covariant<CovFunction<T>> {}
-class W<inout T> extends Covariant<ContraFunction<ContraFunction<T>>> {}
-class X<inout T> extends Contravariant<CovFunction<Contravariant<T>>> {}
-class Y<inout T> extends Covariant<CovFunction<Covariant<T>>> {}
-class Z<inout T> extends Covariant<Covariant<Covariant<T>>> {}
-
-class AA<inout T> extends Covariant<InvFunction<T>> {}
-
-class AB<inout T> = Invariant<T> with MInvariant<T>;
-class AC<inout T> = Covariant<T> with MCovariant<T>;
-class AD<inout T> = Contravariant<T> with MContravariant<T>;
-
-main() {
-  A<num> a = A();
-  B<num> b = B();
-  C<num> c = C();
-  D<num> d = D();
-  E<num> e = E();
-  F<num> f = F();
-  G<num> g = G();
-  H<num> h = H();
-  I<num> i = I();
-  J<num> j = J();
-  K<num> k = K();
-  L<num> l = L();
-  M<num> m = M();
-  N<num> n = N();
-  O<num> o = O();
-  P<num> p = P();
-  Q<num> q = Q();
-  R<num> r = R();
-  S<num> s = S();
-  T<num> t = T();
-  U<num> u = U();
-  V<num> v = V();
-  W<num> w = W();
-  X<num> x = X();
-  Y<num> y = Y();
-  Z<num> z = Z();
-  AA<num> aa = AA();
-  AB<num> ab = AB();
-  AC<num> ac = AC();
-  AD<num> ad = AD();
-}
diff --git a/tests/language_2/variance/variance_inout_subtyping_error_test.dart b/tests/language_2/variance/variance_inout_subtyping_error_test.dart
deleted file mode 100644
index d994e6c..0000000
--- a/tests/language_2/variance/variance_inout_subtyping_error_test.dart
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous subtyping for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Invariant<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class A {
-  Invariant<Middle> method1() {
-    return Invariant<Middle>();
-  }
-
-  void method2(Invariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Invariant<Upper> method1() {
-  //               ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  // [cfe] The return type of the method 'B.method1' is 'Invariant<Upper>', which does not match the return type, 'Invariant<Middle>', of the overridden method, 'A.method1'.
-    return new Invariant<Upper>();
-  }
-
-  @override
-  void method2(Invariant<Lower> x) {}
-  //   ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  //                            ^
-  // [cfe] The parameter 'x' of the method 'B.method2' has type 'Invariant<Lower>', which does not match the corresponding type, 'Invariant<Middle>', in the overridden method, 'A.method2'.
-}
-
-class C extends A {
-  @override
-  Invariant<Lower> method1() {
-  //               ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  // [cfe] The return type of the method 'C.method1' is 'Invariant<Lower>', which does not match the return type, 'Invariant<Middle>', of the overridden method, 'A.method1'.
-    return new Invariant<Lower>();
-  }
-
-  @override
-  void method2(Invariant<Upper> x) {}
-  //   ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  //                            ^
-  // [cfe] The parameter 'x' of the method 'C.method2' has type 'Invariant<Upper>', which does not match the corresponding type, 'Invariant<Middle>', in the overridden method, 'A.method2'.
-}
-
-class D<out T extends Invariant<Middle>> {}
-
-class E {
-  D<Invariant<Upper>> method1() {
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                         ^
-  // [cfe] Type argument 'Invariant<Upper>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D' in the return type.
-    return D<Invariant<Upper>>();
-    //     ^
-    // [cfe] Type argument 'Invariant<Upper>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-    //       ^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  }
-
-  D<Invariant<Lower>> method2() {
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                         ^
-  // [cfe] Type argument 'Invariant<Lower>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D' in the return type.
-    return D<Invariant<Lower>>();
-    //     ^
-    // [cfe] Type argument 'Invariant<Lower>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-    //       ^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  }
-}
-
-void testCall<T>(Iterable<Invariant<T>> x) {}
-
-main() {
-  D<Invariant<Upper>> dUpper = new D<Invariant<Upper>>();
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                  ^
-  // [cfe] Type argument 'Invariant<Upper>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-  //                               ^
-  // [cfe] Type argument 'Invariant<Upper>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-  //                                 ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  D<Invariant<Lower>> dLower = new D<Invariant<Lower>>();
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                  ^
-  // [cfe] Type argument 'Invariant<Lower>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-  //                               ^
-  // [cfe] Type argument 'Invariant<Lower>' doesn't conform to the bound 'Invariant<Middle>' of the type variable 'T' on 'D'.
-  //                                 ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-
-  Iterable<Invariant<Lower>> iterableLower = [new Invariant<Lower>()];
-  List<Invariant<Middle>> listMiddle = [new Invariant<Middle>()];
-  iterableLower = listMiddle;
-  //              ^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'List<Invariant<Middle>>' can't be assigned to a variable of type 'Iterable<Invariant<Lower>>'.
-
-  Iterable<Invariant<Middle>> iterableMiddle = [new Invariant<Middle>()];
-  List<Invariant<Lower>> listLower = [new Invariant<Lower>()];
-  iterableMiddle = listLower;
-  //               ^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'List<Invariant<Lower>>' can't be assigned to a variable of type 'Iterable<Invariant<Middle>>'.
-
-  testCall<Lower>(listMiddle);
-  //              ^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'List<Invariant<Middle>>' can't be assigned to the parameter type 'Iterable<Invariant<Lower>>'.
-
-  testCall<Middle>(listLower);
-  //               ^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'List<Invariant<Lower>>' can't be assigned to the parameter type 'Iterable<Invariant<Middle>>'.
-}
diff --git a/tests/language_2/variance/variance_inout_subtyping_test.dart b/tests/language_2/variance/variance_inout_subtyping_test.dart
deleted file mode 100644
index d245002..0000000
--- a/tests/language_2/variance/variance_inout_subtyping_test.dart
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subtyping for the `inout` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import 'dart:async';
-
-import "package:expect/expect.dart";
-
-class Invariant<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class A {
-  Invariant<Middle> method1() {
-    return new Invariant<Middle>();
-  }
-
-  void method2(Invariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Invariant<Middle> method1() {
-    return new Invariant<Middle>();
-  }
-
-  @override
-  void method2(Invariant<Middle> x) {}
-}
-
-class C<out X extends Invariant<Middle>> {}
-
-class D {
-  C<Invariant<Middle>> method1() {
-    return C<Invariant<Middle>>();
-  }
-}
-
-class E {
-  Invariant<dynamic> method1() {
-    return new Invariant<dynamic>();
-  }
-
-  void method2(Invariant<Object> x) {}
-}
-
-class F extends E {
-  @override
-  Invariant<Object> method1() {
-    return new Invariant<Object>();
-  }
-
-  @override
-  void method2(Invariant<dynamic> x) {}
-}
-
-class G {
-  Invariant<dynamic> method1() {
-    return new Invariant<dynamic>();
-  }
-
-  void method2(Invariant<FutureOr<dynamic>> x) {}
-}
-
-class H extends G {
-  @override
-  Invariant<FutureOr<dynamic>> method1() {
-    return new Invariant<FutureOr<dynamic>>();
-  }
-
-  @override
-  void method2(Invariant<dynamic> x) {}
-}
-
-class I {
-  Invariant<FutureOr<Null>> method1() {
-    return new Invariant<FutureOr<Null>>();
-  }
-
-  void method2(Invariant<Future<Null>> x) {}
-}
-
-class J extends I {
-  @override
-  Invariant<Future<Null>> method1() {
-    return new Invariant<Future<Null>>();
-  }
-
-  @override
-  void method2(Invariant<FutureOr<Null>> x) {}
-}
-
-void testCall(Iterable<Invariant<Middle>> x) {}
-
-main() {
-  A a = new A();
-  Expect.type<Invariant<Middle>>(a.method1());
-  Expect.notType<Invariant<Upper>>(a.method1());
-  Expect.notType<Invariant<Lower>>(a.method1());
-  a.method2(new Invariant<Middle>());
-
-  B b = new B();
-  Expect.type<Invariant<Middle>>(b.method1());
-  Expect.notType<Invariant<Upper>>(b.method1());
-  Expect.notType<Invariant<Lower>>(b.method1());
-  b.method2(new Invariant<Middle>());
-
-  C<Invariant<Middle>> c = new C<Invariant<Middle>>();
-
-  D d = new D();
-  Expect.type<C<Invariant<Middle>>>(d.method1());
-
-  E e = new E();
-  Expect.type<Invariant<dynamic>>(e.method1());
-  e.method2(new Invariant<Object>());
-
-  // Invariant<dynamic> <:> Invariant<Object>
-  F f = new F();
-  Expect.type<Invariant<Object>>(f.method1());
-  Expect.type<Invariant<dynamic>>(f.method1());
-  f.method2(new Invariant<Object>());
-  f.method2(new Invariant<dynamic>());
-
-  G g = new G();
-  Expect.type<Invariant<dynamic>>(g.method1());
-  g.method2(new Invariant<FutureOr<dynamic>>());
-
-  // Invariant<FutureOr<dynamic>> <:> Invariant<dynamic>
-  H h = new H();
-  Expect.type<Invariant<FutureOr<dynamic>>>(h.method1());
-  Expect.type<Invariant<dynamic>>(h.method1());
-  h.method2(new Invariant<FutureOr<dynamic>>());
-  h.method2(new Invariant<dynamic>());
-
-  I i = new I();
-  Expect.type<Invariant<FutureOr<Null>>>(i.method1());
-  i.method2(new Invariant<Future<Null>>());
-
-  // Invariant<FutureOr<Null>> <:> Invariant<Future<Null>>
-  J j = new J();
-  Expect.type<Invariant<FutureOr<Null>>>(j.method1());
-  Expect.type<Invariant<Future<Null>>>(j.method1());
-  j.method2(new Invariant<FutureOr<Null>>());
-  j.method2(new Invariant<Future<Null>>());
-
-  Iterable<Invariant<Middle>> iterableMiddle = [new Invariant<Middle>()];
-  List<Invariant<Middle>> listMiddle = [new Invariant<Middle>()];
-  iterableMiddle = listMiddle;
-
-  testCall(listMiddle);
-
-  Expect.subtype<Invariant<Middle>, Invariant<Middle>>();
-  Expect.notSubtype<Invariant<Lower>, Invariant<Middle>>();
-  Expect.notSubtype<Invariant<Upper>, Invariant<Middle>>();
-
-  Expect.subtype<Invariant<dynamic>, Invariant<Object>>();
-  Expect.subtype<Invariant<Object>, Invariant<dynamic>>();
-
-  Expect.subtype<Invariant<FutureOr<dynamic>>, Invariant<dynamic>>();
-  Expect.subtype<Invariant<dynamic>, Invariant<FutureOr<dynamic>>>();
-
-  Expect.subtype<Invariant<FutureOr<Null>>, Invariant<Future<Null>>>();
-  Expect.subtype<Invariant<Future<Null>>, Invariant<FutureOr<Null>>>();
-}
diff --git a/tests/language_2/variance/variance_method_tearoff_test.dart b/tests/language_2/variance/variance_method_tearoff_test.dart
deleted file mode 100644
index 03261ac..0000000
--- a/tests/language_2/variance/variance_method_tearoff_test.dart
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests reified types of torn-off methods with type parameters that have
-// explicit variance modifiers.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-class Contravariant<in T> {
-  int method(T x) {}
-}
-
-class Invariant<inout T> {
-  T method(T x) {}
-}
-
-class LegacyCovariant<T> {
-  int method(T x) {}
-}
-
-class NoSuchMethod<inout T> implements Invariant<T> {
-  noSuchMethod(_) => 3;
-}
-
-main() {
-  Contravariant<int> contraDiff = new Contravariant<num>();
-  Expect.notType<int Function(Object)>(contraDiff.method);
-  Expect.type<int Function(num)>(contraDiff.method);
-
-  Contravariant<num> contraSame = new Contravariant<num>();
-  Expect.notType<int Function(Object)>(contraSame.method);
-  Expect.type<int Function(num)>(contraSame.method);
-
-  Invariant<num> invSame = new Invariant<num>();
-  Expect.notType<num Function(Object)>(invSame.method);
-  Expect.type<num Function(num)>(invSame.method);
-
-  LegacyCovariant<num> legacyDiff = new LegacyCovariant<int>();
-  Expect.type<int Function(Object)>(legacyDiff.method);
-  Expect.type<int Function(num)>(legacyDiff.method);
-
-  LegacyCovariant<num> legacySame = new LegacyCovariant<num>();
-  Expect.type<int Function(Object)>(legacySame.method);
-  Expect.type<int Function(num)>(legacySame.method);
-
-  NoSuchMethod<num> nsm = new NoSuchMethod<num>();
-  Expect.notType<num Function(Object)>(nsm.method);
-  Expect.type<num Function(num)>(nsm.method);
-}
diff --git a/tests/language_2/variance/variance_multi_subclass_error_test.dart b/tests/language_2/variance/variance_multi_subclass_error_test.dart
deleted file mode 100644
index ed790c7..0000000
--- a/tests/language_2/variance/variance_multi_subclass_error_test.dart
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous variance usage multiple type parameters.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class MultiTwo<in T, out U> {}
-class MultiThree<in T, out U, inout V> {}
-
-class A<in T, out U, inout V> extends Covariant<T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'Covariant'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class B<in T> extends MultiThree<T, T, T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'MultiThree'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class C<in T, out U, inout V> extends MultiTwo<U, T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MultiTwo'.
-//    ^
-// [cfe] Can't use 'out' type variable 'U' in an 'in' position in supertype 'MultiTwo'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//                ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class D<in T, out U, inout V> extends MultiThree<V, U, T> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'inout' position in supertype 'MultiThree'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class E<in T, out U, inout V> extends MultiThree<Covariant<U>, Covariant<T>, Covariant<U>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MultiThree'.
-//    ^
-// [cfe] Can't use 'out' type variable 'U' in an 'inout' position in supertype 'MultiThree'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//                ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class F<in T, out U, inout V> extends MultiTwo<Contravariant<T>, Contravariant<U>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MultiTwo'.
-//    ^
-// [cfe] Can't use 'out' type variable 'U' in an 'in' position in supertype 'MultiTwo'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//                ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class G<in T, out U, inout V> extends MultiThree<CovFunction<U>, CovFunction<T>, CovFunction<U>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MultiThree'.
-//    ^
-// [cfe] Can't use 'out' type variable 'U' in an 'inout' position in supertype 'MultiThree'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//                ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class H<in T, out U, inout V> extends MultiTwo<ContraFunction<T>, ContraFunction<U>> {}
-//    ^
-// [cfe] Can't use 'in' type variable 'T' in an 'out' position in supertype 'MultiTwo'.
-//    ^
-// [cfe] Can't use 'out' type variable 'U' in an 'in' position in supertype 'MultiTwo'.
-//         ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//                ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
diff --git a/tests/language_2/variance/variance_multi_subclass_test.dart b/tests/language_2/variance/variance_multi_subclass_test.dart
deleted file mode 100644
index ae4f57a..0000000
--- a/tests/language_2/variance/variance_multi_subclass_test.dart
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests variance usage multiple type parameters.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class A<in T, out U> {}
-class B<in T, out U, inout V> {}
-
-class C<inout T, in U, out V> extends A<T, V> {}
-class D<inout T, in U, out V> extends B<U, V, T> {}
-class E<inout T, in U, out V> extends B<T, T, T> {}
-
-class F<inout T, in U, out V> extends A<Contravariant<V>, Contravariant<U>> {}
-class G<inout T, in U, out V> extends A<Covariant<Contravariant<V>>, Contravariant<Covariant<U>>> {}
-class H<inout T, in U, out V> extends B<Covariant<U>, Covariant<V>, Covariant<T>> {}
-
-class I<inout T, in U, out V> extends A<ContraFunction<V>, ContraFunction<U>> {}
-class J<inout T, in U, out V> extends A<CovFunction<ContraFunction<V>>, ContraFunction<CovFunction<U>>> {}
-class K<inout T, in U, out V> extends B<CovFunction<U>, CovFunction<V>, CovFunction<T>> {}
-
-main() {
-  A<num, bool> a = A();
-  B<num, bool, String> b = B();
-  C<num, bool, String> c = C();
-  D<num, bool, String> d = D();
-  E<num, bool, String> e = E();
-  F<num, bool, String> f = F();
-  G<num, bool, String> g = G();
-  H<num, bool, String> h = H();
-  I<num, bool, String> i = I();
-  J<num, bool, String> j = J();
-  K<num, bool, String> k = K();
-}
diff --git a/tests/language_2/variance/variance_out_field_error_test.dart b/tests/language_2/variance/variance_out_field_error_test.dart
deleted file mode 100644
index d87b195..0000000
--- a/tests/language_2/variance/variance_out_field_error_test.dart
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous field usage for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class A<out T> {
-  void set a(T value) => value;
-  //         ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //           ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-  final void Function(T) b = (T val) {};
-  //                     ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-  T c;
-//  ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-}
-
-mixin BMixin<out T> {
-  void set a(T value) => value;
-  //         ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //           ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-  final void Function(T) b = (T val) {};
-  //                     ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-  T c;
-//  ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-}
-
-abstract class C<out T> {
-  void set a(T value) => value;
-  //         ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //           ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-}
-
-class D<out T> extends C<T> {
-  var a;
-  //  ^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-}
diff --git a/tests/language_2/variance/variance_out_field_test.dart b/tests/language_2/variance/variance_out_field_test.dart
deleted file mode 100644
index 775d2a6..0000000
--- a/tests/language_2/variance/variance_out_field_test.dart
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests various fields for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Void2Int = int Function();
-
-class A<out T> {
-  final T a = null;
-  final T Function() b = () => null;
-  T get c => null;
-  A<T> get d => this;
-  covariant T e;
-  void set f(covariant T value) => value;
-}
-
-mixin BMixin<out T> {
-  final T a = null;
-  final T Function() b = () => null;
-  T get c => null;
-  BMixin<T> get d => this;
-  covariant T e;
-  void set f(covariant T value) => value;
-}
-
-class B with BMixin<int> {}
-
-void testClass() {
-  A<int> a = new A();
-
-  Expect.isNull(a.a);
-
-  Expect.type<Void2Int>(a.b);
-  Expect.isNull(a.b());
-
-  Expect.isNull(a.c);
-
-  Expect.isNull(a.d.a);
-
-  a.e = 2;
-  Expect.equals(2, a.e);
-
-  a.f = 2;
-}
-
-void testMixin() {
-  B b = new B();
-
-  Expect.isNull(b.a);
-
-  Expect.type<Void2Int>(b.b);
-  Expect.isNull(b.b());
-
-  Expect.isNull(b.c);
-
-  Expect.isNull(b.d.a);
-
-  b.e = 2;
-  Expect.equals(2, b.e);
-
-  b.f = 2;
-}
-
-main() {
-  testClass();
-  testMixin();
-}
diff --git a/tests/language_2/variance/variance_out_inference_error_test.dart b/tests/language_2/variance/variance_out_inference_error_test.dart
deleted file mode 100644
index ccce0d1..0000000
--- a/tests/language_2/variance/variance_out_inference_error_test.dart
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference errors for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class CovBound<out T> {
-  CovBound(T x, void Function(T) y) {}
-}
-
-Exactly<T> inferCovCov<T>(Covariant<T> x, Covariant<T> y) => new Exactly<T>();
-Exactly<T> inferCovBound<T>(CovBound<T> x) => new Exactly<T>();
-
-main() {
-  Exactly<Upper> upper;
-  Exactly<Middle> middle;
-  Exactly<Lower> lower;
-
-  // Lower <: T <: Middle.
-  // We choose Middle.
-  var inferredMiddle = inferCovCov(Covariant<Lower>(), Covariant<Middle>());
-  lower = inferredMiddle;
-  //      ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Middle>' can't be assigned to a variable of type 'Exactly<Lower>'.
-
-  // Lower <: T <: Upper.
-  // We choose Upper.
-  var inferredUpper = inferCovCov(Covariant<Lower>(), Covariant<Upper>());
-  lower = inferredUpper;
-  //      ^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Upper>' can't be assigned to a variable of type 'Exactly<Lower>'.
-
-  // Inference for Covbound(...) produces Lower <: T <: Upper.
-  // Since T is covariant, we choose Lower as the solution.
-  var inferredCovLower = inferCovBound(CovBound(Lower(), (Upper x) {}));
-  upper = inferredCovLower;
-  //      ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Lower>' can't be assigned to a variable of type 'Exactly<Upper>'.
-
-  // Inference for Covbound(...) produces Lower <: T <: Middle.
-  // Since T is covariant, we choose Lower as the solution.
-  var inferredCovLower2 = inferCovBound(CovBound(Lower(), (Middle x) {}));
-  middle = inferredCovLower2;
-  //       ^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Lower>' can't be assigned to a variable of type 'Exactly<Middle>'.
-}
diff --git a/tests/language_2/variance/variance_out_inference_test.dart b/tests/language_2/variance/variance_out_inference_test.dart
deleted file mode 100644
index 14b49e1..0000000
--- a/tests/language_2/variance/variance_out_inference_test.dart
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests local inference for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-
-class Exactly<inout T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class CovBound<out T> {
-  CovBound(T x, void Function(T) y) {}
-}
-
-Exactly<T> inferCovCov<T>(Covariant<T> x, Covariant<T> y) => new Exactly<T>();
-Exactly<T> inferCovBound<T>(CovBound<T> x) => new Exactly<T>();
-
-main() {
-  Exactly<Upper> upper;
-  Exactly<Lower> lower;
-
-  // Upper <: T
-  // Upper <: T
-  // Choose Upper
-  var inferredUpper = inferCovCov(Covariant<Upper>(), Covariant<Upper>());
-  upper = inferredUpper;
-
-  // Upper <: T
-  // Middle <: T
-  // Choose Upper since it is the lowest upper bound of Upper and Middle.
-  var inferredUpper2 = inferCovCov(Covariant<Upper>(), Covariant<Middle>());
-  upper = inferredUpper2;
-
-  // Upper <: T
-  // Lower <: T
-  // Choose Upper since it is the lowest upper bound of Upper and Lower.
-  var inferredUpper3 = inferCovCov(Covariant<Upper>(), Covariant<Lower>());
-  upper = inferredUpper3;
-
-  // Lower <: T <: Upper
-  // Choose Lower.
-  var inferredCovLower = inferCovBound(CovBound(Lower(), (Upper x) {}));
-  lower = inferredCovLower;
-
-  // Lower <: T <: Middle
-  // Choose Lower.
-  var inferredCovLower2 = inferCovBound(CovBound(Lower(), (Middle x) {}));
-  lower = inferredCovLower2;
-}
diff --git a/tests/language_2/variance/variance_out_method_error_test.dart b/tests/language_2/variance/variance_out_method_error_test.dart
deleted file mode 100644
index 1705207..0000000
--- a/tests/language_2/variance/variance_out_method_error_test.dart
+++ /dev/null
@@ -1,357 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous method signatures and return types for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef Inv<T> = void Function<X extends T>();
-typedef Cov<T> = T Function();
-typedef Contra<T> = void Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-class A<out T> {
-  void method1(T x) {}
-  //           ^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //             ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method2(Cov<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contra<T> method3() => (T val) {};
-//^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //               ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method4(Cov<Cov<T>> x) {}
-  //           ^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contra<Cov<T>> method5() => (Cov<T> method) {};
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  Cov<Contra<T>> method6() {
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-    return () {
-      return (T x) {};
-    };
-  }
-
-  void method7(Contra<Contra<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                             ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Inv<T> method8() => null;
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position in the return type.
-
-  void method9(Inv<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  Contravariant<T> method10() => null;
-//^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method11(Covariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Invariant<T> method12() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position in the return type.
-
-  void method13(Invariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method14(Covariant<Covariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method15(Contravariant<Contravariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                            ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contravariant<Covariant<T>> method16() => Contravariant<Covariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  Covariant<Contravariant<T>> method17() => Covariant<Contravariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method18<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method19<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method20({T x}) {}
-  //             ^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //               ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method21({Cov<T> x}) {}
-  //             ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method22({Covariant<T> x}) {}
-  //             ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method23({Covariant<T> x, Contravariant<T> y}) {}
-  //             ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method24<X extends T>() {}
-  //            ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method25<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method26<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-}
-
-mixin BMixin<out T> {
-  void method1(T x) {}
-  //           ^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //             ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method2(Cov<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contra<T> method3() => (T val) {};
-//^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //               ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method4(Cov<Cov<T>> x) {}
-  //           ^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contra<Cov<T>> method5() => (Cov<T> method) {};
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  Cov<Contra<T>> method6() {
-//^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-    return () {
-      return (T x) {};
-    };
-  }
-
-  void method7(Contra<Contra<T>> x) {}
-  //           ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                             ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Inv<T> method8() => null;
-//^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position in the return type.
-
-  void method9(Inv<T> x) {}
-  //           ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  Contravariant<T> method10() => null;
-//^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                       ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method11(Covariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Invariant<T> method12() => null;
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                   ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position in the return type.
-
-  void method13(Invariant<T> x) {}
-  //            ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                         ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method14(Covariant<Covariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method15(Contravariant<Contravariant<T>> x) {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                            ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  Contravariant<Covariant<T>> method16() => Contravariant<Covariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  Covariant<Contravariant<T>> method17() => Covariant<Contravariant<T>>();
-//^^^^^^^^^^^^^^^^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-
-  void method18<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method19<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method20({T x}) {}
-  //             ^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //               ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method21({Cov<T> x}) {}
-  //             ^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                    ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method22({Covariant<T> x}) {}
-  //             ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method23({Covariant<T> x, Contravariant<T> y}) {}
-  //             ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                          ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-
-  void method24<X extends T>() {}
-  //            ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method25<X extends Contra<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-
-  void method26<X extends Contravariant<T>>() {}
-  //            ^^^^^^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  // [cfe] Can't use 'out' type variable 'T' in an 'inout' position.
-}
-
-class B<out T> {
-  void method1(Cov<A<T>> x) {}
-  //           ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                     ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-  Contra<A<T>> method2() {
-//^^^^^^^^^^^^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //                  ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position in the return type.
-    return null;
-  }
-}
-
-class C<T> {
-  void method(T x) {}
-}
-
-class D<out T> extends C<T> {
-  @override
-  void method(T x) {}
-  //          ^^^
-  // [analyzer] COMPILE_TIME_ERROR.WRONG_TYPE_PARAMETER_VARIANCE_POSITION
-  //            ^
-  // [cfe] Can't use 'out' type variable 'T' in an 'in' position.
-}
diff --git a/tests/language_2/variance/variance_out_method_test.dart b/tests/language_2/variance/variance_out_method_test.dart
deleted file mode 100644
index 7e0da23..0000000
--- a/tests/language_2/variance/variance_out_method_test.dart
+++ /dev/null
@@ -1,233 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests method signatures and return types for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-typedef Cov<T> = T Function();
-typedef Contra<T> = void Function(T);
-
-Cov<int> covFunction = () => 2;
-Contra<int> contraFunction = (int val) {};
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-
-class A<out T> {
-  // TODO (kallentu): Come NNBD, change `T` to `T?`
-  T method1() => null;
-  void method2(Contra<T> x) {}
-  Cov<T> method3() {
-    return () => null;
-  }
-
-  void method4(Contra<Cov<T>> x) {}
-  void method5(Cov<Contra<T>> x) {}
-  Contra<Contra<T>> method6() {
-    return (Contra<T> x) {
-      Expect.type<Contra<T>>(x);
-    };
-  }
-
-  Cov<Cov<T>> method7() {
-    return () {
-      return () => null;
-    };
-  }
-
-  void method8(Contravariant<T> x) {}
-  Covariant<T> method9() => null;
-  void method10(Contravariant<Covariant<T>> x) {}
-  Covariant<Covariant<T>> method11() => null;
-  void method12(Covariant<Contravariant<T>> x) {}
-  Contravariant<Contravariant<T>> method13() => null;
-
-  void method14(covariant T x) {}
-  void method15(covariant Contra<T> x) {}
-  void method16(covariant Cov<T> x) {}
-  void method17(covariant Contravariant<T> x) {}
-  void method18(covariant Covariant<T> x) {}
-
-  void method19({Contravariant<T> x}) {}
-  void method20({Contra<T> x}) {}
-}
-
-mixin BMixin<out T> {
-  // TODO (kallentu): Come NNBD, change `T` to `T?`
-  T method1() => null;
-  void method2(Contra<T> x) {}
-  Cov<T> method3() {
-    return () => null;
-  }
-
-  void method4(Contra<Cov<T>> x) {}
-  void method5(Cov<Contra<T>> x) {}
-  Contra<Contra<T>> method6() {
-    return (Contra<T> x) {
-      Expect.type<Contra<T>>(x);
-    };
-  }
-
-  Cov<Cov<T>> method7() {
-    return () {
-      return () => null;
-    };
-  }
-
-  void method8(Contravariant<T> x) {}
-  Covariant<T> method9() => null;
-  void method10(Contravariant<Covariant<T>> x) {}
-  Covariant<Covariant<T>> method11() => null;
-  void method12(Covariant<Contravariant<T>> x) {}
-  Contravariant<Contravariant<T>> method13() => null;
-
-  void method14(covariant T x) {}
-  void method15(covariant Contra<T> x) {}
-  void method16(covariant Cov<T> x) {}
-  void method17(covariant Contravariant<T> x) {}
-  void method18(covariant Covariant<T> x) {}
-
-  void method19({Contravariant<T> x}) {}
-  void method20({Contra<T> x}) {}
-}
-
-class B with BMixin<int> {}
-
-class C<out T> {
-  void method1(Contra<A<T>> x) {}
-  A<T> method2() {
-    return A<T>();
-  }
-}
-
-class D<T> {
-  T method() => null;
-  void method2(T x) {}
-  void method3(covariant T x) {}
-}
-
-class E<out T> extends D<T> {
-  @override
-  T method() => null;
-
-  @override
-  void method3(covariant T x) {}
-}
-
-void testClass() {
-  A<int> a = new A();
-
-  Expect.isNull(a.method1());
-
-  a.method2(contraFunction);
-
-  Expect.type<Cov<int>>(a.method3());
-  Cov<int> method3Function = a.method3();
-  Expect.isNull(method3Function());
-
-  a.method4((Cov<int> x) {});
-
-  a.method5(() {
-    return contraFunction;
-  });
-
-  Expect.type<Contra<Contra<int>>>(a.method6());
-  Contra<Contra<int>> method6Function = a.method6();
-  method6Function(contraFunction);
-
-  Expect.type<Cov<Cov<int>>>(a.method7());
-  Cov<Cov<int>> method7Function = a.method7();
-  Expect.type<Cov<int>>(method7Function());
-  Cov<int> method7NestedFunction = method7Function();
-  Expect.isNull(method7NestedFunction());
-
-  a.method8(Contravariant<int>());
-  Expect.isNull(a.method9());
-  a.method10(Contravariant<Covariant<int>>());
-  Expect.isNull(a.method11());
-  a.method12(Covariant<Contravariant<int>>());
-  Expect.isNull(a.method13());
-
-  a.method14(3);
-  a.method15(contraFunction);
-  a.method16(covFunction);
-  a.method17(Contravariant<int>());
-  a.method18(Covariant<int>());
-
-  a.method19();
-  a.method20();
-}
-
-void testMixin() {
-  B b = new B();
-
-  Expect.isNull(b.method1());
-
-  b.method2(contraFunction);
-
-  Expect.type<Cov<int>>(b.method3());
-  Cov<int> method3Function = b.method3();
-  Expect.isNull(method3Function());
-
-  b.method4((Cov<int> x) {});
-
-  b.method5(() {
-    return contraFunction;
-  });
-
-  Expect.type<Contra<Contra<int>>>(b.method6());
-  Contra<Contra<int>> method6Function = b.method6();
-  method6Function(contraFunction);
-
-  Expect.type<Cov<Cov<int>>>(b.method7());
-  Cov<Cov<int>> method7Function = b.method7();
-  Expect.type<Cov<int>>(method7Function());
-  Cov<int> method7NestedFunction = method7Function();
-  Expect.isNull(method7NestedFunction());
-
-  b.method8(Contravariant<int>());
-  Expect.isNull(b.method9());
-  b.method10(Contravariant<Covariant<int>>());
-  Expect.isNull(b.method11());
-  b.method12(Covariant<Contravariant<int>>());
-  Expect.isNull(b.method13());
-
-  b.method14(3);
-  b.method15(contraFunction);
-  b.method16(covFunction);
-  b.method17(Contravariant<int>());
-  b.method18(Covariant<int>());
-
-  b.method19();
-  b.method20();
-}
-
-void testClassInMethods() {
-  C<int> c = new C();
-
-  c.method1((A<int> x) {});
-
-  Expect.type<A<int>>(c.method2());
-}
-
-void testOverrideLegacyMethods() {
-  E<int> e = new E();
-  Expect.isNull(e.method());
-  e.method2(3);
-  e.method3(3);
-
-  D<Object> d = e;
-  Expect.throws(() => d.method2("test"));
-  Expect.throws(() => d.method3("test"));
-}
-
-main() {
-  testClass();
-  testMixin();
-  testClassInMethods();
-  testOverrideLegacyMethods();
-}
diff --git a/tests/language_2/variance/variance_out_subclass_error_test.dart b/tests/language_2/variance/variance_out_subclass_error_test.dart
deleted file mode 100644
index 046395c..0000000
--- a/tests/language_2/variance/variance_out_subclass_error_test.dart
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous subclass usage for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-typedef InvFunction<T> = T Function(T);
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-mixin MCovariant<out T> {}
-mixin MContravariant<in T> {}
-mixin MInvariant<in T> {}
-
-class A<out T> extends Contravariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Contravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class B<out T> implements Contravariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Contravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class C<out T> with MContravariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'MContravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class D<out T> extends Invariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class E<out T> implements Invariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class F<out T> with MInvariant<T> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'MInvariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class G<out T> extends Covariant<Contravariant<T>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class H<out T> extends Contravariant<Covariant<T>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Contravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class I<out T> extends Covariant<ContraFunction<T>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class J<out T> extends Covariant<ContraFunction<CovFunction<T>>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class K<out T> extends Covariant<CovFunction<ContraFunction<T>>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class L<out T> extends Covariant<ContraFunction<Covariant<T>>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class M<out T> extends Contravariant<Contravariant<Contravariant<T>>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Contravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class N<out T> extends Covariant<InvFunction<T>> {}
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'inout' position in supertype 'Covariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class O<out T> = Covariant<T> with MContravariant<T>;
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'MContravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class P<out T> = Contravariant<T> with MCovariant<T>;
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'Contravariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-
-class Q<out T> = Invariant<T> with MInvariant<T>;
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'in' position in supertype 'MInvariant'.
-//    ^
-// [cfe] Can't use 'out' type variable 'T' in an 'inout' position in supertype 'Invariant'.
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
-//          ^
-// [analyzer] COMPILE_TIME_ERROR.WRONG_EXPLICIT_TYPE_PARAMETER_VARIANCE_IN_SUPERINTERFACE
diff --git a/tests/language_2/variance/variance_out_subclass_test.dart b/tests/language_2/variance/variance_out_subclass_test.dart
deleted file mode 100644
index 0c8861d..0000000
--- a/tests/language_2/variance/variance_out_subclass_test.dart
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subclass usage for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-typedef CovFunction<T> = T Function();
-typedef ContraFunction<T> = void Function(T);
-
-class LegacyCovariant<T> {}
-class Covariant<out T> {}
-class Contravariant<in T> {}
-mixin MLegacyCovariant<T> {}
-mixin MCovariant<out T> {}
-
-class A<out T> extends LegacyCovariant<T> {}
-class B<out T> implements LegacyCovariant<T> {}
-class C<out T> with MLegacyCovariant<T> {}
-
-class D<out T> extends Covariant<T> {}
-class E<out T> implements Covariant<T> {}
-class F<out T> with MCovariant<T> {}
-
-class G<out T> extends Covariant<Covariant<T>> {}
-class H<out T> extends Contravariant<Contravariant<T>> {}
-
-class I<out T> extends Covariant<CovFunction<T>> {}
-class J<out T> extends Covariant<ContraFunction<ContraFunction<T>>> {}
-class K<out T> extends Contravariant<CovFunction<Contravariant<T>>> {}
-
-class L<out T> extends Covariant<CovFunction<Covariant<T>>> {}
-
-class M<out T> extends Covariant<Covariant<Covariant<T>>> {}
-
-class N<out T> = Covariant<T> with MCovariant<T>;
-class O<out T> = Contravariant<Contravariant<T>> with MCovariant<T>;
-class P<out T> = Covariant<T> with MCovariant<Covariant<T>>;
-
-main() {
-  A<num> a = A();
-  B<num> b = B();
-  C<num> c = C();
-  D<num> d = D();
-  E<num> e = E();
-  F<num> f = F();
-  G<num> g = G();
-  H<num> h = H();
-  I<num> i = I();
-  J<num> j = J();
-  K<num> k = K();
-  L<num> l = L();
-  M<num> m = M();
-  N<num> n = N();
-  O<num> o = O();
-  P<num> p = P();
-}
diff --git a/tests/language_2/variance/variance_out_subtyping_error_test.dart b/tests/language_2/variance/variance_out_subtyping_error_test.dart
deleted file mode 100644
index 2ddcd3e..0000000
--- a/tests/language_2/variance/variance_out_subtyping_error_test.dart
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous subtyping for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower {}
-
-class A {
-  Covariant<Middle> method1() {
-    return Covariant<Middle>();
-  }
-
-  void method2(Covariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Covariant<Upper> method1() {
-  //               ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  // [cfe] The return type of the method 'B.method1' is 'Covariant<Upper>', which does not match the return type, 'Covariant<Middle>', of the overridden method, 'A.method1'.
-    return new Covariant<Upper>();
-  }
-
-  @override
-  void method2(Covariant<Lower> x) {}
-  //   ^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_OVERRIDE
-  //                            ^
-  // [cfe] The parameter 'x' of the method 'B.method2' has type 'Covariant<Lower>', which does not match the corresponding type, 'Covariant<Middle>', in the overridden method, 'A.method2'.
-}
-
-class C<out T extends Covariant<Middle>> {}
-
-class D {
-  C<Covariant<Upper>> method1() {
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                         ^
-  // [cfe] Type argument 'Covariant<Upper>' doesn't conform to the bound 'Covariant<Middle>' of the type variable 'T' on 'C' in the return type.
-    return C<Covariant<Upper>>();
-    //     ^
-    // [cfe] Type argument 'Covariant<Upper>' doesn't conform to the bound 'Covariant<Middle>' of the type variable 'T' on 'C'.
-    //       ^^^^^^^^^^^^^^^^
-    // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  }
-}
-
-void testCall(Iterable<Covariant<Lower>> x) {}
-
-main() {
-  C<Covariant<Upper>> c = new C<Covariant<Upper>>();
-  //^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-  //                  ^
-  // [cfe] Type argument 'Covariant<Upper>' doesn't conform to the bound 'Covariant<Middle>' of the type variable 'T' on 'C'.
-  //                          ^
-  // [cfe] Type argument 'Covariant<Upper>' doesn't conform to the bound 'Covariant<Middle>' of the type variable 'T' on 'C'.
-  //                            ^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.TYPE_ARGUMENT_NOT_MATCHING_BOUNDS
-
-  Iterable<Covariant<Lower>> iterableLower = [new Covariant<Lower>()];
-  List<Covariant<Middle>> listMiddle = [new Covariant<Middle>()];
-  iterableLower = listMiddle;
-  //              ^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'List<Covariant<Middle>>' can't be assigned to a variable of type 'Iterable<Covariant<Lower>>'.
-
-  testCall(listMiddle);
-  //       ^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
-  // [cfe] The argument type 'List<Covariant<Middle>>' can't be assigned to the parameter type 'Iterable<Covariant<Lower>>'.
-}
diff --git a/tests/language_2/variance/variance_out_subtyping_test.dart b/tests/language_2/variance/variance_out_subtyping_test.dart
deleted file mode 100644
index 00f5ed3..0000000
--- a/tests/language_2/variance/variance_out_subtyping_test.dart
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests subtyping for the `out` variance modifier.
-
-// SharedOptions=--enable-experiment=variance
-
-import "package:expect/expect.dart";
-
-class Covariant<out T> {}
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-class A {
-  Covariant<Middle> method1() {
-    return new Covariant<Middle>();
-  }
-
-  void method2(Covariant<Middle> x) {}
-}
-
-class B extends A {
-  @override
-  Covariant<Lower> method1() {
-    return new Covariant<Lower>();
-  }
-
-  @override
-  void method2(Covariant<Upper> x) {}
-}
-
-class C extends A {
-  @override
-  Covariant<Middle> method1() {
-    return new Covariant<Middle>();
-  }
-
-  @override
-  void method2(Covariant<Middle> x) {}
-}
-
-class D<out T extends Covariant<Middle>> {}
-
-class E {
-  D<Covariant<Lower>> method1() {
-    return D<Covariant<Lower>>();
-  }
-}
-
-class F {
-  D<Covariant<Middle>> method1() {
-    return D<Covariant<Middle>>();
-  }
-}
-
-void testCall(Iterable<Covariant<Middle>> x) {}
-
-main() {
-  A a = new A();
-  Expect.type<Covariant<Middle>>(a.method1());
-  Expect.type<Covariant<Upper>>(a.method1());
-  Expect.notType<Covariant<Lower>>(a.method1());
-  a.method2(new Covariant<Middle>());
-  a.method2(new Covariant<Lower>());
-
-  B b = new B();
-  Expect.type<Covariant<Upper>>(b.method1());
-  Expect.type<Covariant<Middle>>(b.method1());
-  Expect.type<Covariant<Lower>>(b.method1());
-  b.method2(new Covariant<Upper>());
-  b.method2(new Covariant<Middle>());
-
-  C c = new C();
-  Expect.type<Covariant<Middle>>(c.method1());
-  Expect.type<Covariant<Upper>>(c.method1());
-  Expect.notType<Covariant<Lower>>(c.method1());
-  c.method2(new Covariant<Middle>());
-  c.method2(new Covariant<Lower>());
-
-  D<Covariant<Lower>> dLower = new D<Covariant<Lower>>();
-  D<Covariant<Middle>> dMiddle = new D<Covariant<Middle>>();
-
-  E e = new E();
-  Expect.type<D<Covariant<Lower>>>(e.method1());
-  Expect.type<D<Covariant<Middle>>>(e.method1());
-
-  F f = new F();
-  Expect.type<D<Covariant<Middle>>>(f.method1());
-
-  Iterable<Covariant<Middle>> iterableMiddle = [new Covariant<Middle>()];
-  List<Covariant<Lower>> listLower = [new Covariant<Lower>()];
-  iterableMiddle = listLower;
-
-  testCall(listLower);
-
-  Expect.subtype<Covariant<Lower>, Covariant<Middle>>();
-  Expect.subtype<Covariant<Middle>, Covariant<Middle>>();
-  Expect.notSubtype<Covariant<Upper>, Covariant<Middle>>();
-}
diff --git a/tests/language_2/variance/variance_unconstrained_inference_test.dart b/tests/language_2/variance/variance_unconstrained_inference_test.dart
deleted file mode 100644
index fed460b..0000000
--- a/tests/language_2/variance/variance_unconstrained_inference_test.dart
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests unconstrained inferencing with sound variance.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-
-void covariantListInfer<T>(Covariant<List<T>> x) {}
-void contravariantListInfer<T>(Contravariant<List<T>> x) {}
-void invariantListInfer<T>(Invariant<List<T>> x) {}
-
-main() {
-  var cov = new Covariant();
-  covariantListInfer(Covariant());
-
-  var contra = new Contravariant();
-  contravariantListInfer(Contravariant());
-
-  var inv = new Invariant();
-  invariantListInfer(Invariant());
-}
diff --git a/tests/language_2/variance/variance_upper_lower_bounds_error_test.dart b/tests/language_2/variance/variance_upper_lower_bounds_error_test.dart
deleted file mode 100644
index a8e1f25..0000000
--- a/tests/language_2/variance/variance_upper_lower_bounds_error_test.dart
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests erroneous upper and lower bounds computation with respect to
-// variance modifiers.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-class LegacyCovariant<T> {}
-
-class Multi<out T, inout U, in V> {}
-
-class Exactly<inout T> {}
-Exactly<T> exactly<T>(T x) => new Exactly<T>();
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-main() {
-  bool condition = true;
-
-  var contraLowerActual =
-      exactly(condition ? Contravariant<Upper>() : Contravariant<Lower>());
-  Exactly<Contravariant<Upper>> contraUpperExpected = contraLowerActual;
-  //                                                  ^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Contravariant<Lower>>' can't be assigned to a variable of type 'Exactly<Contravariant<Upper>>'.
-
-  var contraMiddleActual =
-      exactly(condition ? Contravariant<Upper>() : Contravariant<Middle>());
-  contraUpperExpected = contraMiddleActual;
-  //                    ^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Contravariant<Middle>>' can't be assigned to a variable of type 'Exactly<Contravariant<Upper>>'.
-
-  var covMiddleActual =
-      exactly(condition ? Covariant<Middle>() : Covariant<Lower>());
-  Exactly<Covariant<Lower>> covLowerExpected = covMiddleActual;
-  //                                           ^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Covariant<Middle>>' can't be assigned to a variable of type 'Exactly<Covariant<Lower>>'.
-
-  var covUpperActual =
-      exactly(condition ? Covariant<Upper>() : Covariant<Lower>());
-  covLowerExpected = covUpperActual;
-  //                 ^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Covariant<Upper>>' can't be assigned to a variable of type 'Exactly<Covariant<Lower>>'.
-
-  var invObjectActual =
-      exactly(condition ? Invariant<Upper>() : Invariant<Middle>());
-  Exactly<Invariant<Middle>> invMiddleExpected = invObjectActual;
-  //                                             ^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Object>' can't be assigned to a variable of type 'Exactly<Invariant<Middle>>'.
-  Exactly<Invariant<Upper>> invUpperExpected = invObjectActual;
-  //                                           ^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Object>' can't be assigned to a variable of type 'Exactly<Invariant<Upper>>'.
-
-  var legacyCovMiddleActual =
-      exactly(condition ? LegacyCovariant<Middle>() : LegacyCovariant<Lower>());
-  Exactly<LegacyCovariant<Lower>> legacyCovLowerExpected =
-      legacyCovMiddleActual;
-  //  ^^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<LegacyCovariant<Middle>>' can't be assigned to a variable of type 'Exactly<LegacyCovariant<Lower>>'.
-
-  var legacyCovUpperActual =
-      exactly(condition ? LegacyCovariant<Upper>() : LegacyCovariant<Lower>());
-  legacyCovLowerExpected = legacyCovUpperActual;
-  //                       ^^^^^^^^^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<LegacyCovariant<Upper>>' can't be assigned to a variable of type 'Exactly<LegacyCovariant<Lower>>'.
-
-  var multiActual = exactly(condition
-      ? Multi<Middle, Middle, Middle>()
-      : Multi<Lower, Middle, Lower>());
-  Exactly<Multi<Lower, Middle, Lower>> multiExpected = multiActual;
-  //                                                   ^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Multi<Middle, Middle, Lower>>' can't be assigned to a variable of type 'Exactly<Multi<Lower, Middle, Lower>>'.
-
-  var multiActual2 = exactly(
-      condition ? Multi<Middle, int, Middle>() : Multi<Lower, Middle, Lower>());
-  Exactly<Multi<Middle, Object, Lower>> multiObjectExpected = multiActual2;
-  //                                                          ^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Object>' can't be assigned to a variable of type 'Exactly<Multi<Middle, Object, Lower>>'.
-
-  var multiActual3 = exactly(
-      condition ? Multi<int, Middle, Middle>() : Multi<Lower, Middle, Lower>());
-  Exactly<Object> multiObjectExpected2 = multiActual3;
-  //                                     ^^^^^^^^^^^^
-  // [analyzer] COMPILE_TIME_ERROR.INVALID_ASSIGNMENT
-  // [cfe] A value of type 'Exactly<Multi<Object, Middle, Lower>>' can't be assigned to a variable of type 'Exactly<Object>'.
-}
diff --git a/tests/language_2/variance/variance_upper_lower_bounds_test.dart b/tests/language_2/variance/variance_upper_lower_bounds_test.dart
deleted file mode 100644
index ceb9ac8..0000000
--- a/tests/language_2/variance/variance_upper_lower_bounds_test.dart
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// Tests upper and lower bounds computation with respect to variance modifiers.
-
-// SharedOptions=--enable-experiment=variance
-
-class Covariant<out T> {}
-class Contravariant<in T> {}
-class Invariant<inout T> {}
-class LegacyCovariant<T> {}
-
-class Multi<out T, inout U, in V> {}
-
-class Exactly<inout T> {}
-Exactly<T> exactly<T>(T x) => new Exactly<T>();
-
-class Upper {}
-class Middle extends Upper {}
-class Lower extends Middle {}
-
-main() {
-  bool condition = true;
-
-  var contraLowerActual =
-      exactly(condition ? Contravariant<Upper>() : Contravariant<Lower>());
-  Exactly<Contravariant<Lower>> contraLowerExpected = contraLowerActual;
-
-  var contraMiddleActual =
-      exactly(condition ? Contravariant<Upper>() : Contravariant<Middle>());
-  Exactly<Contravariant<Middle>> contraMiddleExpected = contraMiddleActual;
-
-  var covMiddleActual =
-      exactly(condition ? Covariant<Middle>() : Covariant<Lower>());
-  Exactly<Covariant<Middle>> covMiddleExpected = covMiddleActual;
-
-  var covUpperActual =
-      exactly(condition ? Covariant<Upper>() : Covariant<Lower>());
-  Exactly<Covariant<Upper>> covUpperExpected = covUpperActual;
-
-  var invMiddleActual =
-      exactly(condition ? Invariant<Middle>() : Invariant<Middle>());
-  Exactly<Invariant<Middle>> invMiddleExpected = invMiddleActual;
-
-  var invObjectActual =
-      exactly(condition ? Invariant<Upper>() : Invariant<Middle>());
-  Exactly<Object> invObjectExpected = invObjectActual;
-
-  var legacyCovMiddleActual =
-      exactly(condition ? LegacyCovariant<Middle>() : LegacyCovariant<Lower>());
-  Exactly<LegacyCovariant<Middle>> legacyCovMiddleExpected =
-      legacyCovMiddleActual;
-
-  var legacyCovUpperActual =
-      exactly(condition ? LegacyCovariant<Upper>() : LegacyCovariant<Lower>());
-  Exactly<LegacyCovariant<Upper>> legacyCovUpperExpected = legacyCovUpperActual;
-
-  var multiActual = exactly(condition
-      ? Multi<Middle, Middle, Middle>()
-      : Multi<Lower, Middle, Lower>());
-  Exactly<Multi<Middle, Middle, Lower>> multiExpected = multiActual;
-
-  var multiActual2 = exactly(
-      condition ? Multi<Middle, int, Middle>() : Multi<Lower, Middle, Lower>());
-  Exactly<Object> multiObjectExpected = multiActual2;
-
-  var multiActual3 = exactly(
-      condition ? Multi<int, Middle, Middle>() : Multi<Lower, Middle, Lower>());
-  Exactly<Multi<Object, Middle, Lower>> multiObjectExpected2 = multiActual3;
-}
diff --git a/tests/language_2/vm/allocate_overflow_array_test.dart b/tests/language_2/vm/allocate_overflow_array_test.dart
index 39d00d3..f4a343e 100644
--- a/tests/language_2/vm/allocate_overflow_array_test.dart
+++ b/tests/language_2/vm/allocate_overflow_array_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.9
+
 import 'package:expect/expect.dart';
 
 const interestingLengths = <int>[
diff --git a/tests/language_2/vm/allocate_overflow_bytearray_test.dart b/tests/language_2/vm/allocate_overflow_bytearray_test.dart
index 9242494..d98f921 100644
--- a/tests/language_2/vm/allocate_overflow_bytearray_test.dart
+++ b/tests/language_2/vm/allocate_overflow_bytearray_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.9
+
 import 'dart:typed_data';
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/vm/allocate_overflow_string_test.dart b/tests/language_2/vm/allocate_overflow_string_test.dart
index f4488a1..464dea8 100644
--- a/tests/language_2/vm/allocate_overflow_string_test.dart
+++ b/tests/language_2/vm/allocate_overflow_string_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.9
+
 import 'package:expect/expect.dart';
 
 const interestingLengths = <int>[
diff --git a/tests/language_2/vm/allocation_sinking_arrays_test.dart b/tests/language_2/vm/allocation_sinking_arrays_test.dart
index c6dc0a5..8f3f4da 100644
--- a/tests/language_2/vm/allocation_sinking_arrays_test.dart
+++ b/tests/language_2/vm/allocation_sinking_arrays_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.9
+
 // VMOptions=--optimization-counter-threshold=100 --deterministic
 
 // Tests allocation sinking of arrays and typed data objects.
diff --git a/tests/language_2/vm/allocation_sinking_vm_test.dart b/tests/language_2/vm/allocation_sinking_vm_test.dart
index f96fcbd..845c0a0 100644
--- a/tests/language_2/vm/allocation_sinking_vm_test.dart
+++ b/tests/language_2/vm/allocation_sinking_vm_test.dart
@@ -4,6 +4,8 @@
 // Test allocation sinking optimization.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/async_await_catch_stacktrace_test.dart b/tests/language_2/vm/async_await_catch_stacktrace_test.dart
index 727b242..16584de 100644
--- a/tests/language_2/vm/async_await_catch_stacktrace_test.dart
+++ b/tests/language_2/vm/async_await_catch_stacktrace_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/language_2/vm/await_synchronous_future_test.dart b/tests/language_2/vm/await_synchronous_future_test.dart
index 9ccf5dc..1a314ca 100644
--- a/tests/language_2/vm/await_synchronous_future_test.dart
+++ b/tests/language_2/vm/await_synchronous_future_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.9
+
 // Test that async/await syntax works for synchronously completed futures.
 // Such futures are used by Flutter (see http://dartbug.com/32098).
 
diff --git a/tests/language_2/vm/bitnot_int_test.dart b/tests/language_2/vm/bitnot_int_test.dart
index f52d66b..2d7a607 100644
--- a/tests/language_2/vm/bitnot_int_test.dart
+++ b/tests/language_2/vm/bitnot_int_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/bool_check_stack_traces_test.dart b/tests/language_2/vm/bool_check_stack_traces_test.dart
index cd80936..cd9c490 100644
--- a/tests/language_2/vm/bool_check_stack_traces_test.dart
+++ b/tests/language_2/vm/bool_check_stack_traces_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.9
+
 import "package:expect/expect.dart";
 
 class Test1 {
@@ -95,9 +97,9 @@
 }
 
 main() {
-  testStackTrace(test1, [9, 18]);
-  testStackTrace(test2, [26, 35]);
-  testStackTrace(test3, [45, 54]);
-  testStackTrace(test4, [60]); //# 01: ok
-  testStackTrace(test5, [67]); //# 02: ok
+  testStackTrace(test1, [11, 20]);
+  testStackTrace(test2, [28, 37]);
+  testStackTrace(test3, [47, 56]);
+  testStackTrace(test4, [62]); //# 01: ok
+  testStackTrace(test5, [69]); //# 02: ok
 }
diff --git a/tests/language_2/vm/canonicalization_preserves_deopt_test.dart b/tests/language_2/vm/canonicalization_preserves_deopt_test.dart
index 37d1587..593fdd2 100644
--- a/tests/language_2/vm/canonicalization_preserves_deopt_test.dart
+++ b/tests/language_2/vm/canonicalization_preserves_deopt_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-use-osr --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class X {
diff --git a/tests/language_2/vm/causal_async_exception_stack2_test.dart b/tests/language_2/vm/causal_async_exception_stack2_test.dart
index e3ddda0..6e21580 100644
--- a/tests/language_2/vm/causal_async_exception_stack2_test.dart
+++ b/tests/language_2/vm/causal_async_exception_stack2_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--lazy-async-stacks
 
+// @dart = 2.9
+
 import 'package:async_helper/async_minitest.dart';
 
 import 'causal_async_exception_stack_helper.dart' as h;
diff --git a/tests/language_2/vm/causal_async_exception_stack_helper.dart b/tests/language_2/vm/causal_async_exception_stack_helper.dart
index 7a751b4..36e5c3b 100644
--- a/tests/language_2/vm/causal_async_exception_stack_helper.dart
+++ b/tests/language_2/vm/causal_async_exception_stack_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.9
+
 bool stringContainsInOrder(String string, List<String> substrings) {
   var fromIndex = 0;
   for (var s in substrings) {
diff --git a/tests/language_2/vm/causal_async_exception_stack_test.dart b/tests/language_2/vm/causal_async_exception_stack_test.dart
index e9df0a7..8afe38f 100644
--- a/tests/language_2/vm/causal_async_exception_stack_test.dart
+++ b/tests/language_2/vm/causal_async_exception_stack_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--lazy-async-stacks
 
+// @dart = 2.9
+
 import 'package:async_helper/async_minitest.dart';
 
 import 'causal_async_exception_stack_helper.dart' as h;
@@ -36,8 +38,8 @@
     } catch (e, st) {
       expect(
           h.stringContainsInOrder(st.toString(), [
-            'thrower', '.dart:12', // no auto-format.
-            'generator', '.dart:21', // no auto-format.
+            'thrower', '.dart:14', // no auto-format.
+            'generator', '.dart:23', // no auto-format.
             '<asynchronous suspension>', // no auto-format.
             'foo', '.dart', // no auto-format.
             'main',
@@ -74,8 +76,8 @@
     } catch (e, st) {
       expect(
           h.stringContainsInOrder(st.toString(), [
-            'thrower', '.dart:12', // no auto-format.
-            'main.<anonymous closure>', '.dart:73', // no auto-format.
+            'thrower', '.dart:14', // no auto-format.
+            'main.<anonymous closure>', '.dart:75', // no auto-format.
           ]),
           isTrue);
     }
diff --git a/tests/language_2/vm/checked_smi_comparison_test.dart b/tests/language_2/vm/checked_smi_comparison_test.dart
index d22cb01..777ca3f 100644
--- a/tests/language_2/vm/checked_smi_comparison_test.dart
+++ b/tests/language_2/vm/checked_smi_comparison_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.9
+
 // VMOptions=
 // VMOptions=--use_slow_path
 
diff --git a/tests/language_2/vm/checked_smi_op_test.dart b/tests/language_2/vm/checked_smi_op_test.dart
index f1ae4a6..5e1f8cd 100644
--- a/tests/language_2/vm/checked_smi_op_test.dart
+++ b/tests/language_2/vm/checked_smi_op_test.dart
@@ -2,7 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// SharedOptions=--enable-experiment=triple-shift
+// @dart = 2.9
+
 // VMOptions=
 // VMOptions=--use_slow_path
 
@@ -59,7 +60,6 @@
   operator ^(other) => "xor";
   operator <<(other) => "sll";
   operator >>(other) => "sra";
-  operator >>>(other) => "srl";
 }
 
 main() {
@@ -73,7 +73,6 @@
   Expect.equals(40, hiddenSmi() ^ 2);
   Expect.equals(168, hiddenSmi() << 2);
   Expect.equals(10, hiddenSmi() >> 2);
-  Expect.equals(10, hiddenSmi() >>> 2);
 
   Expect.equals(-9223372036854775806, hiddenMint() + 2);
   Expect.equals(9223372036854775806, hiddenMint() - 2);
@@ -85,7 +84,6 @@
   Expect.equals(-9223372036854775806, hiddenMint() ^ 2);
   Expect.equals(0, hiddenMint() << 2);
   Expect.equals(-2305843009213693952, hiddenMint() >> 2);
-  Expect.equals(2305843009213693952, hiddenMint() >>> 2);
 
   Expect.equals(5.0, hiddenDouble() + 2);
   Expect.equals(1.0, hiddenDouble() - 2);
@@ -97,7 +95,6 @@
   Expect.throws(() => hiddenDouble() ^ 2, (e) => e is NoSuchMethodError);
   Expect.throws(() => hiddenDouble() << 2, (e) => e is NoSuchMethodError);
   Expect.throws(() => hiddenDouble() >> 2, (e) => e is NoSuchMethodError);
-  Expect.throws(() => hiddenDouble() >>> 2, (e) => e is NoSuchMethodError);
 
   Expect.equals("add", hiddenCustom() + 2);
   Expect.equals("sub", hiddenCustom() - 2);
@@ -109,5 +106,4 @@
   Expect.equals("xor", hiddenCustom() ^ 2);
   Expect.equals("sll", hiddenCustom() << 2);
   Expect.equals("sra", hiddenCustom() >> 2);
-  Expect.equals("srl", hiddenCustom() >>> 2);
 }
diff --git a/tests/language_2/vm/clamp_37868_test.dart b/tests/language_2/vm/clamp_37868_test.dart
index a6d7f21..dce6bcd 100755
--- a/tests/language_2/vm/clamp_37868_test.dart
+++ b/tests/language_2/vm/clamp_37868_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.9
+
 // VMOptions=--deterministic
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/closure_memory_retention_test.dart b/tests/language_2/vm/closure_memory_retention_test.dart
index d373291..2f1ecef 100644
--- a/tests/language_2/vm/closure_memory_retention_test.dart
+++ b/tests/language_2/vm/closure_memory_retention_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--old_gen_heap_size=50
 
+// @dart = 2.9
+
 // Test that non-capturing closures don't retain unnecessary memory.
 // It tests that the context of `f` allocated within `bar` not leaking and does
 // not become the context of empty non-capturing closure allocated inside `foo`.
diff --git a/tests/language_2/vm/create_array_instr_deopt2_test.dart b/tests/language_2/vm/create_array_instr_deopt2_test.dart
index 3108cb5..4a18d34 100644
--- a/tests/language_2/vm/create_array_instr_deopt2_test.dart
+++ b/tests/language_2/vm/create_array_instr_deopt2_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 foo(n) {
   return new List(n);
 }
diff --git a/tests/language_2/vm/create_array_instr_deopt_test.dart b/tests/language_2/vm/create_array_instr_deopt_test.dart
index 4e2a778..3b0fb1c 100644
--- a/tests/language_2/vm/create_array_instr_deopt_test.dart
+++ b/tests/language_2/vm/create_array_instr_deopt_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 @pragma('vm:never-inline')
 foo(n) {
   try {
diff --git a/tests/language_2/vm/debug_break_enabled_vm_test.dart b/tests/language_2/vm/debug_break_enabled_vm_test.dart
index a0e0c59..42c8790 100644
--- a/tests/language_2/vm/debug_break_enabled_vm_test.dart
+++ b/tests/language_2/vm/debug_break_enabled_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=5 --enable-debug-break --no-background-compilation
 
+// @dart = 2.9
+
 // Verify that the optimizer does not trip over the debug break (StopInstr).
 
 test(i) {
diff --git a/tests/language_2/vm/debug_break_vm_test.dart b/tests/language_2/vm/debug_break_vm_test.dart
index cdc174a..5c4d29c 100644
--- a/tests/language_2/vm/debug_break_vm_test.dart
+++ b/tests/language_2/vm/debug_break_vm_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.9
+
 // A debug break is not valid Dart syntax unless --enable-debug-break.
 
 test(i) {
diff --git a/tests/language_2/vm/deep_loop_test.dart b/tests/language_2/vm/deep_loop_test.dart
index dea7d53..3fdc338 100644
--- a/tests/language_2/vm/deep_loop_test.dart
+++ b/tests/language_2/vm/deep_loop_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.9
+
 import 'package:expect/expect.dart';
 
 // Stress tests on loop nesting depth. Make sure loop and induction
diff --git a/tests/language_2/vm/deopt_hoisted_smi_check_vm_test.dart b/tests/language_2/vm/deopt_hoisted_smi_check_vm_test.dart
index 2ed2e38..00454bc 100644
--- a/tests/language_2/vm/deopt_hoisted_smi_check_vm_test.dart
+++ b/tests/language_2/vm/deopt_hoisted_smi_check_vm_test.dart
@@ -4,6 +4,8 @@
 // Test deoptimization on an optimistically hoisted smi check.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 sum(a, b) {
diff --git a/tests/language_2/vm/deopt_smi_check_vm_test.dart b/tests/language_2/vm/deopt_smi_check_vm_test.dart
index 3c61430..9642b45 100644
--- a/tests/language_2/vm/deopt_smi_check_vm_test.dart
+++ b/tests/language_2/vm/deopt_smi_check_vm_test.dart
@@ -4,6 +4,8 @@
 // Test deoptimization on a smi check.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 hc(a) {
diff --git a/tests/language_2/vm/div_mod_test.dart b/tests/language_2/vm/div_mod_test.dart
index ff9a88c..0d75505 100755
--- a/tests/language_2/vm/div_mod_test.dart
+++ b/tests/language_2/vm/div_mod_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.9
+
 // VMOptions=--deterministic
 // VMOptions=--deterministic --use_slow_path
 
diff --git a/tests/language_2/vm/exactness/future_or_regression_34238_test.dart b/tests/language_2/vm/exactness/future_or_regression_34238_test.dart
index 9ee7a96..9c73911 100644
--- a/tests/language_2/vm/exactness/future_or_regression_34238_test.dart
+++ b/tests/language_2/vm/exactness/future_or_regression_34238_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 
 class A {
diff --git a/tests/language_2/vm/function_equality_vm_test.dart b/tests/language_2/vm/function_equality_vm_test.dart
index 2c0f9fd..961bff5 100644
--- a/tests/language_2/vm/function_equality_vm_test.dart
+++ b/tests/language_2/vm/function_equality_vm_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.9
+
 // Test function equality with null.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/if_conversion_vm_test.dart b/tests/language_2/vm/if_conversion_vm_test.dart
index bea37af..c86aeea 100644
--- a/tests/language_2/vm/if_conversion_vm_test.dart
+++ b/tests/language_2/vm/if_conversion_vm_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.9
+
 // Test if-conversion pass in the optimizing compiler.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
diff --git a/tests/language_2/vm/inline_heuristic_test.dart b/tests/language_2/vm/inline_heuristic_test.dart
index 91ec7ea..5f9bb7c 100755
--- a/tests/language_2/vm/inline_heuristic_test.dart
+++ b/tests/language_2/vm/inline_heuristic_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.9
+
 // VMOptions=--deterministic --optimization_counter_threshold=10
 
 // Test on specialized vs non-specialized inlining.
diff --git a/tests/language_2/vm/integer_type_propagation2_test.dart b/tests/language_2/vm/integer_type_propagation2_test.dart
index a6d14e8..918d0cd 100644
--- a/tests/language_2/vm/integer_type_propagation2_test.dart
+++ b/tests/language_2/vm/integer_type_propagation2_test.dart
@@ -4,6 +4,8 @@
 // Test various optimizations and deoptimizations of optimizing compiler..
 // VMOptions=--no-background-compilation --optimization-counter-threshold=1000
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:typed_data";
 
diff --git a/tests/language_2/vm/integer_type_propagation_test.dart b/tests/language_2/vm/integer_type_propagation_test.dart
index ccf9834..468f03e 100644
--- a/tests/language_2/vm/integer_type_propagation_test.dart
+++ b/tests/language_2/vm/integer_type_propagation_test.dart
@@ -4,6 +4,8 @@
 // Test various optimizations and deoptimizations of optimizing compiler..
 // VMOptions=--no-background-compilation --optimization-counter-threshold=1000
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 @pragma('vm:never-inline')
diff --git a/tests/language_2/vm/irreducible_loop_test.dart b/tests/language_2/vm/irreducible_loop_test.dart
index 96baa3d..218844d 100644
--- a/tests/language_2/vm/irreducible_loop_test.dart
+++ b/tests/language_2/vm/irreducible_loop_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/issue11087_vm_test.dart b/tests/language_2/vm/issue11087_vm_test.dart
index 00458d5..40763eb 100644
--- a/tests/language_2/vm/issue11087_vm_test.dart
+++ b/tests/language_2/vm/issue11087_vm_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.9
+
 // Regression test for VM's IfConverted pass not keeping graph structure and
 // use lists in sync.
 
diff --git a/tests/language_2/vm/issue21220_vm_test.dart b/tests/language_2/vm/issue21220_vm_test.dart
index bc5dd57..f48392f 100644
--- a/tests/language_2/vm/issue21220_vm_test.dart
+++ b/tests/language_2/vm/issue21220_vm_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/lazy_deopt_vm_test.dart b/tests/language_2/vm/lazy_deopt_vm_test.dart
index ca4f3c7..4ff8351 100644
--- a/tests/language_2/vm/lazy_deopt_vm_test.dart
+++ b/tests/language_2/vm/lazy_deopt_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-filter=foo --deoptimize_every=10 --optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 // Test that lazy deoptimization on stack checks does not damage unoptimized
 // frame.
 
diff --git a/tests/language_2/vm/lazy_deopt_with_exception_and_stacktrace_test.dart b/tests/language_2/vm/lazy_deopt_with_exception_and_stacktrace_test.dart
index c1101a1..ce9d803 100644
--- a/tests/language_2/vm/lazy_deopt_with_exception_and_stacktrace_test.dart
+++ b/tests/language_2/vm/lazy_deopt_with_exception_and_stacktrace_test.dart
@@ -4,6 +4,8 @@
 // Test deoptimization on an optimistically hoisted smi check.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 // Test that lazy deoptimization works if the program returns to a function
 // that is scheduled for lazy deoptimization via an exception.
 
diff --git a/tests/language_2/vm/lazy_deopt_with_exception_test.dart b/tests/language_2/vm/lazy_deopt_with_exception_test.dart
index c040e54..a38089f 100644
--- a/tests/language_2/vm/lazy_deopt_with_exception_test.dart
+++ b/tests/language_2/vm/lazy_deopt_with_exception_test.dart
@@ -4,6 +4,8 @@
 // Test deoptimization on an optimistically hoisted smi check.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 // Test that lazy deoptimization works if the program returns to a function
 // that is scheduled for lazy deoptimization via an exception.
 
diff --git a/tests/language_2/vm/licm_constant_redefinition_vm_test.dart b/tests/language_2/vm/licm_constant_redefinition_vm_test.dart
index 662cb4b..28d64e5 100644
--- a/tests/language_2/vm/licm_constant_redefinition_vm_test.dart
+++ b/tests/language_2/vm/licm_constant_redefinition_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=100 --no-use-osr --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class X {
diff --git a/tests/language_2/vm/load_elimination_any_use_creates_alias_test.dart b/tests/language_2/vm/load_elimination_any_use_creates_alias_test.dart
index ff1639f..b1092ae 100644
--- a/tests/language_2/vm/load_elimination_any_use_creates_alias_test.dart
+++ b/tests/language_2/vm/load_elimination_any_use_creates_alias_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--no-use-osr --optimization-counter-threshold=10 --no-background-compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/load_elimination_has_loads_from_place_test.dart b/tests/language_2/vm/load_elimination_has_loads_from_place_test.dart
index 167e9c6..0a5d3bd 100644
--- a/tests/language_2/vm/load_elimination_has_loads_from_place_test.dart
+++ b/tests/language_2/vm/load_elimination_has_loads_from_place_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
 // Tests correct handling of redefinitions in aliasing computation.
diff --git a/tests/language_2/vm/load_elimination_mark_stored_values_escaping_test.dart b/tests/language_2/vm/load_elimination_mark_stored_values_escaping_test.dart
index 13d3fed..4a3835c 100644
--- a/tests/language_2/vm/load_elimination_mark_stored_values_escaping_test.dart
+++ b/tests/language_2/vm/load_elimination_mark_stored_values_escaping_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--no-use-osr --optimization-counter-threshold=10 --no-background-compilation
 
 // Tests correct handling of redefinitions in aliasing computation.
diff --git a/tests/language_2/vm/load_elimination_two_redefinitions_test.dart b/tests/language_2/vm/load_elimination_two_redefinitions_test.dart
index 1f65bc2..3e8e792 100644
--- a/tests/language_2/vm/load_elimination_two_redefinitions_test.dart
+++ b/tests/language_2/vm/load_elimination_two_redefinitions_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
 // Tests correct handling of redefinitions in aliasing computation.
diff --git a/tests/language_2/vm/load_to_load_forwarding_cutdown_vm_test.dart b/tests/language_2/vm/load_to_load_forwarding_cutdown_vm_test.dart
index ed81342..5dbc503 100644
--- a/tests/language_2/vm/load_to_load_forwarding_cutdown_vm_test.dart
+++ b/tests/language_2/vm/load_to_load_forwarding_cutdown_vm_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.9
+
 // Test correctness of side effects tracking used by load to load forwarding.
 // In this cutdown version of the load_to_load_forwarding_vm test, the function
 // being compiled ends up in a single basic block, which tests load
diff --git a/tests/language_2/vm/load_to_load_forwarding_vm_test.dart b/tests/language_2/vm/load_to_load_forwarding_vm_test.dart
index a944e29..f16683a 100644
--- a/tests/language_2/vm/load_to_load_forwarding_vm_test.dart
+++ b/tests/language_2/vm/load_to_load_forwarding_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/load_to_load_unaligned_forwarding_vm_test.dart b/tests/language_2/vm/load_to_load_unaligned_forwarding_vm_test.dart
index 0a5d820..e648e94 100644
--- a/tests/language_2/vm/load_to_load_unaligned_forwarding_vm_test.dart
+++ b/tests/language_2/vm/load_to_load_unaligned_forwarding_vm_test.dart
@@ -4,6 +4,8 @@
 // Test correctness of side effects tracking used by load to load forwarding.
 // Should be merged into load_to_load_forwarding once Issue 22151 is fixed.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/math_vm_test.dart b/tests/language_2/vm/math_vm_test.dart
index 6d942a5..3fc97bc 100644
--- a/tests/language_2/vm/math_vm_test.dart
+++ b/tests/language_2/vm/math_vm_test.dart
@@ -4,6 +4,8 @@
 // Tests that the VM does not crash on weird corner cases of class Math.
 // VMOptions=--optimization_counter_threshold=100 --no-background_compilation
 
+// @dart = 2.9
+
 library math_vm_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/mixin_test.dart b/tests/language_2/vm/mixin_test.dart
index b086b73..b68f98a 100755
--- a/tests/language_2/vm/mixin_test.dart
+++ b/tests/language_2/vm/mixin_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.9
+
 // Illustrates inlining heuristic issue of
 // https://github.com/dart-lang/sdk/issues/37126
 // (mixins introduce one extra depth of inlining).
diff --git a/tests/language_2/vm/modtruncdiv_int_test.dart b/tests/language_2/vm/modtruncdiv_int_test.dart
index 018995e..907f912 100644
--- a/tests/language_2/vm/modtruncdiv_int_test.dart
+++ b/tests/language_2/vm/modtruncdiv_int_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10 --use_slow_path
 
diff --git a/tests/language_2/vm/mult_int_test.dart b/tests/language_2/vm/mult_int_test.dart
index 16df391..83ff1aa 100644
--- a/tests/language_2/vm/mult_int_test.dart
+++ b/tests/language_2/vm/mult_int_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10 --use_slow_path
 
diff --git a/tests/language_2/vm/negate_int_test.dart b/tests/language_2/vm/negate_int_test.dart
index 253756e..9ba3d9b 100644
--- a/tests/language_2/vm/negate_int_test.dart
+++ b/tests/language_2/vm/negate_int_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10 --use_slow_path
 
diff --git a/tests/language_2/vm/no_such_args_error_message_vm_test.dart b/tests/language_2/vm/no_such_args_error_message_vm_test.dart
index 3429907..48c3688 100644
--- a/tests/language_2/vm/no_such_args_error_message_vm_test.dart
+++ b/tests/language_2/vm/no_such_args_error_message_vm_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation --no-lazy-dispatchers
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test error message with misusing Functions and Closures: wrong args
diff --git a/tests/language_2/vm/no_such_method_error_message_callable_vm_test.dart b/tests/language_2/vm/no_such_method_error_message_callable_vm_test.dart
index a7d5ed9..063b47c 100644
--- a/tests/language_2/vm/no_such_method_error_message_callable_vm_test.dart
+++ b/tests/language_2/vm/no_such_method_error_message_callable_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test error message with noSuchMethodError: non-existent names
diff --git a/tests/language_2/vm/no_such_method_error_message_vm_test.dart b/tests/language_2/vm/no_such_method_error_message_vm_test.dart
index 575a966..f029976 100644
--- a/tests/language_2/vm/no_such_method_error_message_vm_test.dart
+++ b/tests/language_2/vm/no_such_method_error_message_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test error message with noSuchMethodError: non-existent names
diff --git a/tests/language_2/vm/null_hashcode_optimized_vm_test.dart b/tests/language_2/vm/null_hashcode_optimized_vm_test.dart
index d7263a7..bb2d0c7 100644
--- a/tests/language_2/vm/null_hashcode_optimized_vm_test.dart
+++ b/tests/language_2/vm/null_hashcode_optimized_vm_test.dart
@@ -4,6 +4,8 @@
 // Test that optimized Object.hashCode works for the null receiver.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 main() {
   for (int i = 0; i < 20; i++) {
     foo(null);
diff --git a/tests/language_2/vm/optimization_test.dart b/tests/language_2/vm/optimization_test.dart
index 3205425..b949736 100644
--- a/tests/language_2/vm/optimization_test.dart
+++ b/tests/language_2/vm/optimization_test.dart
@@ -4,6 +4,8 @@
 // Test various optimizations and deoptimizations of optimizing compiler..
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 addThem(a, b) {
diff --git a/tests/language_2/vm/optimized_await_regress_test.dart b/tests/language_2/vm/optimized_await_regress_test.dart
index bdb25a6..9980578 100644
--- a/tests/language_2/vm/optimized_await_regress_test.dart
+++ b/tests/language_2/vm/optimized_await_regress_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.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
 // This tests that captured parameters (by the async-closure) are
diff --git a/tests/language_2/vm/optimized_check_class_test.dart b/tests/language_2/vm/optimized_check_class_test.dart
index 76cced1..61f1b8f 100644
--- a/tests/language_2/vm/optimized_check_class_test.dart
+++ b/tests/language_2/vm/optimized_check_class_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test dense class-id checks. Regression test for issue 22104.
diff --git a/tests/language_2/vm/optimized_guarded_field_isolates_test.dart b/tests/language_2/vm/optimized_guarded_field_isolates_test.dart
index 742a7eb..c08c957 100644
--- a/tests/language_2/vm/optimized_guarded_field_isolates_test.dart
+++ b/tests/language_2/vm/optimized_guarded_field_isolates_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 // VMOptions=--optimization_counter_threshold=100 --no-background_compilation
diff --git a/tests/language_2/vm/optimized_guarded_field_test.dart b/tests/language_2/vm/optimized_guarded_field_test.dart
index dc25a92..74bf956 100644
--- a/tests/language_2/vm/optimized_guarded_field_test.dart
+++ b/tests/language_2/vm/optimized_guarded_field_test.dart
@@ -5,6 +5,8 @@
 // by store to load forwarding.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:typed_data";
 
diff --git a/tests/language_2/vm/optimized_identical_test.dart b/tests/language_2/vm/optimized_identical_test.dart
index 5e10278..3de4723 100644
--- a/tests/language_2/vm/optimized_identical_test.dart
+++ b/tests/language_2/vm/optimized_identical_test.dart
@@ -4,6 +4,8 @@
 // Test various optimizations and deoptimizations of optimizing compiler..
 // VMOptions=--optimization-counter-threshold=10 --no-constant-propagation --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test canonicalization of identical with double input.
diff --git a/tests/language_2/vm/optimized_list_constructor_test.dart b/tests/language_2/vm/optimized_list_constructor_test.dart
index 7c4b4bf..fd57ae2 100644
--- a/tests/language_2/vm/optimized_list_constructor_test.dart
+++ b/tests/language_2/vm/optimized_list_constructor_test.dart
@@ -4,6 +4,8 @@
 // Test various optimizations and deoptimizations of optimizing compiler..
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test correct throwing of ArgumentError in optimized code.
diff --git a/tests/language_2/vm/optimized_polymorphic_list_access_test.dart b/tests/language_2/vm/optimized_polymorphic_list_access_test.dart
index df67659..ae29864 100644
--- a/tests/language_2/vm/optimized_polymorphic_list_access_test.dart
+++ b/tests/language_2/vm/optimized_polymorphic_list_access_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test correct polymorphic inlining of recognized methods like list access.
diff --git a/tests/language_2/vm/optimized_shl_test.dart b/tests/language_2/vm/optimized_shl_test.dart
index 9c1709b..db1014e 100644
--- a/tests/language_2/vm/optimized_shl_test.dart
+++ b/tests/language_2/vm/optimized_shl_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test truncating left-shift that can deoptimize.
diff --git a/tests/language_2/vm/optimized_stacktrace_test.dart b/tests/language_2/vm/optimized_stacktrace_test.dart
index 675029f..6fd02e6 100644
--- a/tests/language_2/vm/optimized_stacktrace_test.dart
+++ b/tests/language_2/vm/optimized_stacktrace_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--stacktrace-every=3 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Test generating stacktraces with inlining and deferred code.
 // Regression test for issue dartbug.com/22331
 
diff --git a/tests/language_2/vm/optimized_testsmi_test.dart b/tests/language_2/vm/optimized_testsmi_test.dart
index 0643832..124afc8 100644
--- a/tests/language_2/vm/optimized_testsmi_test.dart
+++ b/tests/language_2/vm/optimized_testsmi_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 // Test branch optimization for TestSmiInstr
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/optimized_try_catch_cha_test.dart b/tests/language_2/vm/optimized_try_catch_cha_test.dart
index f71fac1..8cbbc79 100644
--- a/tests/language_2/vm/optimized_try_catch_cha_test.dart
+++ b/tests/language_2/vm/optimized_try_catch_cha_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=100 --no-use-osr --no-background_compilation
 
+// @dart = 2.9
+
 // Test CHA-based optimizations in presence of try-catch.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/optimized_unique_selector_test.dart b/tests/language_2/vm/optimized_unique_selector_test.dart
index d9725dc..e40f27f 100644
--- a/tests/language_2/vm/optimized_unique_selector_test.dart
+++ b/tests/language_2/vm/optimized_unique_selector_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/vm/osr_nonempty_stack_test.dart b/tests/language_2/vm/osr_nonempty_stack_test.dart
index a31df50..9f14076 100644
--- a/tests/language_2/vm/osr_nonempty_stack_test.dart
+++ b/tests/language_2/vm/osr_nonempty_stack_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.9
+
 // Test with OSR on non-empty stack (block expression).
 
 import 'dart:core';
diff --git a/tests/language_2/vm/plus_null_37719_test.dart b/tests/language_2/vm/plus_null_37719_test.dart
index 66b8750..b6f1f6e 100755
--- a/tests/language_2/vm/plus_null_37719_test.dart
+++ b/tests/language_2/vm/plus_null_37719_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.9
+
 // VMOptions=--deterministic
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/power_int_test.dart b/tests/language_2/vm/power_int_test.dart
index 4f0c86e..bc3fcc9 100644
--- a/tests/language_2/vm/power_int_test.dart
+++ b/tests/language_2/vm/power_int_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.9
+
 import "package:expect/expect.dart";
 import 'dart:math';
 
diff --git a/tests/language_2/vm/precompiled_static_initializer_test.dart b/tests/language_2/vm/precompiled_static_initializer_test.dart
index 195e07d..0bbac27 100644
--- a/tests/language_2/vm/precompiled_static_initializer_test.dart
+++ b/tests/language_2/vm/precompiled_static_initializer_test.dart
@@ -4,6 +4,8 @@
 // Test optimizations with static fields with precompilation.
 // VMOptions=--inlining-hotness=0
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 init() => 123;
diff --git a/tests/language_2/vm/reflect_core_vm_test.dart b/tests/language_2/vm/reflect_core_vm_test.dart
index 75fff71..16dc279 100644
--- a/tests/language_2/vm/reflect_core_vm_test.dart
+++ b/tests/language_2/vm/reflect_core_vm_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.9
+
 // Test reflection of private functions in core classes.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regress_14903_test.dart b/tests/language_2/vm/regress_14903_test.dart
index 54165ad..342fb23 100644
--- a/tests/language_2/vm/regress_14903_test.dart
+++ b/tests/language_2/vm/regress_14903_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 // Test identical comparisons in optimized code. Registers must be preserved
diff --git a/tests/language_2/vm/regress_16873_test.dart b/tests/language_2/vm/regress_16873_test.dart
index 12bc1ef..7a6fd54 100644
--- a/tests/language_2/vm/regress_16873_test.dart
+++ b/tests/language_2/vm/regress_16873_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--new_gen_semi_max_size=1 --no_inline_alloc
 
+// @dart = 2.9
+
 // Regression test for slow-path allocation in the allocation stub.
 
 library map_test;
diff --git a/tests/language_2/vm/regress_21245_test.dart b/tests/language_2/vm/regress_21245_test.dart
index 7a8001e..a2e4d55 100644
--- a/tests/language_2/vm/regress_21245_test.dart
+++ b/tests/language_2/vm/regress_21245_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-use-osr --no-background_compilation
 
+// @dart = 2.9
+
 test(a) {
   var e;
   for (var i = 0; i < a.length; i++) {
diff --git a/tests/language_2/vm/regress_22480_test.dart b/tests/language_2/vm/regress_22480_test.dart
index 3dfc574..ba5e268 100644
--- a/tests/language_2/vm/regress_22480_test.dart
+++ b/tests/language_2/vm/regress_22480_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 test(j) {
diff --git a/tests/language_2/vm/regress_22541_vm_test.dart b/tests/language_2/vm/regress_22541_vm_test.dart
index 0d121ac..671a15f 100644
--- a/tests/language_2/vm/regress_22541_vm_test.dart
+++ b/tests/language_2/vm/regress_22541_vm_test.dart
@@ -4,6 +4,8 @@
 // Test range inference for multiplication of two negative values.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 test(a) {
diff --git a/tests/language_2/vm/regress_22621_vm_test.dart b/tests/language_2/vm/regress_22621_vm_test.dart
index 5b5b27d..3801750 100644
--- a/tests/language_2/vm/regress_22621_vm_test.dart
+++ b/tests/language_2/vm/regress_22621_vm_test.dart
@@ -4,6 +4,8 @@
 // Test that BoxAllocationSlowPath for Mint emits stackmap in unoptimized code.
 // VMOptions=--inline_alloc=false
 
+// @dart = 2.9
+
 main() {
   var re = new RegExp(r"IsolateStubs (.*)");
   return re.firstMatch("oooo");
diff --git a/tests/language_2/vm/regress_22693_vm_test.dart b/tests/language_2/vm/regress_22693_vm_test.dart
index 6df2a46..74a5b6b 100644
--- a/tests/language_2/vm/regress_22693_vm_test.dart
+++ b/tests/language_2/vm/regress_22693_vm_test.dart
@@ -4,6 +4,8 @@
 // Test location summary for Uint32 multiplication.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 const MASK = 0xFFFFFFFF;
 
 uint32Mul(x, y) => (x * y) & MASK;
diff --git a/tests/language_2/vm/regress_23117_vm_test.dart b/tests/language_2/vm/regress_23117_vm_test.dart
index d6fcf69..4dcb411 100644
--- a/tests/language_2/vm/regress_23117_vm_test.dart
+++ b/tests/language_2/vm/regress_23117_vm_test.dart
@@ -4,6 +4,8 @@
 // Test location summary for Uint32 multiplication.
 // VMOptions=--optimization-counter-threshold=5 --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 mintLeftShift(x, y) => x << y;
diff --git a/tests/language_2/vm/regress_23238_test.dart b/tests/language_2/vm/regress_23238_test.dart
index f89bbb4..d11494f 100644
--- a/tests/language_2/vm/regress_23238_test.dart
+++ b/tests/language_2/vm/regress_23238_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.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/language_2/vm/regress_24517_test.dart b/tests/language_2/vm/regress_24517_test.dart
index 654caf9..c9e4dea 100644
--- a/tests/language_2/vm/regress_24517_test.dart
+++ b/tests/language_2/vm/regress_24517_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.9
+
 // VMOptions=--no-intrinsify
 
 // Test that math runtime function (non-intrinsified) produce the expected
diff --git a/tests/language_2/vm/regress_27201_lib.dart b/tests/language_2/vm/regress_27201_lib.dart
index af32a46..bf9fe78 100644
--- a/tests/language_2/vm/regress_27201_lib.dart
+++ b/tests/language_2/vm/regress_27201_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library import_lib;
 
 final foo = 1;
diff --git a/tests/language_2/vm/regress_27201_test.dart b/tests/language_2/vm/regress_27201_test.dart
index bb106af..825ab08 100644
--- a/tests/language_2/vm/regress_27201_test.dart
+++ b/tests/language_2/vm/regress_27201_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.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
diff --git a/tests/language_2/vm/regress_27671_other.dart b/tests/language_2/vm/regress_27671_other.dart
index e62d013..e21d742 100644
--- a/tests/language_2/vm/regress_27671_other.dart
+++ b/tests/language_2/vm/regress_27671_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'regress_27671_test.dart';
 
 @pragma('vm:prefer-inline')
diff --git a/tests/language_2/vm/regress_27671_test.dart b/tests/language_2/vm/regress_27671_test.dart
index 99de5b9..9ec2519 100644
--- a/tests/language_2/vm/regress_27671_test.dart
+++ b/tests/language_2/vm/regress_27671_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--enable_asserts --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 import 'regress_27671_other.dart';
 
diff --git a/tests/language_2/vm/regress_29137_vm_test.dart b/tests/language_2/vm/regress_29137_vm_test.dart
index 978483f..1088cee 100644
--- a/tests/language_2/vm/regress_29137_vm_test.dart
+++ b/tests/language_2/vm/regress_29137_vm_test.dart
@@ -13,6 +13,8 @@
 //
 // VMOptions=--optimization-counter-threshold=5 --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 const _MASK_32 = 0xffffffff;
diff --git a/tests/language_2/vm/regress_29145_test.dart b/tests/language_2/vm/regress_29145_test.dart
index a518a22..d182b41 100644
--- a/tests/language_2/vm/regress_29145_test.dart
+++ b/tests/language_2/vm/regress_29145_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=-1 --stacktrace-filter=completeError --stress-async-stacks
 
+// @dart = 2.9
+
 // Stress test for async stack traces.
 
 import 'dart:async';
diff --git a/tests/language_2/vm/regress_31946_test.dart b/tests/language_2/vm/regress_31946_test.dart
index 19554a0..3c9692c 100644
--- a/tests/language_2/vm/regress_31946_test.dart
+++ b/tests/language_2/vm/regress_31946_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.9
+
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
 
 import 'dart:async';
diff --git a/tests/language_2/vm/regress_32204_test.dart b/tests/language_2/vm/regress_32204_test.dart
index abfa050..2574661 100644
--- a/tests/language_2/vm/regress_32204_test.dart
+++ b/tests/language_2/vm/regress_32204_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.9
+
 // Verify that local functions capture `this` if their arguments refer to
 // type parameters from the enclosing class.
 
diff --git a/tests/language_2/vm/regress_32322_test.dart b/tests/language_2/vm/regress_32322_test.dart
index 61415d7..3312d0b 100644
--- a/tests/language_2/vm/regress_32322_test.dart
+++ b/tests/language_2/vm/regress_32322_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.9
+
 // Verify that optimizing compiler does not perform an illegal code motion
 // past CheckNull instruction.
 
diff --git a/tests/language_2/vm/regress_32502_test.dart b/tests/language_2/vm/regress_32502_test.dart
index 6bdf285..b343308 100644
--- a/tests/language_2/vm/regress_32502_test.dart
+++ b/tests/language_2/vm/regress_32502_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.9
+
 // Verify that VM does not omit type checks from closure prologues.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regress_32971_test.dart b/tests/language_2/vm/regress_32971_test.dart
index 6f5863b..f335e6d 100644
--- a/tests/language_2/vm/regress_32971_test.dart
+++ b/tests/language_2/vm/regress_32971_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.9
+
 // Test verifying that default switch cast is cloned correctly by the
 // mixin transformation.
 
diff --git a/tests/language_2/vm/regress_33025_test.dart b/tests/language_2/vm/regress_33025_test.dart
index 4b083c3..52161b3 100644
--- a/tests/language_2/vm/regress_33025_test.dart
+++ b/tests/language_2/vm/regress_33025_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.9
+
 // Verify that VM correctly handles function type arguments across
 // yield points.
 
diff --git a/tests/language_2/vm/regress_33040_instantiation_test.dart b/tests/language_2/vm/regress_33040_instantiation_test.dart
index 0b15de0..0789b18 100644
--- a/tests/language_2/vm/regress_33040_instantiation_test.dart
+++ b/tests/language_2/vm/regress_33040_instantiation_test.dart
@@ -4,6 +4,8 @@
 //
 // Exact regression test for issue #33040.
 
+// @dart = 2.9
+
 import 'dart:async';
 
 class Optional<T> {}
diff --git a/tests/language_2/vm/regress_33040_test.dart b/tests/language_2/vm/regress_33040_test.dart
index 8b595bf..bcd86a9 100644
--- a/tests/language_2/vm/regress_33040_test.dart
+++ b/tests/language_2/vm/regress_33040_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.9
+
 // Verify that prefix sharing optimization is taken into account when
 // concatenating type arguments vectors.
 
diff --git a/tests/language_2/vm/regress_33073_test.dart b/tests/language_2/vm/regress_33073_test.dart
index 18ea228..fd79ad8 100644
--- a/tests/language_2/vm/regress_33073_test.dart
+++ b/tests/language_2/vm/regress_33073_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.9
+
 // Verify that the correct number of type arguments is observed in the
 // Invocation object for invocations that pass all-dynamic type arguments.
 
diff --git a/tests/language_2/vm/regress_33095_test.dart b/tests/language_2/vm/regress_33095_test.dart
index 9dd97c0..0545930 100644
--- a/tests/language_2/vm/regress_33095_test.dart
+++ b/tests/language_2/vm/regress_33095_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.9
+
 import "package:expect/expect.dart";
 
 typedef String IntFunctionType(int _);
diff --git a/tests/language_2/vm/regress_33469_test.dart b/tests/language_2/vm/regress_33469_test.dart
index 831704e..a85fcf4 100644
--- a/tests/language_2/vm/regress_33469_test.dart
+++ b/tests/language_2/vm/regress_33469_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.9
+
 class X {
   final x;
   const X(this.x);
diff --git a/tests/language_2/vm/regress_33794_test.dart b/tests/language_2/vm/regress_33794_test.dart
index 17940f3..c98cfa9 100644
--- a/tests/language_2/vm/regress_33794_test.dart
+++ b/tests/language_2/vm/regress_33794_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.9
+
 // Verify that sub-expressions with side-effects are handled correctly
 // in the presence of exceptions or deoptimization.
 
diff --git a/tests/language_2/vm/regress_34051_test.dart b/tests/language_2/vm/regress_34051_test.dart
index 0e78912..2b6d3e3 100644
--- a/tests/language_2/vm/regress_34051_test.dart
+++ b/tests/language_2/vm/regress_34051_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/language_2/vm/regress_34288_test.dart b/tests/language_2/vm/regress_34288_test.dart
index a5f8272..dd41e72 100644
--- a/tests/language_2/vm/regress_34288_test.dart
+++ b/tests/language_2/vm/regress_34288_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.9
+
 // Test canonicalization of integer shift operations.
 // This is a regression test for dartbug.com/34288.
 
diff --git a/tests/language_2/vm/regress_34396_helper.dart b/tests/language_2/vm/regress_34396_helper.dart
index 5e61334..b3f19bc 100644
--- a/tests/language_2/vm/regress_34396_helper.dart
+++ b/tests/language_2/vm/regress_34396_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.9
+
 library regress_34396_helper;
 
 get privateSymbol => #_privateSymbol;
diff --git a/tests/language_2/vm/regress_34396_test.dart b/tests/language_2/vm/regress_34396_test.dart
index ead2b0b..53acc84 100644
--- a/tests/language_2/vm/regress_34396_test.dart
+++ b/tests/language_2/vm/regress_34396_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.9
+
 import 'package:expect/expect.dart';
 
 import 'regress_34396_helper.dart' as helper;
diff --git a/tests/language_2/vm/regress_34435_test.dart b/tests/language_2/vm/regress_34435_test.dart
index 11e709b..fc7eedb 100644
--- a/tests/language_2/vm/regress_34435_test.dart
+++ b/tests/language_2/vm/regress_34435_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.9
+
 // VMOptions=--optimization-filter=triggerBug --no-background-compilation --optimization-counter-threshold=2
 
 @pragma('vm:never-inline')
diff --git a/tests/language_2/vm/regress_34466_test.dart b/tests/language_2/vm/regress_34466_test.dart
index 69b237f..c88b360 100644
--- a/tests/language_2/vm/regress_34466_test.dart
+++ b/tests/language_2/vm/regress_34466_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.9
+
 // Test NaN comparison (dartbug.com/34466 and dartbug.com/34467).
 
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/regress_34644_test.dart b/tests/language_2/vm/regress_34644_test.dart
index 24f8cf8..f01ae2b 100644
--- a/tests/language_2/vm/regress_34644_test.dart
+++ b/tests/language_2/vm/regress_34644_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.9
+
 // This test verifies that annotations on parameters are correctly handled
 // in the tree shaker.
 // Regression test for https://github.com/dart-lang/sdk/issues/34644.
diff --git a/tests/language_2/vm/regress_34684_test.dart b/tests/language_2/vm/regress_34684_test.dart
index 626cb50..30c1a5b 100644
--- a/tests/language_2/vm/regress_34684_test.dart
+++ b/tests/language_2/vm/regress_34684_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.9
+
 // No LICM on array bounds check (dartbug.com/34684).
 //
 // VMOptions=--deterministic --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/regress_35321_test.dart b/tests/language_2/vm/regress_35321_test.dart
index 8823ddb..bc8194b 100644
--- a/tests/language_2/vm/regress_35321_test.dart
+++ b/tests/language_2/vm/regress_35321_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.9
+
 // Proper CP on double op (dartbug.com/35321).
 //
 // VMOptions=--deterministic --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/regress_35325_test.dart b/tests/language_2/vm/regress_35325_test.dart
index cfd9772..c479a238 100644
--- a/tests/language_2/vm/regress_35325_test.dart
+++ b/tests/language_2/vm/regress_35325_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.9
+
 // Proper nullable comparison (dartbug.com/35325).
 //
 // VMOptions=--deterministic --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/regress_36589_test.dart b/tests/language_2/vm/regress_36589_test.dart
index 2fe4932..2fadec2b 100644
--- a/tests/language_2/vm/regress_36589_test.dart
+++ b/tests/language_2/vm/regress_36589_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.9
+
 // Non-smi constant indices for load and store indexed (dartbug.com/36589).
 //
 // VMOptions=--deterministic --optimization_counter_threshold=5
diff --git a/tests/language_2/vm/regress_36681_test.dart b/tests/language_2/vm/regress_36681_test.dart
index c0721c2..a61c705 100644
--- a/tests/language_2/vm/regress_36681_test.dart
+++ b/tests/language_2/vm/regress_36681_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.9
+
 // Enforce proper S-overlapping register for temp (dartbug.com/36681).
 //
 // VMOptions=--deterministic --optimization_counter_threshold=5
diff --git a/tests/language_2/vm/regress_36778_test.dart b/tests/language_2/vm/regress_36778_test.dart
index b3a95d5..2c860d5 100644
--- a/tests/language_2/vm/regress_36778_test.dart
+++ b/tests/language_2/vm/regress_36778_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.9
+
 // Check for length overflow when eliminating write barriers for variable-length
 // objects.
 //
diff --git a/tests/language_2/vm/regress_36803_test.dart b/tests/language_2/vm/regress_36803_test.dart
index 0cbd09d..50b0dcb 100755
--- a/tests/language_2/vm/regress_36803_test.dart
+++ b/tests/language_2/vm/regress_36803_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.9
+
 // Don't LICM AOT's generic bounds check reference beyond other exception.
 // (dartbug.com/36803).
 //
diff --git a/tests/language_2/vm/regress_36977_test.dart b/tests/language_2/vm/regress_36977_test.dart
index caeabad..0ee27a7 100755
--- a/tests/language_2/vm/regress_36977_test.dart
+++ b/tests/language_2/vm/regress_36977_test.dart
@@ -7,6 +7,8 @@
 // Regression test, reduced case found by DartFuzz that crashed DBC register
 // allocator (https://github.com/dart-lang/sdk/issues/36977).
 
+// @dart = 2.9
+
 // [NNBD non-migrated]: This test contains dozens and dozens of static errors
 // under NNBD. Migrating the test to fix those errors significantly changes the
 // code under test in ways that are likely to invalidate it.
diff --git a/tests/language_2/vm/regress_37149_test.dart b/tests/language_2/vm/regress_37149_test.dart
index 5907c5b..ab6b46d 100644
--- a/tests/language_2/vm/regress_37149_test.dart
+++ b/tests/language_2/vm/regress_37149_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.9
+
 // This test verifies that typedef types used in constants are correctly
 // visited in the tree shaker.
 // Regression test for https://github.com/dart-lang/sdk/issues/37149.
diff --git a/tests/language_2/vm/regress_37984_test.dart b/tests/language_2/vm/regress_37984_test.dart
index 2e7cd6f..5ca6ba6 100644
--- a/tests/language_2/vm/regress_37984_test.dart
+++ b/tests/language_2/vm/regress_37984_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.9
+
 import 'dart:async';
 
 main() async {
diff --git a/tests/language_2/vm/regress_39283_test.dart b/tests/language_2/vm/regress_39283_test.dart
index 0638fb8..ad35c0b 100644
--- a/tests/language_2/vm/regress_39283_test.dart
+++ b/tests/language_2/vm/regress_39283_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/vm/regress_40792_test.dart b/tests/language_2/vm/regress_40792_test.dart
index 310e084..19d3739 100644
--- a/tests/language_2/vm/regress_40792_test.dart
+++ b/tests/language_2/vm/regress_40792_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.9
+
 // VMOptions=--optimization_counter_threshold=10 --deterministic
 
 // Regression test for https://dartbug.com/40792 and https://dartbug.com/40795.
diff --git a/tests/language_2/vm/regress_45525_test.dart b/tests/language_2/vm/regress_45525_test.dart
index 2becc03..57c7e88 100644
--- a/tests/language_2/vm/regress_45525_test.dart
+++ b/tests/language_2/vm/regress_45525_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10  --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 dynamic a() {
diff --git a/tests/language_2/vm/regress_45674_test.dart b/tests/language_2/vm/regress_45674_test.dart
index bbfc20a..56ab029 100644
--- a/tests/language_2/vm/regress_45674_test.dart
+++ b/tests/language_2/vm/regress_45674_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.9
+
 import "package:expect/expect.dart";
 
 // Reduced from
diff --git a/tests/language_2/vm/regress_b131091988_test.dart b/tests/language_2/vm/regress_b131091988_test.dart
index 359b4fe..9d6f50cf 100644
--- a/tests/language_2/vm/regress_b131091988_test.dart
+++ b/tests/language_2/vm/regress_b131091988_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.9
+
 // Check that await from a call-via-field expression works.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/vm/regress_b80154489_test.dart b/tests/language_2/vm/regress_b80154489_test.dart
index a93b384..d9f303b 100644
--- a/tests/language_2/vm/regress_b80154489_test.dart
+++ b/tests/language_2/vm/regress_b80154489_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.9
+
 // Check that class finalizer correctly marks supertypes of superinterfaces
 // as implemented.
 
diff --git a/tests/language_2/vm/regress_flutter_14891_test.dart b/tests/language_2/vm/regress_flutter_14891_test.dart
index 1f410df..539199d 100644
--- a/tests/language_2/vm/regress_flutter_14891_test.dart
+++ b/tests/language_2/vm/regress_flutter_14891_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.9
+
 // Test verifying that type literals hidden within other constant objects
 // are correctly handled by the AOT compiler.
 
diff --git a/tests/language_2/vm/regress_flutter_19612_test.dart b/tests/language_2/vm/regress_flutter_19612_test.dart
index e7b3af1..3659764 100644
--- a/tests/language_2/vm/regress_flutter_19612_test.dart
+++ b/tests/language_2/vm/regress_flutter_19612_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.9
+
 // Regression test for https://github.com/flutter/flutter/issues/19612.
 // This test verifies that negated condition is correctly handled by the
 // AOT compiler.
diff --git a/tests/language_2/vm/regress_flutter_21957_test.dart b/tests/language_2/vm/regress_flutter_21957_test.dart
index 69db3a5..a60c251 100644
--- a/tests/language_2/vm/regress_flutter_21957_test.dart
+++ b/tests/language_2/vm/regress_flutter_21957_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.9
+
 // Tests how nullability is inferred for a final field which is implicitly
 // initialized to null. This is a regression test for
 // https://github.com/flutter/flutter/issues/21957.
diff --git a/tests/language_2/vm/regress_flutter_22131_test.dart b/tests/language_2/vm/regress_flutter_22131_test.dart
index e9e2bb7..b4bddeb 100644
--- a/tests/language_2/vm/regress_flutter_22131_test.dart
+++ b/tests/language_2/vm/regress_flutter_22131_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.9
+
 // Verifies that inferred type of a final field takes constant objects into
 // account. This is a regression test for
 // https://github.com/flutter/flutter/issues/22131.
diff --git a/tests/language_2/vm/regress_flutter_23879_test.dart b/tests/language_2/vm/regress_flutter_23879_test.dart
index 102493e..8e10ba1 100644
--- a/tests/language_2/vm/regress_flutter_23879_test.dart
+++ b/tests/language_2/vm/regress_flutter_23879_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.9
+
 // Bug in unboxed int spilling (https://github.com/flutter/flutter/issues/23879).
 //
 // VMOptions=--deterministic
diff --git a/tests/language_2/vm/regress_flutter_28260_test.dart b/tests/language_2/vm/regress_flutter_28260_test.dart
index 830cae5..22a0478 100644
--- a/tests/language_2/vm/regress_flutter_28260_test.dart
+++ b/tests/language_2/vm/regress_flutter_28260_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.9
+
 // VMOptions=--deterministic --optimization_counter_threshold=10
 
 // Bug cid ranges (https://github.com/flutter/flutter/issues/28260).
diff --git a/tests/language_2/vm/regress_flutter_42845_lib.dart b/tests/language_2/vm/regress_flutter_42845_lib.dart
index f22d832..d21e1e3 100644
--- a/tests/language_2/vm/regress_flutter_42845_lib.dart
+++ b/tests/language_2/vm/regress_flutter_42845_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 extension TestExtension on int {
   bool get isPositive => this > 0;
   bool get isNegative => this < 0;
diff --git a/tests/language_2/vm/regress_flutter_42845_test.dart b/tests/language_2/vm/regress_flutter_42845_test.dart
index ac05e97..1991ad6 100644
--- a/tests/language_2/vm/regress_flutter_42845_test.dart
+++ b/tests/language_2/vm/regress_flutter_42845_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.
 
-// SharedOptions=--enable-experiment=extension-methods
+// @dart = 2.9
 
 // Tests exported extensions.
 
diff --git a/tests/language_2/vm/regress_flutter_51828_bug2_test.dart b/tests/language_2/vm/regress_flutter_51828_bug2_test.dart
index 02d47a8..d8180b6 100644
--- a/tests/language_2/vm/regress_flutter_51828_bug2_test.dart
+++ b/tests/language_2/vm/regress_flutter_51828_bug2_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.9
+
 // This is a regression test for the 2nd bug in
 // https://github.com/flutter/flutter/issues/51828.
 // Verifies that implicit cast of :result parameter of async_op
diff --git a/tests/language_2/vm/regress_flutter_56479_test.dart b/tests/language_2/vm/regress_flutter_56479_test.dart
index 87e3a70..03b08a5 100644
--- a/tests/language_2/vm/regress_flutter_56479_test.dart
+++ b/tests/language_2/vm/regress_flutter_56479_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.9
+
 // Verifies that optional parameters can be transformed in field initializers.
 // Regression test for https://github.com/flutter/flutter/issues/56479.
 
diff --git a/tests/language_2/vm/regress_licm_test.dart b/tests/language_2/vm/regress_licm_test.dart
index 2664484..982fae9 100644
--- a/tests/language_2/vm/regress_licm_test.dart
+++ b/tests/language_2/vm/regress_licm_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--optimization-counter-threshold=1000 --no-background-compilation
 
+// @dart = 2.9
+
 // Regression test for correct LICM and type propagation.
 
 class Attribute {
diff --git a/tests/language_2/vm/regress_protobuf_95_test.dart b/tests/language_2/vm/regress_protobuf_95_test.dart
index 623aba3..773da9b 100644
--- a/tests/language_2/vm/regress_protobuf_95_test.dart
+++ b/tests/language_2/vm/regress_protobuf_95_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.9
+
 // Verify that compiler loads class id from the receiver and not from type
 // arguments when performing polymorphic inlining in the AOT mode.
 
diff --git a/tests/language_2/vm/regression_32912_test.dart b/tests/language_2/vm/regression_32912_test.dart
index 2a63ff6..1229296 100644
--- a/tests/language_2/vm/regression_32912_test.dart
+++ b/tests/language_2/vm/regression_32912_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.9
+
 dynamic _defaultCallback<T>(T t) => t;
 
 void bar<T>([dynamic Function(T) f = _defaultCallback]) {}  //# 01: compile-time error
diff --git a/tests/language_2/vm/regression_36076_test.dart b/tests/language_2/vm/regression_36076_test.dart
index 962a5cb..1e847b4 100755
--- a/tests/language_2/vm/regression_36076_test.dart
+++ b/tests/language_2/vm/regression_36076_test.dart
@@ -1,6 +1,8 @@
 // Bug found by DartFuzz (stripped down version):
 // https://github.com/dart-lang/sdk/issues/36076
 
+// @dart = 2.9
+
 // Code does not do anything, but broke kernel binary flow graph builder.
 
 foo() {
diff --git a/tests/language_2/vm/regression_36587_test.dart b/tests/language_2/vm/regression_36587_test.dart
index a014641..91993bf 100644
--- a/tests/language_2/vm/regression_36587_test.dart
+++ b/tests/language_2/vm/regression_36587_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.9
+
 // Regression test extracted from a large DartFuzz-generated test.
 // https://github.com/dart-lang/sdk/issues/36587
 
diff --git a/tests/language_2/vm/regression_37408_test.dart b/tests/language_2/vm/regression_37408_test.dart
index f4a295a..b48d27a 100644
--- a/tests/language_2/vm/regression_37408_test.dart
+++ b/tests/language_2/vm/regression_37408_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.9
+
 // Issue #37408: AOT did not throw.
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regression_37622_test.dart b/tests/language_2/vm/regression_37622_test.dart
index 3c88567..c7ef6f0 100755
--- a/tests/language_2/vm/regression_37622_test.dart
+++ b/tests/language_2/vm/regression_37622_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.9
+
 // VMOptions=--deterministic
 
 // Issue #37622 found with fuzzing: internal compiler crash (division-by-zero).
diff --git a/tests/language_2/vm/regression_37633_test.dart b/tests/language_2/vm/regression_37633_test.dart
index da7471a..53a0070 100755
--- a/tests/language_2/vm/regression_37633_test.dart
+++ b/tests/language_2/vm/regression_37633_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.9
+
 // VMOptions=--deterministic
 
 // Issue #37633 found with fuzzing: internal compiler crash (parallel move).
diff --git a/tests/language_2/vm/regression_37821_test.dart b/tests/language_2/vm/regression_37821_test.dart
index fd7ef2d..acad5da 100755
--- a/tests/language_2/vm/regression_37821_test.dart
+++ b/tests/language_2/vm/regression_37821_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.9
+
 // VMOptions=--deterministic
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regression_38147_test.dart b/tests/language_2/vm/regression_38147_test.dart
index 0f3450a..a2db599 100755
--- a/tests/language_2/vm/regression_38147_test.dart
+++ b/tests/language_2/vm/regression_38147_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.9
+
 // VMOptions=--deterministic --optimization_counter_threshold=10
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regression_38231_test.dart b/tests/language_2/vm/regression_38231_test.dart
index a269d67..21cc7c9 100644
--- a/tests/language_2/vm/regression_38231_test.dart
+++ b/tests/language_2/vm/regression_38231_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.9
+
 // VMOptions=--optimization_counter_threshold=1
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regression_38412.dart b/tests/language_2/vm/regression_38412.dart
index b904f05..c511db8 100644
--- a/tests/language_2/vm/regression_38412.dart
+++ b/tests/language_2/vm/regression_38412.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=1
 
 // Found by DartFuzzing: would sometimes fail:
diff --git a/tests/language_2/vm/regression_38436.dart b/tests/language_2/vm/regression_38436.dart
index ea5fafd..f350f6c 100644
--- a/tests/language_2/vm/regression_38436.dart
+++ b/tests/language_2/vm/regression_38436.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=1
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/regression_38741.dart b/tests/language_2/vm/regression_38741.dart
index 2dd1223..256fea0 100644
--- a/tests/language_2/vm/regression_38741.dart
+++ b/tests/language_2/vm/regression_38741.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // VMOptions=--deterministic
 
 // Found by DartFuzzing: would fail during deopt:
diff --git a/tests/language_2/vm/regression_39071_test.dart b/tests/language_2/vm/regression_39071_test.dart
index 82049b4..aeb8d45 100644
--- a/tests/language_2/vm/regression_39071_test.dart
+++ b/tests/language_2/vm/regression_39071_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.9
+
 // VMOptions=--optimization_counter_threshold=10
 
 // Found by DartFuzzing: would assert during OSR:
diff --git a/tests/language_2/vm/regression_39193_test.dart b/tests/language_2/vm/regression_39193_test.dart
index bf48765..8b482e5 100644
--- a/tests/language_2/vm/regression_39193_test.dart
+++ b/tests/language_2/vm/regression_39193_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.9
+
 // VMOptions=--optimization_counter_threshold=1
 
 // Found by DartFuzzing: would assert during OSR:
diff --git a/tests/language_2/vm/reusable_boxes_test.dart b/tests/language_2/vm/reusable_boxes_test.dart
index 64e804d..5fef798 100644
--- a/tests/language_2/vm/reusable_boxes_test.dart
+++ b/tests/language_2/vm/reusable_boxes_test.dart
@@ -4,6 +4,8 @@
 // Test correct handling reusable boxes.
 // VMOptions=--optimization_counter_threshold=100 --no-background_compilation
 
+// @dart = 2.9
+
 library reusable_boxes_test;
 
 import 'dart:typed_data';
diff --git a/tests/language_2/vm/shift_special_cases_test.dart b/tests/language_2/vm/shift_special_cases_test.dart
index f854461..4bda31f 100644
--- a/tests/language_2/vm/shift_special_cases_test.dart
+++ b/tests/language_2/vm/shift_special_cases_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.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation --use_slow_path
 
diff --git a/tests/language_2/vm/smi_widening_test.dart b/tests/language_2/vm/smi_widening_test.dart
index b3fcfae..0774909 100644
--- a/tests/language_2/vm/smi_widening_test.dart
+++ b/tests/language_2/vm/smi_widening_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.9
+
 // VMOptions=--deterministic --optimization-counter-threshold=102 --optimization-filter=Box_
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/vm/store_elimination_vm_test.dart b/tests/language_2/vm/store_elimination_vm_test.dart
index f162f1e..996b481 100644
--- a/tests/language_2/vm/store_elimination_vm_test.dart
+++ b/tests/language_2/vm/store_elimination_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correctness of side effects tracking used by load to load forwarding.
 
+// @dart = 2.9
+
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
 import "package:expect/expect.dart";
diff --git a/tests/language_2/vm/store_to_load_forwarding_phis_vm_test.dart b/tests/language_2/vm/store_to_load_forwarding_phis_vm_test.dart
index af801f7..14c718c8 100644
--- a/tests/language_2/vm/store_to_load_forwarding_phis_vm_test.dart
+++ b/tests/language_2/vm/store_to_load_forwarding_phis_vm_test.dart
@@ -5,6 +5,8 @@
 // by store to load forwarding.
 // VMOptions=--optimization_counter_threshold=100 --no-background_compilation
 
+// @dart = 2.9
+
 library store_to_load_forwarding_phis_vm_test;
 
 import 'dart:async';
diff --git a/tests/language_2/vm/string_polymorphic_test.dart b/tests/language_2/vm/string_polymorphic_test.dart
index 6e6b474..6ab734f 100644
--- a/tests/language_2/vm/string_polymorphic_test.dart
+++ b/tests/language_2/vm/string_polymorphic_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 test1(String a, String b) {
diff --git a/tests/language_2/vm/symbols_test.dart b/tests/language_2/vm/symbols_test.dart
index a68e2f4..b022a24 100644
--- a/tests/language_2/vm/symbols_test.dart
+++ b/tests/language_2/vm/symbols_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.9
+
 import 'package:expect/expect.dart';
 
 void main() {
diff --git a/tests/language_2/vm/tree_shake_type_args_in_constant_test.dart b/tests/language_2/vm/tree_shake_type_args_in_constant_test.dart
index b1d9f88..5d1e986 100644
--- a/tests/language_2/vm/tree_shake_type_args_in_constant_test.dart
+++ b/tests/language_2/vm/tree_shake_type_args_in_constant_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.9
+
 // This test verifies that if a class is only used as a type argument of
 // a constant object, it is not removed by tree shaker.
 
diff --git a/tests/language_2/vm/type_cast_vm_test.dart b/tests/language_2/vm/type_cast_vm_test.dart
index 5a83874..1cc194a 100644
--- a/tests/language_2/vm/type_cast_vm_test.dart
+++ b/tests/language_2/vm/type_cast_vm_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--no_show_internal_names
 // Dart test program testing type casts.
+
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 checkSecondFunction(String expected, StackTrace stacktrace) {
diff --git a/tests/language_2/vm/type_of_call_via_getter_test.dart b/tests/language_2/vm/type_of_call_via_getter_test.dart
index 4a6c445..e5ec68a 100644
--- a/tests/language_2/vm/type_of_call_via_getter_test.dart
+++ b/tests/language_2/vm/type_of_call_via_getter_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.9
+
 // This test verifies that compiler infers correct type from call via getter.
 
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/type_propagation_test.dart b/tests/language_2/vm/type_propagation_test.dart
index 6347f34..40645a9 100644
--- a/tests/language_2/vm/type_propagation_test.dart
+++ b/tests/language_2/vm/type_propagation_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=1000 --max-polymorphic-checks=1 --no-background-compilation
 
+// @dart = 2.9
+
 // Test correct loop invariant code motion and type propagation from is-checks
 // and null-comparisons.
 
diff --git a/tests/language_2/vm/type_vm_test.dart b/tests/language_2/vm/type_vm_test.dart
index cd3059f..5274923 100644
--- a/tests/language_2/vm/type_vm_test.dart
+++ b/tests/language_2/vm/type_vm_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--enable_type_checks --enable_asserts --no_show_internal_names
 // Dart test program testing type checks.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class C {
diff --git a/tests/language_2/vm/uint32_add_test.dart b/tests/language_2/vm/uint32_add_test.dart
index 6a64444..4c30e8e 100644
--- a/tests/language_2/vm/uint32_add_test.dart
+++ b/tests/language_2/vm/uint32_add_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 trunc(x) => x & 0xFFFFFFFF;
diff --git a/tests/language_2/vm/uint32_right_shift_test.dart b/tests/language_2/vm/uint32_right_shift_test.dart
index c55bc66..f755584 100644
--- a/tests/language_2/vm/uint32_right_shift_test.dart
+++ b/tests/language_2/vm/uint32_right_shift_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 trunc(x) => x & 0xFFFFFFFF;
diff --git a/tests/language_2/vm/uint32_shift_test.dart b/tests/language_2/vm/uint32_shift_test.dart
index f20210a..2c8a530 100644
--- a/tests/language_2/vm/uint32_shift_test.dart
+++ b/tests/language_2/vm/uint32_shift_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 
 class Good {
diff --git a/tests/language_2/vm/unaligned_float_access_literal_index_test.dart b/tests/language_2/vm/unaligned_float_access_literal_index_test.dart
index 2ea752c..80be225 100644
--- a/tests/language_2/vm/unaligned_float_access_literal_index_test.dart
+++ b/tests/language_2/vm/unaligned_float_access_literal_index_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/unaligned_float_access_register_index_test.dart b/tests/language_2/vm/unaligned_float_access_register_index_test.dart
index bf9f02e..c654599 100644
--- a/tests/language_2/vm/unaligned_float_access_register_index_test.dart
+++ b/tests/language_2/vm/unaligned_float_access_register_index_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/unaligned_integer_access_literal_index_test.dart b/tests/language_2/vm/unaligned_integer_access_literal_index_test.dart
index 2e0fbcc..8f6937a 100644
--- a/tests/language_2/vm/unaligned_integer_access_literal_index_test.dart
+++ b/tests/language_2/vm/unaligned_integer_access_literal_index_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/unaligned_integer_access_register_index_test.dart b/tests/language_2/vm/unaligned_integer_access_register_index_test.dart
index 3d0525c..d949ea5 100644
--- a/tests/language_2/vm/unaligned_integer_access_register_index_test.dart
+++ b/tests/language_2/vm/unaligned_integer_access_register_index_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/language_2/vm/unique_selector_test.dart b/tests/language_2/vm/unique_selector_test.dart
index e26d4b5..ce63703 100644
--- a/tests/language_2/vm/unique_selector_test.dart
+++ b/tests/language_2/vm/unique_selector_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.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/language_2/vm/unreachable_code_test.dart b/tests/language_2/vm/unreachable_code_test.dart
index b1a14ee..f16ca81 100644
--- a/tests/language_2/vm/unreachable_code_test.dart
+++ b/tests/language_2/vm/unreachable_code_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.9
+
 // Verifies that VM is able to handle certain cases of unreachable code.
 
 // VMOptions=--no_background_compilation --optimization_counter_threshold=10
diff --git a/tests/language_2/vm/unregistered_closure_in_finally_test.dart b/tests/language_2/vm/unregistered_closure_in_finally_test.dart
index fa970af..5b7e30b 100644
--- a/tests/language_2/vm/unregistered_closure_in_finally_test.dart
+++ b/tests/language_2/vm/unregistered_closure_in_finally_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--no-background-compilation
 
+// @dart = 2.9
+
 @pragma('vm:never-inline')
 doSomething() {
   print("Hello!");
diff --git a/tests/language_2/void/await_void_test.dart b/tests/language_2/void/await_void_test.dart
index 764d41e..82e4c3c 100644
--- a/tests/language_2/void/await_void_test.dart
+++ b/tests/language_2/void/await_void_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.9
+
 // [NNBD non-migrated] This test has no NNBD equivalent.
 // In NNBD, you are not allowed to await `void` and the corresponding test
 // is await_void_error_test.dart
diff --git a/tests/language_2/void/generalized_void_syntax_test.dart b/tests/language_2/void/generalized_void_syntax_test.dart
index b720280..637724a 100644
--- a/tests/language_2/void/generalized_void_syntax_test.dart
+++ b/tests/language_2/void/generalized_void_syntax_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.9
+
 // Testing that the reserved word `void` is allowed to occur as a type, not
 // just as a return type.
 
diff --git a/tests/language_2/void/generalized_void_usage_test.dart b/tests/language_2/void/generalized_void_usage_test.dart
index 262e40a..8fffbba 100644
--- a/tests/language_2/void/generalized_void_usage_test.dart
+++ b/tests/language_2/void/generalized_void_usage_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.9
+
 // Dart test for static checks on situations where expressions of type void
 // can be used. The point is simply that there are no compile-time errors.
 
diff --git a/tests/language_2/void/return_future_future_or_void_async_error0_test.dart b/tests/language_2/void/return_future_future_or_void_async_error0_test.dart
index ea6093a..1ca2939 100644
--- a/tests/language_2/void/return_future_future_or_void_async_error0_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_async_error0_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_future_or_void_async_error1_test.dart b/tests/language_2/void/return_future_future_or_void_async_error1_test.dart
index 29f6293..6a560d5 100644
--- a/tests/language_2/void/return_future_future_or_void_async_error1_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_async_error1_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_future_future_or_void_async_test.dart b/tests/language_2/void/return_future_future_or_void_async_test.dart
index 68b65ad..08bf6a0 100644
--- a/tests/language_2/void/return_future_future_or_void_async_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_async_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_future_or_void_sync_error0_test.dart b/tests/language_2/void/return_future_future_or_void_sync_error0_test.dart
index 70f8c2e..23842ac 100644
--- a/tests/language_2/void/return_future_future_or_void_sync_error0_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_sync_error0_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_future_or_void_sync_error1_test.dart b/tests/language_2/void/return_future_future_or_void_sync_error1_test.dart
index dd12358..9392a6a 100644
--- a/tests/language_2/void/return_future_future_or_void_sync_error1_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_sync_error1_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_future_future_or_void_sync_test.dart b/tests/language_2/void/return_future_future_or_void_sync_test.dart
index fae59d5..a06fd12 100644
--- a/tests/language_2/void/return_future_future_or_void_sync_test.dart
+++ b/tests/language_2/void/return_future_future_or_void_sync_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_or_future_or_void_sync_error1_test.dart b/tests/language_2/void/return_future_or_future_or_void_sync_error1_test.dart
index 25b0df7..2a94057 100644
--- a/tests/language_2/void/return_future_or_future_or_void_sync_error1_test.dart
+++ b/tests/language_2/void/return_future_or_future_or_void_sync_error1_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_or_future_or_void_sync_error2_test.dart b/tests/language_2/void/return_future_or_future_or_void_sync_error2_test.dart
index e6878fd..23d797f 100644
--- a/tests/language_2/void/return_future_or_future_or_void_sync_error2_test.dart
+++ b/tests/language_2/void/return_future_or_future_or_void_sync_error2_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_future_or_future_or_void_sync_test.dart b/tests/language_2/void/return_future_or_future_or_void_sync_test.dart
index ab95eff..cb17483 100644
--- a/tests/language_2/void/return_future_or_future_or_void_sync_test.dart
+++ b/tests/language_2/void/return_future_or_future_or_void_sync_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_or_void_async_test.dart b/tests/language_2/void/return_future_or_void_async_test.dart
index 151f337..3ad4c4e 100644
--- a/tests/language_2/void/return_future_or_void_async_test.dart
+++ b/tests/language_2/void/return_future_or_void_async_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_or_void_sync_error3_test.dart b/tests/language_2/void/return_future_or_void_sync_error3_test.dart
index c921114..a2d9c3b 100644
--- a/tests/language_2/void/return_future_or_void_sync_error3_test.dart
+++ b/tests/language_2/void/return_future_or_void_sync_error3_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_or_void_sync_error4_test.dart b/tests/language_2/void/return_future_or_void_sync_error4_test.dart
index bd020aa..c18d1d1 100644
--- a/tests/language_2/void/return_future_or_void_sync_error4_test.dart
+++ b/tests/language_2/void/return_future_or_void_sync_error4_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_future_or_void_sync_test.dart b/tests/language_2/void/return_future_or_void_sync_test.dart
index 986bd28..74a9799 100644
--- a/tests/language_2/void/return_future_or_void_sync_test.dart
+++ b/tests/language_2/void/return_future_or_void_sync_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_future_void_async_test.dart b/tests/language_2/void/return_future_void_async_test.dart
index dae62ed..1cd7a15 100644
--- a/tests/language_2/void/return_future_void_async_test.dart
+++ b/tests/language_2/void/return_future_void_async_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_void_async_error0_test.dart b/tests/language_2/void/return_void_async_error0_test.dart
index cb02f38..91420ea 100644
--- a/tests/language_2/void/return_void_async_error0_test.dart
+++ b/tests/language_2/void/return_void_async_error0_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.9
+
 void main() {
   test();
 }
diff --git a/tests/language_2/void/return_void_async_error1_test.dart b/tests/language_2/void/return_void_async_error1_test.dart
index c685097..de35c39 100644
--- a/tests/language_2/void/return_void_async_error1_test.dart
+++ b/tests/language_2/void/return_void_async_error1_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.9
+
 void main() {
   test();
 }
diff --git a/tests/language_2/void/return_void_async_error2_test.dart b/tests/language_2/void/return_void_async_error2_test.dart
index afc2825..b534f74 100644
--- a/tests/language_2/void/return_void_async_error2_test.dart
+++ b/tests/language_2/void/return_void_async_error2_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_void_async_test.dart b/tests/language_2/void/return_void_async_test.dart
index 1abcfec..0ee020c 100644
--- a/tests/language_2/void/return_void_async_test.dart
+++ b/tests/language_2/void/return_void_async_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.9
+
 import 'dart:async';
 
 void voidValue = null;
diff --git a/tests/language_2/void/return_void_sync_error0_test.dart b/tests/language_2/void/return_void_sync_error0_test.dart
index 5d27b5d..7607a34 100644
--- a/tests/language_2/void/return_void_sync_error0_test.dart
+++ b/tests/language_2/void/return_void_sync_error0_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.9
+
 void main() {
   test();
 }
diff --git a/tests/language_2/void/return_void_sync_error1_test.dart b/tests/language_2/void/return_void_sync_error1_test.dart
index 4d212c9..28dc4df 100644
--- a/tests/language_2/void/return_void_sync_error1_test.dart
+++ b/tests/language_2/void/return_void_sync_error1_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.9
+
 void main() {
   test();
 }
diff --git a/tests/language_2/void/return_void_sync_error2_test.dart b/tests/language_2/void/return_void_sync_error2_test.dart
index 389aa15..88a3e4a 100644
--- a/tests/language_2/void/return_void_sync_error2_test.dart
+++ b/tests/language_2/void/return_void_sync_error2_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.9
+
 import 'dart:async';
 
 void main() {
diff --git a/tests/language_2/void/return_void_sync_test.dart b/tests/language_2/void/return_void_sync_test.dart
index 8c558ba..927e675 100644
--- a/tests/language_2/void/return_void_sync_test.dart
+++ b/tests/language_2/void/return_void_sync_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.9
+
 void voidValue = null;
 
 void main() {
diff --git a/tests/language_2/void/void_arrow_return_test.dart b/tests/language_2/void/void_arrow_return_test.dart
index 17ab84c..9d00757 100644
--- a/tests/language_2/void/void_arrow_return_test.dart
+++ b/tests/language_2/void/void_arrow_return_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.9
+
 // Testing that a void arrow function is allowed to return any type of value.
 
 void foo() => 42;
diff --git a/tests/language_2/void/void_block_return_test.dart b/tests/language_2/void/void_block_return_test.dart
index 8dd8bad..8a3e793 100644
--- a/tests/language_2/void/void_block_return_test.dart
+++ b/tests/language_2/void/void_block_return_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.9
+
 // Testing that a void block function is not allowed to `return e`
 // where `e` is non-void.
 
diff --git a/tests/language_2/void/void_check_test.dart b/tests/language_2/void/void_check_test.dart
index 8c10f70..73b6ce5 100644
--- a/tests/language_2/void/void_check_test.dart
+++ b/tests/language_2/void/void_check_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.9
+
 // Tests that `void` accepts any value and won't throw on non-`null` values.
 // The test is set up in a way that `--trust-type-annotations` and type
 // propagation must not assume that `void` is `null` either.
diff --git a/tests/language_2/void/void_subtype_test.dart b/tests/language_2/void/void_subtype_test.dart
index 2ecdc33..c6bab0e 100644
--- a/tests/language_2/void/void_subtype_test.dart
+++ b/tests/language_2/void/void_subtype_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for type checks involving the void type.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 var _str = new StringBuffer();
diff --git a/tests/language_2/void/void_type_callbacks_test.dart b/tests/language_2/void/void_type_callbacks_test.dart
index f8771a9..2cc2875 100644
--- a/tests/language_2/void/void_type_callbacks_test.dart
+++ b/tests/language_2/void/void_type_callbacks_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.9
+
 // Dart test for type checks involving callbacks and the type void.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/void/void_type_function_types_test.dart b/tests/language_2/void/void_type_function_types_test.dart
index 6146c43..de54695 100644
--- a/tests/language_2/void/void_type_function_types_test.dart
+++ b/tests/language_2/void/void_type_function_types_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.9
+
 // Dart test for type checks involving the void type in function types.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/void/void_type_override_test.dart b/tests/language_2/void/void_type_override_test.dart
index 8bf7999..d241113 100644
--- a/tests/language_2/void/void_type_override_test.dart
+++ b/tests/language_2/void/void_type_override_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.9
+
 // Dart test for type checks involving the void type and overriding.
 
 import 'package:expect/expect.dart';
diff --git a/tests/language_2/void/void_type_test.dart b/tests/language_2/void/void_type_test.dart
index c858989..21c02f2 100644
--- a/tests/language_2/void/void_type_test.dart
+++ b/tests/language_2/void/void_type_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test for type checks involving the void type.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void f() {
diff --git a/tests/language_2/void/void_type_usage_test.dart b/tests/language_2/void/void_type_usage_test.dart
index a49a34a..bf7a9f1 100644
--- a/tests/language_2/void/void_type_usage_test.dart
+++ b/tests/language_2/void/void_type_usage_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.9
+
 // Dart test for type checks on usage of expressions of type void.
 
 void use(dynamic x) { }
diff --git a/tests/lib_2/async/async_await_sync_completer_test.dart b/tests/lib_2/async/async_await_sync_completer_test.dart
index 889632f..3797a92 100644
--- a/tests/lib_2/async/async_await_sync_completer_test.dart
+++ b/tests/lib_2/async/async_await_sync_completer_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/async_await_zones_test.dart b/tests/lib_2/async/async_await_zones_test.dart
index fb3dc50..d2fcb95 100644
--- a/tests/lib_2/async/async_await_zones_test.dart
+++ b/tests/lib_2/async/async_await_zones_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.9
+
 // Test that async functions don't zone-register their callbacks for each
 // await. Async functions should register their callback once in the beginning
 // and then reuse it for all awaits in their body.
diff --git a/tests/lib_2/async/async_no_await_zones_test.dart b/tests/lib_2/async/async_no_await_zones_test.dart
index 789de01..ab5e74f 100644
--- a/tests/lib_2/async/async_no_await_zones_test.dart
+++ b/tests/lib_2/async/async_no_await_zones_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/33330
 import 'dart:async';
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/async/catch_errors.dart b/tests/lib_2/async/catch_errors.dart
index b170b70..d73bff0 100644
--- a/tests/lib_2/async/catch_errors.dart
+++ b/tests/lib_2/async/catch_errors.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library catch_errors;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors11_test.dart b/tests/lib_2/async/catch_errors11_test.dart
index 67bb9db..5fb2e90 100644
--- a/tests/lib_2/async/catch_errors11_test.dart
+++ b/tests/lib_2/async/catch_errors11_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors12_test.dart b/tests/lib_2/async/catch_errors12_test.dart
index fc42696..2a5b4d1 100644
--- a/tests/lib_2/async/catch_errors12_test.dart
+++ b/tests/lib_2/async/catch_errors12_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors13_test.dart b/tests/lib_2/async/catch_errors13_test.dart
index 7c4d0e0..33adbbd 100644
--- a/tests/lib_2/async/catch_errors13_test.dart
+++ b/tests/lib_2/async/catch_errors13_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors14_test.dart b/tests/lib_2/async/catch_errors14_test.dart
index 8149dd3..e956268 100644
--- a/tests/lib_2/async/catch_errors14_test.dart
+++ b/tests/lib_2/async/catch_errors14_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors15_test.dart b/tests/lib_2/async/catch_errors15_test.dart
index b95929b..6962cb0 100644
--- a/tests/lib_2/async/catch_errors15_test.dart
+++ b/tests/lib_2/async/catch_errors15_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors16_test.dart b/tests/lib_2/async/catch_errors16_test.dart
index 40a2c63..ffdecb9 100644
--- a/tests/lib_2/async/catch_errors16_test.dart
+++ b/tests/lib_2/async/catch_errors16_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors17_test.dart b/tests/lib_2/async/catch_errors17_test.dart
index 3ba918e..1ba8138 100644
--- a/tests/lib_2/async/catch_errors17_test.dart
+++ b/tests/lib_2/async/catch_errors17_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors18_test.dart b/tests/lib_2/async/catch_errors18_test.dart
index 2e64013..d8f0793 100644
--- a/tests/lib_2/async/catch_errors18_test.dart
+++ b/tests/lib_2/async/catch_errors18_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors19_test.dart b/tests/lib_2/async/catch_errors19_test.dart
index f5b37a1..879462d 100644
--- a/tests/lib_2/async/catch_errors19_test.dart
+++ b/tests/lib_2/async/catch_errors19_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors20_test.dart b/tests/lib_2/async/catch_errors20_test.dart
index c3ca08e..58b344a 100644
--- a/tests/lib_2/async/catch_errors20_test.dart
+++ b/tests/lib_2/async/catch_errors20_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors21_test.dart b/tests/lib_2/async/catch_errors21_test.dart
index 11db23b..fe3bdce 100644
--- a/tests/lib_2/async/catch_errors21_test.dart
+++ b/tests/lib_2/async/catch_errors21_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors22_test.dart b/tests/lib_2/async/catch_errors22_test.dart
index 8f810e7..c507622 100644
--- a/tests/lib_2/async/catch_errors22_test.dart
+++ b/tests/lib_2/async/catch_errors22_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors23_test.dart b/tests/lib_2/async/catch_errors23_test.dart
index 92967c9..655371e 100644
--- a/tests/lib_2/async/catch_errors23_test.dart
+++ b/tests/lib_2/async/catch_errors23_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors24_test.dart b/tests/lib_2/async/catch_errors24_test.dart
index 9b388a27..4c68d9f 100644
--- a/tests/lib_2/async/catch_errors24_test.dart
+++ b/tests/lib_2/async/catch_errors24_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors25_test.dart b/tests/lib_2/async/catch_errors25_test.dart
index 8de0540..2fc8be0 100644
--- a/tests/lib_2/async/catch_errors25_test.dart
+++ b/tests/lib_2/async/catch_errors25_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors26_test.dart b/tests/lib_2/async/catch_errors26_test.dart
index 0d2ea86..43d7148 100644
--- a/tests/lib_2/async/catch_errors26_test.dart
+++ b/tests/lib_2/async/catch_errors26_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors27_test.dart b/tests/lib_2/async/catch_errors27_test.dart
index 1922947..f829b41 100644
--- a/tests/lib_2/async/catch_errors27_test.dart
+++ b/tests/lib_2/async/catch_errors27_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors28_test.dart b/tests/lib_2/async/catch_errors28_test.dart
index eae954a..2d1a4d6 100644
--- a/tests/lib_2/async/catch_errors28_test.dart
+++ b/tests/lib_2/async/catch_errors28_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors2_test.dart b/tests/lib_2/async/catch_errors2_test.dart
index e97d52b..eb61bc4 100644
--- a/tests/lib_2/async/catch_errors2_test.dart
+++ b/tests/lib_2/async/catch_errors2_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors3_test.dart b/tests/lib_2/async/catch_errors3_test.dart
index 5ddb915..f55cf5a 100644
--- a/tests/lib_2/async/catch_errors3_test.dart
+++ b/tests/lib_2/async/catch_errors3_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors4_test.dart b/tests/lib_2/async/catch_errors4_test.dart
index c25d60e..7290634 100644
--- a/tests/lib_2/async/catch_errors4_test.dart
+++ b/tests/lib_2/async/catch_errors4_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors5_test.dart b/tests/lib_2/async/catch_errors5_test.dart
index ef23878..01d81ae 100644
--- a/tests/lib_2/async/catch_errors5_test.dart
+++ b/tests/lib_2/async/catch_errors5_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors6_test.dart b/tests/lib_2/async/catch_errors6_test.dart
index 48f6c30..f4b70fa 100644
--- a/tests/lib_2/async/catch_errors6_test.dart
+++ b/tests/lib_2/async/catch_errors6_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors7_test.dart b/tests/lib_2/async/catch_errors7_test.dart
index 43e5ff1..32b37b1 100644
--- a/tests/lib_2/async/catch_errors7_test.dart
+++ b/tests/lib_2/async/catch_errors7_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors8_test.dart b/tests/lib_2/async/catch_errors8_test.dart
index 459208b..05f31e9 100644
--- a/tests/lib_2/async/catch_errors8_test.dart
+++ b/tests/lib_2/async/catch_errors8_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/catch_errors_test.dart b/tests/lib_2/async/catch_errors_test.dart
index 10ddb90..aa3c20e 100644
--- a/tests/lib_2/async/catch_errors_test.dart
+++ b/tests/lib_2/async/catch_errors_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/dart2js_uncaught_error_test.dart b/tests/lib_2/async/dart2js_uncaught_error_test.dart
index 136c91e..faaeab8 100644
--- a/tests/lib_2/async/dart2js_uncaught_error_test.dart
+++ b/tests/lib_2/async/dart2js_uncaught_error_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.9
+
 // TODO(bkonyi): This test should be moved to compiler/dart2js.
 
 import "dart:async";
diff --git a/tests/lib_2/async/event_helper.dart b/tests/lib_2/async/event_helper.dart
index d7ff0f4..3dd0750 100644
--- a/tests/lib_2/async/event_helper.dart
+++ b/tests/lib_2/async/event_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.9
+
 library event_helper;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/first_regression_test.dart b/tests/lib_2/async/first_regression_test.dart
index 590251b..c0d49e5 100644
--- a/tests/lib_2/async/first_regression_test.dart
+++ b/tests/lib_2/async/first_regression_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.9
+
 // Regression test for http://dartbug.com/7964
 
 library first_regression_test;
diff --git a/tests/lib_2/async/future_constructor2_test.dart b/tests/lib_2/async/future_constructor2_test.dart
index c80090f..29693b1 100644
--- a/tests/lib_2/async/future_constructor2_test.dart
+++ b/tests/lib_2/async/future_constructor2_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.9
+
 library future_delayed_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/future_constructor_test.dart b/tests/lib_2/async/future_constructor_test.dart
index 34b2d31..6d97507 100644
--- a/tests/lib_2/async/future_constructor_test.dart
+++ b/tests/lib_2/async/future_constructor_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.9
+
 library future_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/async/future_delayed_error_test.dart b/tests/lib_2/async/future_delayed_error_test.dart
index 51d1001..af60b02 100644
--- a/tests/lib_2/async/future_delayed_error_test.dart
+++ b/tests/lib_2/async/future_delayed_error_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.9
+
 library future_delayed_error_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/future_error_test.dart b/tests/lib_2/async/future_error_test.dart
index bb96fa3..483b481 100644
--- a/tests/lib_2/async/future_error_test.dart
+++ b/tests/lib_2/async/future_error_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2020, 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.9
 import 'dart:async';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/async/future_foreach_test.dart b/tests/lib_2/async/future_foreach_test.dart
index 7416b94..723a91e 100644
--- a/tests/lib_2/async/future_foreach_test.dart
+++ b/tests/lib_2/async/future_foreach_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.9
+
 library future_foreach_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/future_future_test.dart b/tests/lib_2/async/future_future_test.dart
index 45aaf82..1d4a0a9 100644
--- a/tests/lib_2/async/future_future_test.dart
+++ b/tests/lib_2/async/future_future_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.9
+
 // Checks that Future<Future<int>> is a valid type and that futures can contain
 // and complete other futures.
 
diff --git a/tests/lib_2/async/future_microtask_test.dart b/tests/lib_2/async/future_microtask_test.dart
index 1606fb0..78a5808 100644
--- a/tests/lib_2/async/future_microtask_test.dart
+++ b/tests/lib_2/async/future_microtask_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/future_or_bad_type_test.dart b/tests/lib_2/async/future_or_bad_type_test.dart
index 7d908166..d4ae86a 100644
--- a/tests/lib_2/async/future_or_bad_type_test.dart
+++ b/tests/lib_2/async/future_or_bad_type_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.9
+
 // In non strong-mode, `FutureOr<T>` is dynamic, even if `T` doesn't exist.
 // `FutureOr<T>` can not be used as superclass, mixin, nor can it be
 // implemented (as interface).
diff --git a/tests/lib_2/async/future_or_only_in_async_test.dart b/tests/lib_2/async/future_or_only_in_async_test.dart
index 8db86f3..5af0a85 100644
--- a/tests/lib_2/async/future_or_only_in_async_test.dart
+++ b/tests/lib_2/async/future_or_only_in_async_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.9
+
 // `FutureOr<T>` is only visible when `dart:async` is imported.
 
 dynamic foo(dynamic x) {
diff --git a/tests/lib_2/async/future_or_strong_test.dart b/tests/lib_2/async/future_or_strong_test.dart
index f9f1ff9..b7a37a0 100644
--- a/tests/lib_2/async/future_or_strong_test.dart
+++ b/tests/lib_2/async/future_or_strong_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.9
+
 // In strong mode, `FutureOr` should be equivalent to the union of `Future<T>`
 // and `T`.
 
diff --git a/tests/lib_2/async/future_or_type_test.dart b/tests/lib_2/async/future_or_type_test.dart
index df5a014..9b2fdf7 100644
--- a/tests/lib_2/async/future_or_type_test.dart
+++ b/tests/lib_2/async/future_or_type_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.9
+
 // In strong mode, `FutureOr` should be a valid type in most locations.
 
 import 'dart:async';
diff --git a/tests/lib_2/async/future_test.dart b/tests/lib_2/async/future_test.dart
index 9242649..ef44287 100644
--- a/tests/lib_2/async/future_test.dart
+++ b/tests/lib_2/async/future_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.9
+
 library future_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/future_timeout_test.dart b/tests/lib_2/async/future_timeout_test.dart
index 5fb73b4..a2e3c67 100644
--- a/tests/lib_2/async/future_timeout_test.dart
+++ b/tests/lib_2/async/future_timeout_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.9
+
 library future_timeout_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/future_value_chain2_test.dart b/tests/lib_2/async/future_value_chain2_test.dart
index e3240b9..6ca96cc 100644
--- a/tests/lib_2/async/future_value_chain2_test.dart
+++ b/tests/lib_2/async/future_value_chain2_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/future_value_chain3_test.dart b/tests/lib_2/async/future_value_chain3_test.dart
index 0247e5a..5e3b735 100644
--- a/tests/lib_2/async/future_value_chain3_test.dart
+++ b/tests/lib_2/async/future_value_chain3_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/future_value_chain4_test.dart b/tests/lib_2/async/future_value_chain4_test.dart
index 29f1477..7bdbe8c 100644
--- a/tests/lib_2/async/future_value_chain4_test.dart
+++ b/tests/lib_2/async/future_value_chain4_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/future_value_chain_test.dart b/tests/lib_2/async/future_value_chain_test.dart
index 895f6ce..9c96318 100644
--- a/tests/lib_2/async/future_value_chain_test.dart
+++ b/tests/lib_2/async/future_value_chain_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/futures_test.dart b/tests/lib_2/async/futures_test.dart
index 26b3019..e2dc9c4 100644
--- a/tests/lib_2/async/futures_test.dart
+++ b/tests/lib_2/async/futures_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.9
+
 library futures_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/intercept_print1_test.dart b/tests/lib_2/async/intercept_print1_test.dart
index 36b2fba..71e47d9 100644
--- a/tests/lib_2/async/intercept_print1_test.dart
+++ b/tests/lib_2/async/intercept_print1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'catch_errors.dart';
diff --git a/tests/lib_2/async/intercept_schedule_microtask1_test.dart b/tests/lib_2/async/intercept_schedule_microtask1_test.dart
index d4b3897..75a9f68 100644
--- a/tests/lib_2/async/intercept_schedule_microtask1_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'catch_errors.dart';
diff --git a/tests/lib_2/async/intercept_schedule_microtask2_test.dart b/tests/lib_2/async/intercept_schedule_microtask2_test.dart
index 123f69d..fe66495 100644
--- a/tests/lib_2/async/intercept_schedule_microtask2_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask2_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'catch_errors.dart';
diff --git a/tests/lib_2/async/intercept_schedule_microtask3_test.dart b/tests/lib_2/async/intercept_schedule_microtask3_test.dart
index 5202137..87f37e2 100644
--- a/tests/lib_2/async/intercept_schedule_microtask3_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask3_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/intercept_schedule_microtask4_test.dart b/tests/lib_2/async/intercept_schedule_microtask4_test.dart
index 76eb98d..9966f6b 100644
--- a/tests/lib_2/async/intercept_schedule_microtask4_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask4_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/intercept_schedule_microtask5_test.dart b/tests/lib_2/async/intercept_schedule_microtask5_test.dart
index f1359e5..701368c 100644
--- a/tests/lib_2/async/intercept_schedule_microtask5_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask5_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/intercept_schedule_microtask6_test.dart b/tests/lib_2/async/intercept_schedule_microtask6_test.dart
index b301d1e..0e62d52 100644
--- a/tests/lib_2/async/intercept_schedule_microtask6_test.dart
+++ b/tests/lib_2/async/intercept_schedule_microtask6_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/multiple_timer_test.dart b/tests/lib_2/async/multiple_timer_test.dart
index bf86eac..acd40ac 100644
--- a/tests/lib_2/async/multiple_timer_test.dart
+++ b/tests/lib_2/async/multiple_timer_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.9
+
 library multiple_timer_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/null_future_zone_test.dart b/tests/lib_2/async/null_future_zone_test.dart
index 802c399..3322916 100644
--- a/tests/lib_2/async/null_future_zone_test.dart
+++ b/tests/lib_2/async/null_future_zone_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/periodic_timer2_test.dart b/tests/lib_2/async/periodic_timer2_test.dart
index a1b7da1..6514f10 100644
--- a/tests/lib_2/async/periodic_timer2_test.dart
+++ b/tests/lib_2/async/periodic_timer2_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/periodic_timer3_test.dart b/tests/lib_2/async/periodic_timer3_test.dart
index d09e636..64d5424 100644
--- a/tests/lib_2/async/periodic_timer3_test.dart
+++ b/tests/lib_2/async/periodic_timer3_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.9
+
 library timer_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/periodic_timer4_test.dart b/tests/lib_2/async/periodic_timer4_test.dart
index 12b9b31..9af7e2e 100644
--- a/tests/lib_2/async/periodic_timer4_test.dart
+++ b/tests/lib_2/async/periodic_timer4_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.9
+
 library timer_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/run_zoned1_test.dart b/tests/lib_2/async/run_zoned1_test.dart
index 74af5b1..45c2020 100644
--- a/tests/lib_2/async/run_zoned1_test.dart
+++ b/tests/lib_2/async/run_zoned1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 
diff --git a/tests/lib_2/async/run_zoned4_test.dart b/tests/lib_2/async/run_zoned4_test.dart
index fb5166a..e252c81 100644
--- a/tests/lib_2/async/run_zoned4_test.dart
+++ b/tests/lib_2/async/run_zoned4_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 
diff --git a/tests/lib_2/async/run_zoned5_test.dart b/tests/lib_2/async/run_zoned5_test.dart
index 0787fd5..850aa07 100644
--- a/tests/lib_2/async/run_zoned5_test.dart
+++ b/tests/lib_2/async/run_zoned5_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/run_zoned6_test.dart b/tests/lib_2/async/run_zoned6_test.dart
index 837e6f1..40e785e 100644
--- a/tests/lib_2/async/run_zoned6_test.dart
+++ b/tests/lib_2/async/run_zoned6_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/run_zoned7_test.dart b/tests/lib_2/async/run_zoned7_test.dart
index 01de143..91fd804 100644
--- a/tests/lib_2/async/run_zoned7_test.dart
+++ b/tests/lib_2/async/run_zoned7_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/run_zoned8_test.dart b/tests/lib_2/async/run_zoned8_test.dart
index fca3989..22730ab 100644
--- a/tests/lib_2/async/run_zoned8_test.dart
+++ b/tests/lib_2/async/run_zoned8_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/run_zoned9_test.dart b/tests/lib_2/async/run_zoned9_test.dart
index be96ac8..8ef3e31 100644
--- a/tests/lib_2/async/run_zoned9_test.dart
+++ b/tests/lib_2/async/run_zoned9_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/schedule_microtask2_test.dart b/tests/lib_2/async/schedule_microtask2_test.dart
index ab72d86..c27fbae 100644
--- a/tests/lib_2/async/schedule_microtask2_test.dart
+++ b/tests/lib_2/async/schedule_microtask2_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.9
+
 library run_async_test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/schedule_microtask3_test.dart b/tests/lib_2/async/schedule_microtask3_test.dart
index 5e787b7..735b62a 100644
--- a/tests/lib_2/async/schedule_microtask3_test.dart
+++ b/tests/lib_2/async/schedule_microtask3_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.9
+
 library run_async_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/schedule_microtask5_test.dart b/tests/lib_2/async/schedule_microtask5_test.dart
index b6c8152..c272a9e 100644
--- a/tests/lib_2/async/schedule_microtask5_test.dart
+++ b/tests/lib_2/async/schedule_microtask5_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.9
+
 library run_async_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/schedule_microtask_test.dart b/tests/lib_2/async/schedule_microtask_test.dart
index 8e12f4e..163f851 100644
--- a/tests/lib_2/async/schedule_microtask_test.dart
+++ b/tests/lib_2/async/schedule_microtask_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/slow_consumer2_test.dart b/tests/lib_2/async/slow_consumer2_test.dart
index 23a001a..fe86a4f 100644
--- a/tests/lib_2/async/slow_consumer2_test.dart
+++ b/tests/lib_2/async/slow_consumer2_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.9
+
 // VMOptions=--old_gen_heap_size=64 --no-background-compilation
 
 library slow_consumer2_test;
diff --git a/tests/lib_2/async/slow_consumer3_test.dart b/tests/lib_2/async/slow_consumer3_test.dart
index 806f929..8661293 100644
--- a/tests/lib_2/async/slow_consumer3_test.dart
+++ b/tests/lib_2/async/slow_consumer3_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.9
+
 // VMOptions=--old_gen_heap_size=64 --no-background-compilation
 
 library slow_consumer3_test;
diff --git a/tests/lib_2/async/slow_consumer_test.dart b/tests/lib_2/async/slow_consumer_test.dart
index 2eaa8ef..57096fa 100644
--- a/tests/lib_2/async/slow_consumer_test.dart
+++ b/tests/lib_2/async/slow_consumer_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.9
+
 // VMOptions=--old_gen_heap_size=64 --no-background-compilation
 
 library slow_consumer_test;
diff --git a/tests/lib_2/async/stack_trace01_test.dart b/tests/lib_2/async/stack_trace01_test.dart
index 9a34b22..eb180a7 100644
--- a/tests/lib_2/async/stack_trace01_test.dart
+++ b/tests/lib_2/async/stack_trace01_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace02_test.dart b/tests/lib_2/async/stack_trace02_test.dart
index 2932a2e..fe1fccd 100644
--- a/tests/lib_2/async/stack_trace02_test.dart
+++ b/tests/lib_2/async/stack_trace02_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace03_test.dart b/tests/lib_2/async/stack_trace03_test.dart
index e5ab27b..bf934a1 100644
--- a/tests/lib_2/async/stack_trace03_test.dart
+++ b/tests/lib_2/async/stack_trace03_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace04_test.dart b/tests/lib_2/async/stack_trace04_test.dart
index ea92c53..16e27d6 100644
--- a/tests/lib_2/async/stack_trace04_test.dart
+++ b/tests/lib_2/async/stack_trace04_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace05_test.dart b/tests/lib_2/async/stack_trace05_test.dart
index d1528c6..bda1b00 100644
--- a/tests/lib_2/async/stack_trace05_test.dart
+++ b/tests/lib_2/async/stack_trace05_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace06_test.dart b/tests/lib_2/async/stack_trace06_test.dart
index c6246c1..8e6a1ff 100644
--- a/tests/lib_2/async/stack_trace06_test.dart
+++ b/tests/lib_2/async/stack_trace06_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace07_test.dart b/tests/lib_2/async/stack_trace07_test.dart
index dd989e8..a5d7c37 100644
--- a/tests/lib_2/async/stack_trace07_test.dart
+++ b/tests/lib_2/async/stack_trace07_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace08_test.dart b/tests/lib_2/async/stack_trace08_test.dart
index e9d5b94..d3c116d 100644
--- a/tests/lib_2/async/stack_trace08_test.dart
+++ b/tests/lib_2/async/stack_trace08_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace09_test.dart b/tests/lib_2/async/stack_trace09_test.dart
index 534aeb1..969de46 100644
--- a/tests/lib_2/async/stack_trace09_test.dart
+++ b/tests/lib_2/async/stack_trace09_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace10_test.dart b/tests/lib_2/async/stack_trace10_test.dart
index b0420d4..0e7d6c0 100644
--- a/tests/lib_2/async/stack_trace10_test.dart
+++ b/tests/lib_2/async/stack_trace10_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace11_test.dart b/tests/lib_2/async/stack_trace11_test.dart
index d698a18..7a60cb1 100644
--- a/tests/lib_2/async/stack_trace11_test.dart
+++ b/tests/lib_2/async/stack_trace11_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace12_test.dart b/tests/lib_2/async/stack_trace12_test.dart
index c067d8f..0991efc 100644
--- a/tests/lib_2/async/stack_trace12_test.dart
+++ b/tests/lib_2/async/stack_trace12_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace13_test.dart b/tests/lib_2/async/stack_trace13_test.dart
index 8855bee..39e9dfb 100644
--- a/tests/lib_2/async/stack_trace13_test.dart
+++ b/tests/lib_2/async/stack_trace13_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace14_test.dart b/tests/lib_2/async/stack_trace14_test.dart
index fe3a534..20c2c0a 100644
--- a/tests/lib_2/async/stack_trace14_test.dart
+++ b/tests/lib_2/async/stack_trace14_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace15_test.dart b/tests/lib_2/async/stack_trace15_test.dart
index e52b4eb..03e0ba9 100644
--- a/tests/lib_2/async/stack_trace15_test.dart
+++ b/tests/lib_2/async/stack_trace15_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace16_test.dart b/tests/lib_2/async/stack_trace16_test.dart
index a54a56e..398e14c 100644
--- a/tests/lib_2/async/stack_trace16_test.dart
+++ b/tests/lib_2/async/stack_trace16_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace17_test.dart b/tests/lib_2/async/stack_trace17_test.dart
index b7f33c5..caed731 100644
--- a/tests/lib_2/async/stack_trace17_test.dart
+++ b/tests/lib_2/async/stack_trace17_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace18_test.dart b/tests/lib_2/async/stack_trace18_test.dart
index 51b0c70..b15f5f7 100644
--- a/tests/lib_2/async/stack_trace18_test.dart
+++ b/tests/lib_2/async/stack_trace18_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace19_test.dart b/tests/lib_2/async/stack_trace19_test.dart
index 74a6180..5a4d915 100644
--- a/tests/lib_2/async/stack_trace19_test.dart
+++ b/tests/lib_2/async/stack_trace19_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace20_test.dart b/tests/lib_2/async/stack_trace20_test.dart
index b0420d4..0e7d6c0 100644
--- a/tests/lib_2/async/stack_trace20_test.dart
+++ b/tests/lib_2/async/stack_trace20_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace21_test.dart b/tests/lib_2/async/stack_trace21_test.dart
index b859ba8..9ce5929 100644
--- a/tests/lib_2/async/stack_trace21_test.dart
+++ b/tests/lib_2/async/stack_trace21_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace22_test.dart b/tests/lib_2/async/stack_trace22_test.dart
index 0ac1b8e..e37709d 100644
--- a/tests/lib_2/async/stack_trace22_test.dart
+++ b/tests/lib_2/async/stack_trace22_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace23_test.dart b/tests/lib_2/async/stack_trace23_test.dart
index 2ee308a..d6eaca3 100644
--- a/tests/lib_2/async/stack_trace23_test.dart
+++ b/tests/lib_2/async/stack_trace23_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace24_test.dart b/tests/lib_2/async/stack_trace24_test.dart
index 81fa3d2..ccdd5db 100644
--- a/tests/lib_2/async/stack_trace24_test.dart
+++ b/tests/lib_2/async/stack_trace24_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stack_trace25_test.dart b/tests/lib_2/async/stack_trace25_test.dart
index 88a541b..c04b48b 100644
--- a/tests/lib_2/async/stack_trace25_test.dart
+++ b/tests/lib_2/async/stack_trace25_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_controller_add_error_test.dart b/tests/lib_2/async/stream_controller_add_error_test.dart
index fe24ceb..4656f83 100644
--- a/tests/lib_2/async/stream_controller_add_error_test.dart
+++ b/tests/lib_2/async/stream_controller_add_error_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2020, 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.9
 import 'dart:async';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/async/stream_controller_async_test.dart b/tests/lib_2/async/stream_controller_async_test.dart
index a079250..bc8355e 100644
--- a/tests/lib_2/async/stream_controller_async_test.dart
+++ b/tests/lib_2/async/stream_controller_async_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.9
+
 // Test the basic StreamController and StreamController.broadcast.
 library stream_controller_async_test;
 
diff --git a/tests/lib_2/async/stream_controller_test.dart b/tests/lib_2/async/stream_controller_test.dart
index f0c5276..a644be3 100644
--- a/tests/lib_2/async/stream_controller_test.dart
+++ b/tests/lib_2/async/stream_controller_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.9
+
 // Test the basic StreamController and StreamController.singleSubscription.
 library stream_controller_test;
 
diff --git a/tests/lib_2/async/stream_distinct_test.dart b/tests/lib_2/async/stream_distinct_test.dart
index 354c258..03a0665 100644
--- a/tests/lib_2/async/stream_distinct_test.dart
+++ b/tests/lib_2/async/stream_distinct_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_empty_test.dart b/tests/lib_2/async/stream_empty_test.dart
index d421b3d..e4914a9 100644
--- a/tests/lib_2/async/stream_empty_test.dart
+++ b/tests/lib_2/async/stream_empty_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.9
+
 // Test empty stream.
 import "package:expect/expect.dart";
 import "dart:async";
diff --git a/tests/lib_2/async/stream_error_test.dart b/tests/lib_2/async/stream_error_test.dart
index 1c0737e..bc73376 100644
--- a/tests/lib_2/async/stream_error_test.dart
+++ b/tests/lib_2/async/stream_error_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_event_transformed_test.dart b/tests/lib_2/async/stream_event_transformed_test.dart
index 2b22fad..475e6fd 100644
--- a/tests/lib_2/async/stream_event_transformed_test.dart
+++ b/tests/lib_2/async/stream_event_transformed_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_first_where_test.dart b/tests/lib_2/async/stream_first_where_test.dart
index ad1a83c..ec496a0 100644
--- a/tests/lib_2/async/stream_first_where_test.dart
+++ b/tests/lib_2/async/stream_first_where_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.9
+
 library stream_controller_async_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_from_futures_test.dart b/tests/lib_2/async/stream_from_futures_test.dart
index 2313c9d..56442b2 100644
--- a/tests/lib_2/async/stream_from_futures_test.dart
+++ b/tests/lib_2/async/stream_from_futures_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/stream_from_iterable_test.dart b/tests/lib_2/async/stream_from_iterable_test.dart
index d80d989..fb26553 100644
--- a/tests/lib_2/async/stream_from_iterable_test.dart
+++ b/tests/lib_2/async/stream_from_iterable_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.9
+
 // Test Stream.fromIterable.
 
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_iterator_double_cancel_test.dart b/tests/lib_2/async/stream_iterator_double_cancel_test.dart
index d648e0d..6ae3935 100644
--- a/tests/lib_2/async/stream_iterator_double_cancel_test.dart
+++ b/tests/lib_2/async/stream_iterator_double_cancel_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_iterator_test.dart b/tests/lib_2/async/stream_iterator_test.dart
index 1b952cd..38b3277 100644
--- a/tests/lib_2/async/stream_iterator_test.dart
+++ b/tests/lib_2/async/stream_iterator_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/async/stream_join_test.dart b/tests/lib_2/async/stream_join_test.dart
index 6e3a98b..2e5ded2 100644
--- a/tests/lib_2/async/stream_join_test.dart
+++ b/tests/lib_2/async/stream_join_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.9
+
 // Test the basic StreamController and StreamController.singleSubscription.
 library stream_join_test;
 
diff --git a/tests/lib_2/async/stream_last_where_test.dart b/tests/lib_2/async/stream_last_where_test.dart
index 42418b9..5100cf0 100644
--- a/tests/lib_2/async/stream_last_where_test.dart
+++ b/tests/lib_2/async/stream_last_where_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.9
+
 library stream_controller_async_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_listen_zone_test.dart b/tests/lib_2/async/stream_listen_zone_test.dart
index 64ff77d..ff59f46 100644
--- a/tests/lib_2/async/stream_listen_zone_test.dart
+++ b/tests/lib_2/async/stream_listen_zone_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.9
+
 library stream_listen_zeno_test;
 
 import "dart:async";
diff --git a/tests/lib_2/async/stream_multi_test.dart b/tests/lib_2/async/stream_multi_test.dart
index b5dd7e5..413ed1d 100644
--- a/tests/lib_2/async/stream_multi_test.dart
+++ b/tests/lib_2/async/stream_multi_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.9
+
 import 'dart:async';
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/async/stream_periodic2_test.dart b/tests/lib_2/async/stream_periodic2_test.dart
index 1250131..d0d9ed9 100644
--- a/tests/lib_2/async/stream_periodic2_test.dart
+++ b/tests/lib_2/async/stream_periodic2_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_periodic3_test.dart b/tests/lib_2/async/stream_periodic3_test.dart
index a1fbbd0..7e0f3fd 100644
--- a/tests/lib_2/async/stream_periodic3_test.dart
+++ b/tests/lib_2/async/stream_periodic3_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_periodic4_test.dart b/tests/lib_2/async/stream_periodic4_test.dart
index e687786..5471b34 100644
--- a/tests/lib_2/async/stream_periodic4_test.dart
+++ b/tests/lib_2/async/stream_periodic4_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_periodic5_test.dart b/tests/lib_2/async/stream_periodic5_test.dart
index 2be1c96..16148bc 100644
--- a/tests/lib_2/async/stream_periodic5_test.dart
+++ b/tests/lib_2/async/stream_periodic5_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_periodic6_test.dart b/tests/lib_2/async/stream_periodic6_test.dart
index 0ef154e..6c1f42e 100644
--- a/tests/lib_2/async/stream_periodic6_test.dart
+++ b/tests/lib_2/async/stream_periodic6_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_periodic_test.dart b/tests/lib_2/async/stream_periodic_test.dart
index 43a06d0..554c802 100644
--- a/tests/lib_2/async/stream_periodic_test.dart
+++ b/tests/lib_2/async/stream_periodic_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.9
+
 // Test merging streams.
 library dart.test.stream_from_iterable;
 
diff --git a/tests/lib_2/async/stream_single_test.dart b/tests/lib_2/async/stream_single_test.dart
index 0156d71..3d943d8 100644
--- a/tests/lib_2/async/stream_single_test.dart
+++ b/tests/lib_2/async/stream_single_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.9
+
 // Test the Stream.single method.
 library stream_single_test;
 
diff --git a/tests/lib_2/async/stream_single_to_multi_subscriber_test.dart b/tests/lib_2/async/stream_single_to_multi_subscriber_test.dart
index e422a8d..db68a58 100644
--- a/tests/lib_2/async/stream_single_to_multi_subscriber_test.dart
+++ b/tests/lib_2/async/stream_single_to_multi_subscriber_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.9
+
 // Test the basic StreamController and StreamController.singleSubscription.
 library stream_single_test;
 
diff --git a/tests/lib_2/async/stream_state_helper.dart b/tests/lib_2/async/stream_state_helper.dart
index 6178495..1a5289f 100644
--- a/tests/lib_2/async/stream_state_helper.dart
+++ b/tests/lib_2/async/stream_state_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.9
+
 library stream_state_helper;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_state_nonzero_timer_test.dart b/tests/lib_2/async/stream_state_nonzero_timer_test.dart
index 8c7c115..2b7ef11 100644
--- a/tests/lib_2/async/stream_state_nonzero_timer_test.dart
+++ b/tests/lib_2/async/stream_state_nonzero_timer_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.9
+
 // Test the event/callback protocol of the stream implementations.
 // Uses a non-zero timer so it fails on d8.
 
diff --git a/tests/lib_2/async/stream_state_test.dart b/tests/lib_2/async/stream_state_test.dart
index 651f74d..6ea0b13 100644
--- a/tests/lib_2/async/stream_state_test.dart
+++ b/tests/lib_2/async/stream_state_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.9
+
 // Test the event/callback protocol of the stream implementations.
 library stream_state_test;
 
diff --git a/tests/lib_2/async/stream_subscription_as_future_test.dart b/tests/lib_2/async/stream_subscription_as_future_test.dart
index 55f2c29..131ac39 100644
--- a/tests/lib_2/async/stream_subscription_as_future_test.dart
+++ b/tests/lib_2/async/stream_subscription_as_future_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.9
+
 // Test the Stream.single method.
 library stream_single_test;
 
diff --git a/tests/lib_2/async/stream_subscription_cancel_test.dart b/tests/lib_2/async/stream_subscription_cancel_test.dart
index 017bac5..db8062e 100644
--- a/tests/lib_2/async/stream_subscription_cancel_test.dart
+++ b/tests/lib_2/async/stream_subscription_cancel_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.9
+
 // Test the StreamSubscription.cancel return Future.
 library stream_subscription_cancel;
 
diff --git a/tests/lib_2/async/stream_take_test.dart b/tests/lib_2/async/stream_take_test.dart
index 853cc77..2b19332 100644
--- a/tests/lib_2/async/stream_take_test.dart
+++ b/tests/lib_2/async/stream_take_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_timeout_test.dart b/tests/lib_2/async/stream_timeout_test.dart
index d0ddc0d..e632d4e 100644
--- a/tests/lib_2/async/stream_timeout_test.dart
+++ b/tests/lib_2/async/stream_timeout_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/async/stream_transform_test.dart b/tests/lib_2/async/stream_transform_test.dart
index e8ac505..955b9ff 100644
--- a/tests/lib_2/async/stream_transform_test.dart
+++ b/tests/lib_2/async/stream_transform_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.9
+
 library stream_transform_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_transformation_broadcast_test.dart b/tests/lib_2/async/stream_transformation_broadcast_test.dart
index 839933f..34ec9eb 100644
--- a/tests/lib_2/async/stream_transformation_broadcast_test.dart
+++ b/tests/lib_2/async/stream_transformation_broadcast_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.9
+
 // Test that transformations like `map` and `where` preserve broadcast flag.
 library stream_join_test;
 
diff --git a/tests/lib_2/async/stream_transformer_from_bind_test.dart b/tests/lib_2/async/stream_transformer_from_bind_test.dart
index fcc63a1..6908de1 100644
--- a/tests/lib_2/async/stream_transformer_from_bind_test.dart
+++ b/tests/lib_2/async/stream_transformer_from_bind_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.9
+
 import 'dart:async';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_transformer_from_handlers_test.dart b/tests/lib_2/async/stream_transformer_from_handlers_test.dart
index 5363774..6b5a95e 100644
--- a/tests/lib_2/async/stream_transformer_from_handlers_test.dart
+++ b/tests/lib_2/async/stream_transformer_from_handlers_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/stream_transformer_test.dart b/tests/lib_2/async/stream_transformer_test.dart
index 9f89f6a..7905a62 100644
--- a/tests/lib_2/async/stream_transformer_test.dart
+++ b/tests/lib_2/async/stream_transformer_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.9
+
 import 'package:expect/expect.dart';
 import 'dart:async';
 
diff --git a/tests/lib_2/async/stream_type_test.dart b/tests/lib_2/async/stream_type_test.dart
index 2a76d73..11358d2 100644
--- a/tests/lib_2/async/stream_type_test.dart
+++ b/tests/lib_2/async/stream_type_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/async/stream_value_test.dart b/tests/lib_2/async/stream_value_test.dart
index 75b6c88..ff5dec1 100644
--- a/tests/lib_2/async/stream_value_test.dart
+++ b/tests/lib_2/async/stream_value_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.9
+
 import 'dart:async';
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/stream_view_test.dart b/tests/lib_2/async/stream_view_test.dart
index 6bc0ee6..def705a 100644
--- a/tests/lib_2/async/stream_view_test.dart
+++ b/tests/lib_2/async/stream_view_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.9
+
 // Tests the StreamView class.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/async/stream_zones_test.dart b/tests/lib_2/async/stream_zones_test.dart
index 9f382ba..e02385d 100644
--- a/tests/lib_2/async/stream_zones_test.dart
+++ b/tests/lib_2/async/stream_zones_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.9
+
 import 'package:async_helper/async_helper.dart';
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/lib_2/async/timer_cancel1_test.dart b/tests/lib_2/async/timer_cancel1_test.dart
index 1295e96..e0c7901 100644
--- a/tests/lib_2/async/timer_cancel1_test.dart
+++ b/tests/lib_2/async/timer_cancel1_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.9
+
 library timer_cancel1_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/timer_cancel2_test.dart b/tests/lib_2/async/timer_cancel2_test.dart
index 7b3d0e2..1a9fc4a 100644
--- a/tests/lib_2/async/timer_cancel2_test.dart
+++ b/tests/lib_2/async/timer_cancel2_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.9
+
 library timer_cancel2_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/timer_cancel_test.dart b/tests/lib_2/async/timer_cancel_test.dart
index 475bc91..310995d 100644
--- a/tests/lib_2/async/timer_cancel_test.dart
+++ b/tests/lib_2/async/timer_cancel_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.9
+
 library timer_cancel_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/timer_isActive_test.dart b/tests/lib_2/async/timer_isActive_test.dart
index b688b21..01a937a 100644
--- a/tests/lib_2/async/timer_isActive_test.dart
+++ b/tests/lib_2/async/timer_isActive_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.9
+
 import 'dart:async';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/async/timer_repeat_test.dart b/tests/lib_2/async/timer_repeat_test.dart
index afe1957..7cc7f6d 100644
--- a/tests/lib_2/async/timer_repeat_test.dart
+++ b/tests/lib_2/async/timer_repeat_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.9
+
 library timer_repeat_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/timer_test.dart b/tests/lib_2/async/timer_test.dart
index 220ac05..51500d2 100644
--- a/tests/lib_2/async/timer_test.dart
+++ b/tests/lib_2/async/timer_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.9
+
 library timer_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/async/uncaught_error_handler_throws_test.dart b/tests/lib_2/async/uncaught_error_handler_throws_test.dart
index f70f098..e5790af 100644
--- a/tests/lib_2/async/uncaught_error_handler_throws_test.dart
+++ b/tests/lib_2/async/uncaught_error_handler_throws_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/wait_for_cancel_test.dart b/tests/lib_2/async/wait_for_cancel_test.dart
index 7c40084..aed799b 100644
--- a/tests/lib_2/async/wait_for_cancel_test.dart
+++ b/tests/lib_2/async/wait_for_cancel_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.9
+
 import "dart:async";
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/async/zone_async_error_test.dart b/tests/lib_2/async/zone_async_error_test.dart
index ad3709d..73840d4 100644
--- a/tests/lib_2/async/zone_async_error_test.dart
+++ b/tests/lib_2/async/zone_async_error_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2020, 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.9
 import 'dart:async';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/async/zone_bind_callback_test.dart b/tests/lib_2/async/zone_bind_callback_test.dart
index dd85df5..234be15 100644
--- a/tests/lib_2/async/zone_bind_callback_test.dart
+++ b/tests/lib_2/async/zone_bind_callback_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_bind_callback_unary_test.dart b/tests/lib_2/async/zone_bind_callback_unary_test.dart
index f063fbd..8bf937f 100644
--- a/tests/lib_2/async/zone_bind_callback_unary_test.dart
+++ b/tests/lib_2/async/zone_bind_callback_unary_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_bind_test.dart b/tests/lib_2/async/zone_bind_test.dart
index a0ab503..2920d14 100644
--- a/tests/lib_2/async/zone_bind_test.dart
+++ b/tests/lib_2/async/zone_bind_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_create_periodic_timer_test.dart b/tests/lib_2/async/zone_create_periodic_timer_test.dart
index d6c105e..2b48d90 100644
--- a/tests/lib_2/async/zone_create_periodic_timer_test.dart
+++ b/tests/lib_2/async/zone_create_periodic_timer_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_create_timer2_test.dart b/tests/lib_2/async/zone_create_timer2_test.dart
index 4608e88..623d895 100644
--- a/tests/lib_2/async/zone_create_timer2_test.dart
+++ b/tests/lib_2/async/zone_create_timer2_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_create_timer_test.dart b/tests/lib_2/async/zone_create_timer_test.dart
index 883ee59..5958b2e 100644
--- a/tests/lib_2/async/zone_create_timer_test.dart
+++ b/tests/lib_2/async/zone_create_timer_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_debug_test.dart b/tests/lib_2/async/zone_debug_test.dart
index 6957630..916da2f 100644
--- a/tests/lib_2/async/zone_debug_test.dart
+++ b/tests/lib_2/async/zone_debug_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_empty_description2_test.dart b/tests/lib_2/async/zone_empty_description2_test.dart
index d9af3b8..f99a70a 100644
--- a/tests/lib_2/async/zone_empty_description2_test.dart
+++ b/tests/lib_2/async/zone_empty_description2_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_empty_description_test.dart b/tests/lib_2/async/zone_empty_description_test.dart
index 8cef1f9..c88a922 100644
--- a/tests/lib_2/async/zone_empty_description_test.dart
+++ b/tests/lib_2/async/zone_empty_description_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_error_callback_test.dart b/tests/lib_2/async/zone_error_callback_test.dart
index 5ad373e..df9b9b3 100644
--- a/tests/lib_2/async/zone_error_callback_test.dart
+++ b/tests/lib_2/async/zone_error_callback_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_fork_test.dart b/tests/lib_2/async/zone_fork_test.dart
index e72e06c..558a804 100644
--- a/tests/lib_2/async/zone_fork_test.dart
+++ b/tests/lib_2/async/zone_fork_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_future_schedule_microtask_test.dart b/tests/lib_2/async/zone_future_schedule_microtask_test.dart
index 9d8f8bc..b4c4cbd 100644
--- a/tests/lib_2/async/zone_future_schedule_microtask_test.dart
+++ b/tests/lib_2/async/zone_future_schedule_microtask_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/async/zone_register_callback_test.dart b/tests/lib_2/async/zone_register_callback_test.dart
index 9825e0f..d008920 100644
--- a/tests/lib_2/async/zone_register_callback_test.dart
+++ b/tests/lib_2/async/zone_register_callback_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_register_callback_unary_test.dart b/tests/lib_2/async/zone_register_callback_unary_test.dart
index ae5cbfb..5fe037d 100644
--- a/tests/lib_2/async/zone_register_callback_unary_test.dart
+++ b/tests/lib_2/async/zone_register_callback_unary_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_root_bind_test.dart b/tests/lib_2/async/zone_root_bind_test.dart
index 34bcdad..5a545e7 100644
--- a/tests/lib_2/async/zone_root_bind_test.dart
+++ b/tests/lib_2/async/zone_root_bind_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_run_guarded_test.dart b/tests/lib_2/async/zone_run_guarded_test.dart
index 61b0f77..b1ea88d 100644
--- a/tests/lib_2/async/zone_run_guarded_test.dart
+++ b/tests/lib_2/async/zone_run_guarded_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_run_test.dart b/tests/lib_2/async/zone_run_test.dart
index 5c319d0..6f89937 100644
--- a/tests/lib_2/async/zone_run_test.dart
+++ b/tests/lib_2/async/zone_run_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_run_unary_test.dart b/tests/lib_2/async/zone_run_unary_test.dart
index ebf78ee..beb7f32 100644
--- a/tests/lib_2/async/zone_run_unary_test.dart
+++ b/tests/lib_2/async/zone_run_unary_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/async/zone_value_test.dart b/tests/lib_2/async/zone_value_test.dart
index 7841776..8be36a0 100644
--- a/tests/lib_2/async/zone_value_test.dart
+++ b/tests/lib_2/async/zone_value_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:async';
diff --git a/tests/lib_2/collection/hash_map_test.dart b/tests/lib_2/collection/hash_map_test.dart
index 3d7ff9d..98eab63 100644
--- a/tests/lib_2/collection/hash_map_test.dart
+++ b/tests/lib_2/collection/hash_map_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/collection/hash_set_test.dart b/tests/lib_2/collection/hash_set_test.dart
index c8ede1f..67827b8 100644
--- a/tests/lib_2/collection/hash_set_test.dart
+++ b/tests/lib_2/collection/hash_set_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.9
+
 import "dart:collection";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/collection/linked_list_test.dart b/tests/lib_2/collection/linked_list_test.dart
index dd73a0a..210cd7a 100644
--- a/tests/lib_2/collection/linked_list_test.dart
+++ b/tests/lib_2/collection/linked_list_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.9
+
 import 'dart:collection';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/collection/list_test.dart b/tests/lib_2/collection/list_test.dart
index 31bb61b..04f7c2c 100644
--- a/tests/lib_2/collection/list_test.dart
+++ b/tests/lib_2/collection/list_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.9
+
 import 'dart:collection';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/convert/ascii_test.dart b/tests/lib_2/convert/ascii_test.dart
index 7b67417..fa72dc6 100644
--- a/tests/lib_2/convert/ascii_test.dart
+++ b/tests/lib_2/convert/ascii_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/base64_test.dart b/tests/lib_2/convert/base64_test.dart
index 6e85a7c..fdc10d9 100644
--- a/tests/lib_2/convert/base64_test.dart
+++ b/tests/lib_2/convert/base64_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.9
+
 import 'dart:convert';
 import "dart:typed_data";
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/chunked_conversion1_test.dart b/tests/lib_2/convert/chunked_conversion1_test.dart
index cfbad24..fc16676 100644
--- a/tests/lib_2/convert/chunked_conversion1_test.dart
+++ b/tests/lib_2/convert/chunked_conversion1_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.9
+
 import 'dart:convert';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/convert/chunked_conversion2_test.dart b/tests/lib_2/convert/chunked_conversion2_test.dart
index ca37d10..93592ad 100644
--- a/tests/lib_2/convert/chunked_conversion2_test.dart
+++ b/tests/lib_2/convert/chunked_conversion2_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.9
+
 import 'dart:convert';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/convert/chunked_conversion_json_decode1_test.dart b/tests/lib_2/convert/chunked_conversion_json_decode1_test.dart
index 7a29b9c..ddfa29b 100644
--- a/tests/lib_2/convert/chunked_conversion_json_decode1_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_json_decode1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/chunked_conversion_json_encode1_test.dart b/tests/lib_2/convert/chunked_conversion_json_encode1_test.dart
index 6cbd728..4a994b1 100644
--- a/tests/lib_2/convert/chunked_conversion_json_encode1_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_json_encode1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/chunked_conversion_utf82_test.dart b/tests/lib_2/convert/chunked_conversion_utf82_test.dart
index 2e07f87..13f0643 100644
--- a/tests/lib_2/convert/chunked_conversion_utf82_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf82_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.9
+
 library utf8_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/chunked_conversion_utf83_test.dart b/tests/lib_2/convert/chunked_conversion_utf83_test.dart
index a8818a2..f8a1ad6 100644
--- a/tests/lib_2/convert/chunked_conversion_utf83_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf83_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.9
+
 // Copyright (c) 2013, 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.
diff --git a/tests/lib_2/convert/chunked_conversion_utf84_test.dart b/tests/lib_2/convert/chunked_conversion_utf84_test.dart
index 977d8d5..442387a 100644
--- a/tests/lib_2/convert/chunked_conversion_utf84_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf84_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 import 'unicode_tests.dart';
diff --git a/tests/lib_2/convert/chunked_conversion_utf85_test.dart b/tests/lib_2/convert/chunked_conversion_utf85_test.dart
index 68f58f9..0b8b055 100644
--- a/tests/lib_2/convert/chunked_conversion_utf85_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf85_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 import 'unicode_tests.dart';
diff --git a/tests/lib_2/convert/chunked_conversion_utf86_test.dart b/tests/lib_2/convert/chunked_conversion_utf86_test.dart
index 8c9a08c..3873c6b 100644
--- a/tests/lib_2/convert/chunked_conversion_utf86_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf86_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/chunked_conversion_utf87_test.dart b/tests/lib_2/convert/chunked_conversion_utf87_test.dart
index 67929af..fd94ff9 100644
--- a/tests/lib_2/convert/chunked_conversion_utf87_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf87_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/chunked_conversion_utf88_test.dart b/tests/lib_2/convert/chunked_conversion_utf88_test.dart
index 8b19b2a..5e28b35 100644
--- a/tests/lib_2/convert/chunked_conversion_utf88_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf88_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.9
+
 library utf8_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/chunked_conversion_utf89_test.dart b/tests/lib_2/convert/chunked_conversion_utf89_test.dart
index 45ef79b..748bfeb 100644
--- a/tests/lib_2/convert/chunked_conversion_utf89_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf89_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/chunked_conversion_utf8_test.dart b/tests/lib_2/convert/chunked_conversion_utf8_test.dart
index db5380b..d58ff35 100644
--- a/tests/lib_2/convert/chunked_conversion_utf8_test.dart
+++ b/tests/lib_2/convert/chunked_conversion_utf8_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 import 'unicode_tests.dart';
diff --git a/tests/lib_2/convert/close_test.dart b/tests/lib_2/convert/close_test.dart
index b8e8f0a..5bf08ef 100644
--- a/tests/lib_2/convert/close_test.dart
+++ b/tests/lib_2/convert/close_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.9
+
 import "package:expect/expect.dart";
 import "dart:convert";
 
diff --git a/tests/lib_2/convert/codec1_test.dart b/tests/lib_2/convert/codec1_test.dart
index 5b5d9b3..70c013e 100644
--- a/tests/lib_2/convert/codec1_test.dart
+++ b/tests/lib_2/convert/codec1_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.9
+
 import 'dart:convert';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/convert/codec2_test.dart b/tests/lib_2/convert/codec2_test.dart
index 7af8d1a..18bf5f4 100644
--- a/tests/lib_2/convert/codec2_test.dart
+++ b/tests/lib_2/convert/codec2_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.9
+
 import 'dart:convert';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/convert/encoding_test.dart b/tests/lib_2/convert/encoding_test.dart
index 3ad25fe..ece0106 100644
--- a/tests/lib_2/convert/encoding_test.dart
+++ b/tests/lib_2/convert/encoding_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/html_escape_test.dart b/tests/lib_2/convert/html_escape_test.dart
index f40c18d..3603447 100644
--- a/tests/lib_2/convert/html_escape_test.dart
+++ b/tests/lib_2/convert/html_escape_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/json_chunk_test.dart b/tests/lib_2/convert/json_chunk_test.dart
index 953f2b3..8fb5df5 100644
--- a/tests/lib_2/convert/json_chunk_test.dart
+++ b/tests/lib_2/convert/json_chunk_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.9
+
 library json_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/json_lib_test.dart b/tests/lib_2/convert/json_lib_test.dart
index 42db730..190637a 100644
--- a/tests/lib_2/convert/json_lib_test.dart
+++ b/tests/lib_2/convert/json_lib_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.9
+
 import 'package:expect/expect.dart';
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/json_pretty_test.dart b/tests/lib_2/convert/json_pretty_test.dart
index 86a5bbe..f95eb9e 100644
--- a/tests/lib_2/convert/json_pretty_test.dart
+++ b/tests/lib_2/convert/json_pretty_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.9
+
 // Note: This test relies on LF line endings in the source file.
 // It requires an entry in the .gitattributes file.
 
diff --git a/tests/lib_2/convert/json_test.dart b/tests/lib_2/convert/json_test.dart
index 8ebfe63..53ace84 100644
--- a/tests/lib_2/convert/json_test.dart
+++ b/tests/lib_2/convert/json_test.dart
@@ -4,6 +4,8 @@
 // Disable background compilation so that the Issue 24908 can be reproduced.
 // VMOptions=--no-background-compilation
 
+// @dart = 2.9
+
 library json_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/json_toEncodable_reviver_test.dart b/tests/lib_2/convert/json_toEncodable_reviver_test.dart
index f5f8313..d247cce 100644
--- a/tests/lib_2/convert/json_toEncodable_reviver_test.dart
+++ b/tests/lib_2/convert/json_toEncodable_reviver_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.9
+
 library json_tests;
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/convert/json_unicode_tests.dart b/tests/lib_2/convert/json_unicode_tests.dart
index 5403c61..30d6a28 100644
--- a/tests/lib_2/convert/json_unicode_tests.dart
+++ b/tests/lib_2/convert/json_unicode_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.9
+
 library json_unicode_tests;
 
 import 'unicode_tests.dart';
diff --git a/tests/lib_2/convert/json_utf8_chunk_test.dart b/tests/lib_2/convert/json_utf8_chunk_test.dart
index cf5064e..99379b7 100644
--- a/tests/lib_2/convert/json_utf8_chunk_test.dart
+++ b/tests/lib_2/convert/json_utf8_chunk_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.9
+
 library test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/json_utf8_test.dart b/tests/lib_2/convert/json_utf8_test.dart
index 6afae4d..f0afc40 100644
--- a/tests/lib_2/convert/json_utf8_test.dart
+++ b/tests/lib_2/convert/json_utf8_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.9
+
 // Test that the fused UTF-8/JSON decoder accepts a leading BOM.
 library test;
 
diff --git a/tests/lib_2/convert/json_util_test.dart b/tests/lib_2/convert/json_util_test.dart
index bf945f9..4c5b212 100644
--- a/tests/lib_2/convert/json_util_test.dart
+++ b/tests/lib_2/convert/json_util_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.9
+
 library jsonTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/latin1_test.dart b/tests/lib_2/convert/latin1_test.dart
index aed3171..4e1355d 100644
--- a/tests/lib_2/convert/latin1_test.dart
+++ b/tests/lib_2/convert/latin1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 
diff --git a/tests/lib_2/convert/line_splitter_test.dart b/tests/lib_2/convert/line_splitter_test.dart
index 747e7bd..a1d2571 100644
--- a/tests/lib_2/convert/line_splitter_test.dart
+++ b/tests/lib_2/convert/line_splitter_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.9
+
 library line_splitter_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/streamed_conversion_json_decode1_test.dart b/tests/lib_2/convert/streamed_conversion_json_decode1_test.dart
index 8c6416e..0647f44 100644
--- a/tests/lib_2/convert/streamed_conversion_json_decode1_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_json_decode1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/streamed_conversion_json_encode1_test.dart b/tests/lib_2/convert/streamed_conversion_json_encode1_test.dart
index e5d7485..2aa76a7 100644
--- a/tests/lib_2/convert/streamed_conversion_json_encode1_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_json_encode1_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/streamed_conversion_json_utf8_decode_test.dart b/tests/lib_2/convert/streamed_conversion_json_utf8_decode_test.dart
index baf4322..9faad73 100644
--- a/tests/lib_2/convert/streamed_conversion_json_utf8_decode_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_json_utf8_decode_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.9
+
 // VMOptions=
 // VMOptions=--verify_before_gc
 // VMOptions=--verify_after_gc
diff --git a/tests/lib_2/convert/streamed_conversion_json_utf8_encode_test.dart b/tests/lib_2/convert/streamed_conversion_json_utf8_encode_test.dart
index c4f1a44..d9d776d 100644
--- a/tests/lib_2/convert/streamed_conversion_json_utf8_encode_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_json_utf8_encode_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/streamed_conversion_utf8_decode_test.dart b/tests/lib_2/convert/streamed_conversion_utf8_decode_test.dart
index d903db6..10424b7 100644
--- a/tests/lib_2/convert/streamed_conversion_utf8_decode_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_utf8_decode_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/streamed_conversion_utf8_encode_test.dart b/tests/lib_2/convert/streamed_conversion_utf8_encode_test.dart
index 3daba03..d260db5 100644
--- a/tests/lib_2/convert/streamed_conversion_utf8_encode_test.dart
+++ b/tests/lib_2/convert/streamed_conversion_utf8_encode_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:convert';
diff --git a/tests/lib_2/convert/unicode_tests.dart b/tests/lib_2/convert/unicode_tests.dart
index 9f0493b..0c80906 100644
--- a/tests/lib_2/convert/unicode_tests.dart
+++ b/tests/lib_2/convert/unicode_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.9
+
 library unicode_tests;
 
 // Google favorite: "Îñţérñåţîöñåļîžåţîờñ".
diff --git a/tests/lib_2/convert/utf82_test.dart b/tests/lib_2/convert/utf82_test.dart
index cf0c2b0..7aa483f 100644
--- a/tests/lib_2/convert/utf82_test.dart
+++ b/tests/lib_2/convert/utf82_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.9
+
 library utf8_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/utf83_test.dart b/tests/lib_2/convert/utf83_test.dart
index 6972c11..2a980c1 100644
--- a/tests/lib_2/convert/utf83_test.dart
+++ b/tests/lib_2/convert/utf83_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.9
+
 library utf8_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/utf84_test.dart b/tests/lib_2/convert/utf84_test.dart
index 566b1fa..639504a 100755
--- a/tests/lib_2/convert/utf84_test.dart
+++ b/tests/lib_2/convert/utf84_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.9
+
 import 'package:expect/expect.dart';
 import 'dart:convert';
 import 'dart:typed_data' show Uint8List;
diff --git a/tests/lib_2/convert/utf85_test.dart b/tests/lib_2/convert/utf85_test.dart
index a380991..75e05e1 100644
--- a/tests/lib_2/convert/utf85_test.dart
+++ b/tests/lib_2/convert/utf85_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.9
+
 library utf8_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/convert/utf8_encode_test.dart b/tests/lib_2/convert/utf8_encode_test.dart
index 0a43e14..66ee377 100644
--- a/tests/lib_2/convert/utf8_encode_test.dart
+++ b/tests/lib_2/convert/utf8_encode_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 import 'unicode_tests.dart';
diff --git a/tests/lib_2/convert/utf8_test.dart b/tests/lib_2/convert/utf8_test.dart
index 6f97fd0..d92b0d6 100644
--- a/tests/lib_2/convert/utf8_test.dart
+++ b/tests/lib_2/convert/utf8_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.9
+
 import "package:expect/expect.dart";
 import 'dart:convert';
 import 'dart:typed_data' show Uint8List;
diff --git a/tests/lib_2/developer/inspect_test.dart b/tests/lib_2/developer/inspect_test.dart
index 9f06215..80cf966 100644
--- a/tests/lib_2/developer/inspect_test.dart
+++ b/tests/lib_2/developer/inspect_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.9
+
 import 'dart:developer';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/developer/metrics_num_test.dart b/tests/lib_2/developer/metrics_num_test.dart
index 4fc829c..a198f83 100644
--- a/tests/lib_2/developer/metrics_num_test.dart
+++ b/tests/lib_2/developer/metrics_num_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:developer';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/developer/metrics_test.dart b/tests/lib_2/developer/metrics_test.dart
index fe33175..e91d3c2 100644
--- a/tests/lib_2/developer/metrics_test.dart
+++ b/tests/lib_2/developer/metrics_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:developer';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/developer/timeline_recorders_test.dart b/tests/lib_2/developer/timeline_recorders_test.dart
index 349cbba..e0a82f0 100644
--- a/tests/lib_2/developer/timeline_recorders_test.dart
+++ b/tests/lib_2/developer/timeline_recorders_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.9
+
 /// VMOptions=--timeline_streams=VM,Isolate,GC,Dart --timeline_recorder=endless
 /// VMOptions=--timeline_streams=VM,Isolate,GC,Dart --timeline_recorder=ring
 /// VMOptions=--timeline_streams=VM,Isolate,GC,Dart --timeline_recorder=startup
diff --git a/tests/lib_2/developer/timeline_test.dart b/tests/lib_2/developer/timeline_test.dart
index fab8e93..6e96e2a 100644
--- a/tests/lib_2/developer/timeline_test.dart
+++ b/tests/lib_2/developer/timeline_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.9
+
 import 'dart:developer';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/developer/user_tags_test.dart b/tests/lib_2/developer/user_tags_test.dart
index c22e373..16581bd 100644
--- a/tests/lib_2/developer/user_tags_test.dart
+++ b/tests/lib_2/developer/user_tags_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:developer';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/html/async_cancellingisolate.dart b/tests/lib_2/html/async_cancellingisolate.dart
index fe0096b..50ce418 100644
--- a/tests/lib_2/html/async_cancellingisolate.dart
+++ b/tests/lib_2/html/async_cancellingisolate.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library async_cancellingisolate;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/async_oneshot.dart b/tests/lib_2/html/async_oneshot.dart
index 718a1d1..55827b1 100644
--- a/tests/lib_2/html/async_oneshot.dart
+++ b/tests/lib_2/html/async_oneshot.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 import 'package:expect/minitest.dart';
 
diff --git a/tests/lib_2/html/async_periodictimer.dart b/tests/lib_2/html/async_periodictimer.dart
index 3205d04..55c468e 100644
--- a/tests/lib_2/html/async_periodictimer.dart
+++ b/tests/lib_2/html/async_periodictimer.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library async_periodictimer;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/async_test.dart b/tests/lib_2/html/async_test.dart
index dd209fb..7812c7c 100644
--- a/tests/lib_2/html/async_test.dart
+++ b/tests/lib_2/html/async_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library async_test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/audiobuffersourcenode_test.dart b/tests/lib_2/html/audiobuffersourcenode_test.dart
index 9c98cf0..fd79b01 100644
--- a/tests/lib_2/html/audiobuffersourcenode_test.dart
+++ b/tests/lib_2/html/audiobuffersourcenode_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:web_audio';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/audiocontext_test.dart b/tests/lib_2/html/audiocontext_test.dart
index be99945..b66e54b 100644
--- a/tests/lib_2/html/audiocontext_test.dart
+++ b/tests/lib_2/html/audiocontext_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 import 'dart:html';
 import 'dart:typed_data';
diff --git a/tests/lib_2/html/audioelement_test.dart b/tests/lib_2/html/audioelement_test.dart
index 53133b7..e438afb 100644
--- a/tests/lib_2/html/audioelement_test.dart
+++ b/tests/lib_2/html/audioelement_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/b_element_test.dart b/tests/lib_2/html/b_element_test.dart
index 3dbb0e7..5083b75 100644
--- a/tests/lib_2/html/b_element_test.dart
+++ b/tests/lib_2/html/b_element_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 main() {
diff --git a/tests/lib_2/html/blob_constructor_test.dart b/tests/lib_2/html/blob_constructor_test.dart
index d5f5d34..6f17fd8 100644
--- a/tests/lib_2/html/blob_constructor_test.dart
+++ b/tests/lib_2/html/blob_constructor_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/cache_test.dart b/tests/lib_2/html/cache_test.dart
index 06b4258..0200cf1 100644
--- a/tests/lib_2/html/cache_test.dart
+++ b/tests/lib_2/html/cache_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/callback_list_test.dart b/tests/lib_2/html/callback_list_test.dart
index df22d17..1a90f16 100644
--- a/tests/lib_2/html/callback_list_test.dart
+++ b/tests/lib_2/html/callback_list_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library callback_list_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/callbacks_test.dart b/tests/lib_2/html/callbacks_test.dart
index 7afeae5..eae0b1e 100644
--- a/tests/lib_2/html/callbacks_test.dart
+++ b/tests/lib_2/html/callbacks_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 main() {
diff --git a/tests/lib_2/html/canvas_pixel_array_type_alias_test.dart b/tests/lib_2/html/canvas_pixel_array_type_alias_test.dart
index f77e9b0..8b511e9 100644
--- a/tests/lib_2/html/canvas_pixel_array_type_alias_test.dart
+++ b/tests/lib_2/html/canvas_pixel_array_type_alias_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/canvas_test.dart b/tests/lib_2/html/canvas_test.dart
index 730ab7b..52ddd32 100644
--- a/tests/lib_2/html/canvas_test.dart
+++ b/tests/lib_2/html/canvas_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library CanvasTest;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/canvasrendering/arc_test.dart b/tests/lib_2/html/canvasrendering/arc_test.dart
index d60fb1e..ff39386 100644
--- a/tests/lib_2/html/canvasrendering/arc_test.dart
+++ b/tests/lib_2/html/canvasrendering/arc_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/canvasrendering/canvas_rendering_util.dart b/tests/lib_2/html/canvasrendering/canvas_rendering_util.dart
index 037da9e..09e8984 100644
--- a/tests/lib_2/html/canvasrendering/canvas_rendering_util.dart
+++ b/tests/lib_2/html/canvasrendering/canvas_rendering_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/canvasrendering/draw_image_canvas_element_test.dart b/tests/lib_2/html/canvasrendering/draw_image_canvas_element_test.dart
index 942c8f6..d7117d9 100644
--- a/tests/lib_2/html/canvasrendering/draw_image_canvas_element_test.dart
+++ b/tests/lib_2/html/canvasrendering/draw_image_canvas_element_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/canvasrendering/draw_image_video_element_test.dart b/tests/lib_2/html/canvasrendering/draw_image_video_element_test.dart
index e2899d7..e8304d1 100644
--- a/tests/lib_2/html/canvasrendering/draw_image_video_element_test.dart
+++ b/tests/lib_2/html/canvasrendering/draw_image_video_element_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/canvasrendering/fill_text_test.dart b/tests/lib_2/html/canvasrendering/fill_text_test.dart
index fe44d25..ad9381f 100644
--- a/tests/lib_2/html/canvasrendering/fill_text_test.dart
+++ b/tests/lib_2/html/canvasrendering/fill_text_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/canvasrendering/image_element_test.dart b/tests/lib_2/html/canvasrendering/image_element_test.dart
index a1d8040..c5ee1d1 100644
--- a/tests/lib_2/html/canvasrendering/image_element_test.dart
+++ b/tests/lib_2/html/canvasrendering/image_element_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/canvasrendering/pixel_manipulation_test.dart b/tests/lib_2/html/canvasrendering/pixel_manipulation_test.dart
index 586072a..24e9e45 100644
--- a/tests/lib_2/html/canvasrendering/pixel_manipulation_test.dart
+++ b/tests/lib_2/html/canvasrendering/pixel_manipulation_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.9
+
 library canvas_rendering_context_2d_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/cdata_test.dart b/tests/lib_2/html/cdata_test.dart
index 60c311a..168ab1d 100644
--- a/tests/lib_2/html/cdata_test.dart
+++ b/tests/lib_2/html/cdata_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/client_rect_test.dart b/tests/lib_2/html/client_rect_test.dart
index 10d84b2..056d851 100644
--- a/tests/lib_2/html/client_rect_test.dart
+++ b/tests/lib_2/html/client_rect_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/cross_domain_iframe_test.dart b/tests/lib_2/html/cross_domain_iframe_test.dart
index a903a32..d49025f 100644
--- a/tests/lib_2/html/cross_domain_iframe_test.dart
+++ b/tests/lib_2/html/cross_domain_iframe_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.9
+
 import 'dart:html';
 import 'package:expect/minitest.dart';
 
diff --git a/tests/lib_2/html/cross_frame_test.dart b/tests/lib_2/html/cross_frame_test.dart
index 030f3b8..4dcf562 100644
--- a/tests/lib_2/html/cross_frame_test.dart
+++ b/tests/lib_2/html/cross_frame_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/crypto_test.dart b/tests/lib_2/html/crypto_test.dart
index 9cb63ab..7a9d8d8 100644
--- a/tests/lib_2/html/crypto_test.dart
+++ b/tests/lib_2/html/crypto_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/css_rule_list_test.dart b/tests/lib_2/html/css_rule_list_test.dart
index 481aca9..8b61620 100644
--- a/tests/lib_2/html/css_rule_list_test.dart
+++ b/tests/lib_2/html/css_rule_list_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/css_selector_test.dart b/tests/lib_2/html/css_selector_test.dart
index 2b001a0..6540b48 100644
--- a/tests/lib_2/html/css_selector_test.dart
+++ b/tests/lib_2/html/css_selector_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.9
+
 import 'dart:html';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/html/css_test.dart b/tests/lib_2/html/css_test.dart
index ee84acb..2d60c97 100644
--- a/tests/lib_2/html/css_test.dart
+++ b/tests/lib_2/html/css_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library CssTest;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/cssstyledeclaration_test.dart b/tests/lib_2/html/cssstyledeclaration_test.dart
index 02921d6..393139e 100644
--- a/tests/lib_2/html/cssstyledeclaration_test.dart
+++ b/tests/lib_2/html/cssstyledeclaration_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.9
+
 library CssStyleDeclarationTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/attribute_changed_callback_test.dart b/tests/lib_2/html/custom/attribute_changed_callback_test.dart
index f30a048..cb6a4e7 100644
--- a/tests/lib_2/html/custom/attribute_changed_callback_test.dart
+++ b/tests/lib_2/html/custom/attribute_changed_callback_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.9
+
 library attribute_changed_callback_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/created_callback_test.dart b/tests/lib_2/html/custom/created_callback_test.dart
index d5e193a..b9895c7 100644
--- a/tests/lib_2/html/custom/created_callback_test.dart
+++ b/tests/lib_2/html/custom/created_callback_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.9
+
 library created_callback_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/custom/document_register_basic_test.dart b/tests/lib_2/html/custom/document_register_basic_test.dart
index 3205761..24530d2 100644
--- a/tests/lib_2/html/custom/document_register_basic_test.dart
+++ b/tests/lib_2/html/custom/document_register_basic_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.9
+
 library document_register_basic_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/custom/document_register_template_test.dart b/tests/lib_2/html/custom/document_register_template_test.dart
index 7e37b96..2388490 100644
--- a/tests/lib_2/html/custom/document_register_template_test.dart
+++ b/tests/lib_2/html/custom/document_register_template_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/custom/document_register_type_extensions_test.dart b/tests/lib_2/html/custom/document_register_type_extensions_test.dart
index b1bdd67..740891d 100644
--- a/tests/lib_2/html/custom/document_register_type_extensions_test.dart
+++ b/tests/lib_2/html/custom/document_register_type_extensions_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.9
+
 import 'dart:html';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/custom/element_upgrade_failure_test.dart b/tests/lib_2/html/custom/element_upgrade_failure_test.dart
index db46df5..4b5937d 100644
--- a/tests/lib_2/html/custom/element_upgrade_failure_test.dart
+++ b/tests/lib_2/html/custom/element_upgrade_failure_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.9
+
 import 'dart:html';
 import 'dart:js' as js;
 
diff --git a/tests/lib_2/html/custom/element_upgrade_test.dart b/tests/lib_2/html/custom/element_upgrade_test.dart
index 8c3df43..761aa19 100644
--- a/tests/lib_2/html/custom/element_upgrade_test.dart
+++ b/tests/lib_2/html/custom/element_upgrade_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.9
+
 import 'dart:html';
 import 'dart:js' as js;
 
diff --git a/tests/lib_2/html/custom/entered_left_view/disconnected_subtree_test.dart b/tests/lib_2/html/custom/entered_left_view/disconnected_subtree_test.dart
index aacbfc5..4f15cc7 100644
--- a/tests/lib_2/html/custom/entered_left_view/disconnected_subtree_test.dart
+++ b/tests/lib_2/html/custom/entered_left_view/disconnected_subtree_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/entered_left_view/entered_left_view_standard_events_test.dart b/tests/lib_2/html/custom/entered_left_view/entered_left_view_standard_events_test.dart
index 8a5c69d..d312e4c 100644
--- a/tests/lib_2/html/custom/entered_left_view/entered_left_view_standard_events_test.dart
+++ b/tests/lib_2/html/custom/entered_left_view/entered_left_view_standard_events_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/entered_left_view/entered_left_view_util.dart b/tests/lib_2/html/custom/entered_left_view/entered_left_view_util.dart
index ab3ad97..0338c45 100644
--- a/tests/lib_2/html/custom/entered_left_view/entered_left_view_util.dart
+++ b/tests/lib_2/html/custom/entered_left_view/entered_left_view_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/entered_left_view/shadow_dom_test.dart b/tests/lib_2/html/custom/entered_left_view/shadow_dom_test.dart
index 3da0230..fb675b3 100644
--- a/tests/lib_2/html/custom/entered_left_view/shadow_dom_test.dart
+++ b/tests/lib_2/html/custom/entered_left_view/shadow_dom_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/entered_left_view/standard_events_old_callback_names_test.dart b/tests/lib_2/html/custom/entered_left_view/standard_events_old_callback_names_test.dart
index 36d8eaa..d0a5341 100644
--- a/tests/lib_2/html/custom/entered_left_view/standard_events_old_callback_names_test.dart
+++ b/tests/lib_2/html/custom/entered_left_view/standard_events_old_callback_names_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/entered_left_view/viewless_document_test.dart b/tests/lib_2/html/custom/entered_left_view/viewless_document_test.dart
index 75b57fa..ed59370 100644
--- a/tests/lib_2/html/custom/entered_left_view/viewless_document_test.dart
+++ b/tests/lib_2/html/custom/entered_left_view/viewless_document_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.9
+
 library entered_left_view_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom/regress_194523002_test.dart b/tests/lib_2/html/custom/regress_194523002_test.dart
index 692be98..aaf9e49 100644
--- a/tests/lib_2/html/custom/regress_194523002_test.dart
+++ b/tests/lib_2/html/custom/regress_194523002_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.9
+
 // Regression test for CL 194523002.
 import 'dart:html';
 
diff --git a/tests/lib_2/html/custom/utils.dart b/tests/lib_2/html/custom/utils.dart
index dc114d7a..bb10a40 100644
--- a/tests/lib_2/html/custom/utils.dart
+++ b/tests/lib_2/html/custom/utils.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 import 'dart:html';
 import 'dart:js' as js;
diff --git a/tests/lib_2/html/custom_element_method_clash_test.dart b/tests/lib_2/html/custom_element_method_clash_test.dart
index c152980..d5b6ca1 100644
--- a/tests/lib_2/html/custom_element_method_clash_test.dart
+++ b/tests/lib_2/html/custom_element_method_clash_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.9
+
 library custom_elements_method_clash;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom_element_name_clash_test.dart b/tests/lib_2/html/custom_element_name_clash_test.dart
index 5061d34..2c480b0 100644
--- a/tests/lib_2/html/custom_element_name_clash_test.dart
+++ b/tests/lib_2/html/custom_element_name_clash_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.9
+
 library custom_elements_name_clash;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom_elements_23127_test.dart b/tests/lib_2/html/custom_elements_23127_test.dart
index a1f0545..da4190a 100644
--- a/tests/lib_2/html/custom_elements_23127_test.dart
+++ b/tests/lib_2/html/custom_elements_23127_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.9
+
 // Regression test for http://dartbug.com/23127
 // Tests super calls to a custom element upgrade constructor with various
 // combinations of parameters and type arguments.
diff --git a/tests/lib_2/html/custom_elements_test.dart b/tests/lib_2/html/custom_elements_test.dart
index 4af42ec..d13fa2f 100644
--- a/tests/lib_2/html/custom_elements_test.dart
+++ b/tests/lib_2/html/custom_elements_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.9
+
 library custom_elements_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/custom_tags_test.dart b/tests/lib_2/html/custom_tags_test.dart
index 637879a..855c9f5 100644
--- a/tests/lib_2/html/custom_tags_test.dart
+++ b/tests/lib_2/html/custom_tags_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/dart_object_local_storage_test.dart b/tests/lib_2/html/dart_object_local_storage_test.dart
index f45fbfa..3dd01fc 100644
--- a/tests/lib_2/html/dart_object_local_storage_test.dart
+++ b/tests/lib_2/html/dart_object_local_storage_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/datalistelement_test.dart b/tests/lib_2/html/datalistelement_test.dart
index d46a313..f5c04e4 100644
--- a/tests/lib_2/html/datalistelement_test.dart
+++ b/tests/lib_2/html/datalistelement_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/document_test.dart b/tests/lib_2/html/document_test.dart
index 1ded093..40dc997 100644
--- a/tests/lib_2/html/document_test.dart
+++ b/tests/lib_2/html/document_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/documentfragment_test.dart b/tests/lib_2/html/documentfragment_test.dart
index 603769a..2c4b047 100644
--- a/tests/lib_2/html/documentfragment_test.dart
+++ b/tests/lib_2/html/documentfragment_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/dom_constructors_test.dart b/tests/lib_2/html/dom_constructors_test.dart
index 38c661a..ef6867c 100644
--- a/tests/lib_2/html/dom_constructors_test.dart
+++ b/tests/lib_2/html/dom_constructors_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/dom_isolates_test.dart.child_isolate.dart b/tests/lib_2/html/dom_isolates_test.dart.child_isolate.dart
index 31e97d2..ef564f9 100644
--- a/tests/lib_2/html/dom_isolates_test.dart.child_isolate.dart
+++ b/tests/lib_2/html/dom_isolates_test.dart.child_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file
 
+// @dart = 2.9
+
 import 'dart:html';
 import 'dart:isolate';
 
diff --git a/tests/lib_2/html/domparser_test.dart b/tests/lib_2/html/domparser_test.dart
index 51f8ce1..e240f60 100644
--- a/tests/lib_2/html/domparser_test.dart
+++ b/tests/lib_2/html/domparser_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_add_test.dart b/tests/lib_2/html/element_add_test.dart
index e443659..f019800 100644
--- a/tests/lib_2/html/element_add_test.dart
+++ b/tests/lib_2/html/element_add_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_animate_omit_timing_test.dart b/tests/lib_2/html/element_animate_omit_timing_test.dart
index 9aa98e0..2a27437 100644
--- a/tests/lib_2/html/element_animate_omit_timing_test.dart
+++ b/tests/lib_2/html/element_animate_omit_timing_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.9
+
 library element_animate_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/element_animate_simple_timing_test.dart b/tests/lib_2/html/element_animate_simple_timing_test.dart
index b35dd99..a70dbf5 100644
--- a/tests/lib_2/html/element_animate_simple_timing_test.dart
+++ b/tests/lib_2/html/element_animate_simple_timing_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.9
+
 library element_animate_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/element_animate_supported_test.dart b/tests/lib_2/html/element_animate_supported_test.dart
index 7f11c8a..5eb33b8 100644
--- a/tests/lib_2/html/element_animate_supported_test.dart
+++ b/tests/lib_2/html/element_animate_supported_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.9
+
 library element_animate_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/element_animate_timing_dict_test.dart b/tests/lib_2/html/element_animate_timing_dict_test.dart
index 1276b90..156893c 100644
--- a/tests/lib_2/html/element_animate_timing_dict_test.dart
+++ b/tests/lib_2/html/element_animate_timing_dict_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.9
+
 library element_animate_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/element_classes_svg_test.dart b/tests/lib_2/html/element_classes_svg_test.dart
index 3beb9d7..c46c5c8 100644
--- a/tests/lib_2/html/element_classes_svg_test.dart
+++ b/tests/lib_2/html/element_classes_svg_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.9
+
 import 'dart:collection';
 import 'dart:html';
 import 'dart:svg' as svg;
diff --git a/tests/lib_2/html/element_classes_test.dart b/tests/lib_2/html/element_classes_test.dart
index 3bd1507..051aa13 100644
--- a/tests/lib_2/html/element_classes_test.dart
+++ b/tests/lib_2/html/element_classes_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.9
+
 import 'dart:collection';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/element_constructor_1_test.dart b/tests/lib_2/html/element_constructor_1_test.dart
index bd265b4..50e2451 100644
--- a/tests/lib_2/html/element_constructor_1_test.dart
+++ b/tests/lib_2/html/element_constructor_1_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.9
+
 // Put universally passing event constructors in this file.
 // Move constructors that fail on some configuration to their own
 // element_constructor_foo_test.dart file.
diff --git a/tests/lib_2/html/element_dimensions_test.dart b/tests/lib_2/html/element_dimensions_test.dart
index 68aa316..ecadde4 100644
--- a/tests/lib_2/html/element_dimensions_test.dart
+++ b/tests/lib_2/html/element_dimensions_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_offset_test.dart b/tests/lib_2/html/element_offset_test.dart
index 7643660..19cd2c6 100644
--- a/tests/lib_2/html/element_offset_test.dart
+++ b/tests/lib_2/html/element_offset_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.9
+
 import 'dart:async';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/element_test.dart b/tests/lib_2/html/element_test.dart
index d428999..4e658273 100644
--- a/tests/lib_2/html/element_test.dart
+++ b/tests/lib_2/html/element_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.9
+
 library ElementTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors1_test.dart b/tests/lib_2/html/element_types_constructors1_test.dart
index 9c5575d..e8ccc9a 100644
--- a/tests/lib_2/html/element_types_constructors1_test.dart
+++ b/tests/lib_2/html/element_types_constructors1_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors2_test.dart b/tests/lib_2/html/element_types_constructors2_test.dart
index d1376b0..c2c22c0 100644
--- a/tests/lib_2/html/element_types_constructors2_test.dart
+++ b/tests/lib_2/html/element_types_constructors2_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors3_test.dart b/tests/lib_2/html/element_types_constructors3_test.dart
index dcd5dbd..f5f6765 100644
--- a/tests/lib_2/html/element_types_constructors3_test.dart
+++ b/tests/lib_2/html/element_types_constructors3_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors4_test.dart b/tests/lib_2/html/element_types_constructors4_test.dart
index 26e6acb..c445c3d 100644
--- a/tests/lib_2/html/element_types_constructors4_test.dart
+++ b/tests/lib_2/html/element_types_constructors4_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors5_test.dart b/tests/lib_2/html/element_types_constructors5_test.dart
index 7039442..08041d0 100644
--- a/tests/lib_2/html/element_types_constructors5_test.dart
+++ b/tests/lib_2/html/element_types_constructors5_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_constructors6_test.dart b/tests/lib_2/html/element_types_constructors6_test.dart
index 50b81c2..147782b 100644
--- a/tests/lib_2/html/element_types_constructors6_test.dart
+++ b/tests/lib_2/html/element_types_constructors6_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_content_test.dart b/tests/lib_2/html/element_types_content_test.dart
index 2e0109f..2b84907 100644
--- a/tests/lib_2/html/element_types_content_test.dart
+++ b/tests/lib_2/html/element_types_content_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_datalist_test.dart b/tests/lib_2/html/element_types_datalist_test.dart
index a12acc5..e84af69 100644
--- a/tests/lib_2/html/element_types_datalist_test.dart
+++ b/tests/lib_2/html/element_types_datalist_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_details_test.dart b/tests/lib_2/html/element_types_details_test.dart
index b47f998..7fcb106 100644
--- a/tests/lib_2/html/element_types_details_test.dart
+++ b/tests/lib_2/html/element_types_details_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_embed_test.dart b/tests/lib_2/html/element_types_embed_test.dart
index 7c23d38..6820e29 100644
--- a/tests/lib_2/html/element_types_embed_test.dart
+++ b/tests/lib_2/html/element_types_embed_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_meter_test.dart b/tests/lib_2/html/element_types_meter_test.dart
index cdd917e..2eb097c 100644
--- a/tests/lib_2/html/element_types_meter_test.dart
+++ b/tests/lib_2/html/element_types_meter_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_object_test.dart b/tests/lib_2/html/element_types_object_test.dart
index 03f508c..e7a9702 100644
--- a/tests/lib_2/html/element_types_object_test.dart
+++ b/tests/lib_2/html/element_types_object_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_output_test.dart b/tests/lib_2/html/element_types_output_test.dart
index 8781aa3..0caf8da 100644
--- a/tests/lib_2/html/element_types_output_test.dart
+++ b/tests/lib_2/html/element_types_output_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_progress_test.dart b/tests/lib_2/html/element_types_progress_test.dart
index 9dac474..3d03210 100644
--- a/tests/lib_2/html/element_types_progress_test.dart
+++ b/tests/lib_2/html/element_types_progress_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_shadow_test.dart b/tests/lib_2/html/element_types_shadow_test.dart
index 271c49d..f0469a9 100644
--- a/tests/lib_2/html/element_types_shadow_test.dart
+++ b/tests/lib_2/html/element_types_shadow_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_template_test.dart b/tests/lib_2/html/element_types_template_test.dart
index d7939ab..b82dd9d 100644
--- a/tests/lib_2/html/element_types_template_test.dart
+++ b/tests/lib_2/html/element_types_template_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/element_types_track_test.dart b/tests/lib_2/html/element_types_track_test.dart
index 27c65d1..9620c99 100644
--- a/tests/lib_2/html/element_types_track_test.dart
+++ b/tests/lib_2/html/element_types_track_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/event_callback_test.dart b/tests/lib_2/html/event_callback_test.dart
index 347e754..d5a1dc7 100644
--- a/tests/lib_2/html/event_callback_test.dart
+++ b/tests/lib_2/html/event_callback_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.9
+
 // Regression test for issue 33627.
 
 import 'dart:html';
diff --git a/tests/lib_2/html/event_customevent_test.dart b/tests/lib_2/html/event_customevent_test.dart
index 9704557..7fa81a3 100644
--- a/tests/lib_2/html/event_customevent_test.dart
+++ b/tests/lib_2/html/event_customevent_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.9
+
 library EventCustomEventTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/event_test.dart b/tests/lib_2/html/event_test.dart
index 8735137..c51b76c 100644
--- a/tests/lib_2/html/event_test.dart
+++ b/tests/lib_2/html/event_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/events_test.dart b/tests/lib_2/html/events_test.dart
index 8211f66..99a316a 100644
--- a/tests/lib_2/html/events_test.dart
+++ b/tests/lib_2/html/events_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.9
+
 library tests.html.events_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/exceptions_test.dart b/tests/lib_2/html/exceptions_test.dart
index e07c328..cc4abad 100644
--- a/tests/lib_2/html/exceptions_test.dart
+++ b/tests/lib_2/html/exceptions_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/file_sample_test.dart b/tests/lib_2/html/file_sample_test.dart
index 2e626e8..99c8213 100644
--- a/tests/lib_2/html/file_sample_test.dart
+++ b/tests/lib_2/html/file_sample_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library file_sample;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_directory_reader_test.dart b/tests/lib_2/html/fileapi_directory_reader_test.dart
index e173896..8c15a42 100644
--- a/tests/lib_2/html/fileapi_directory_reader_test.dart
+++ b/tests/lib_2/html/fileapi_directory_reader_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_directory_test.dart b/tests/lib_2/html/fileapi_directory_test.dart
index fc36024..0131544 100644
--- a/tests/lib_2/html/fileapi_directory_test.dart
+++ b/tests/lib_2/html/fileapi_directory_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_entry_test.dart b/tests/lib_2/html/fileapi_entry_test.dart
index 0f2f490..4b5cef3 100644
--- a/tests/lib_2/html/fileapi_entry_test.dart
+++ b/tests/lib_2/html/fileapi_entry_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_file_entry_test.dart b/tests/lib_2/html/fileapi_file_entry_test.dart
index 0689ad8..3bc6cfd 100644
--- a/tests/lib_2/html/fileapi_file_entry_test.dart
+++ b/tests/lib_2/html/fileapi_file_entry_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_file_test.dart b/tests/lib_2/html/fileapi_file_test.dart
index 5c198bb..9cb7ff2 100644
--- a/tests/lib_2/html/fileapi_file_test.dart
+++ b/tests/lib_2/html/fileapi_file_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_supported_test.dart b/tests/lib_2/html/fileapi_supported_test.dart
index 0de1f85..bd45934 100644
--- a/tests/lib_2/html/fileapi_supported_test.dart
+++ b/tests/lib_2/html/fileapi_supported_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/fileapi_supported_throws_test.dart b/tests/lib_2/html/fileapi_supported_throws_test.dart
index 892ba50..78cb7ff 100644
--- a/tests/lib_2/html/fileapi_supported_throws_test.dart
+++ b/tests/lib_2/html/fileapi_supported_throws_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fileapi;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/filereader_test.dart b/tests/lib_2/html/filereader_test.dart
index 64bc60c..a4652a7 100644
--- a/tests/lib_2/html/filereader_test.dart
+++ b/tests/lib_2/html/filereader_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.9
+
 library filereader_test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/filteredelementlist_test.dart b/tests/lib_2/html/filteredelementlist_test.dart
index c9b5d4c..da99d40 100644
--- a/tests/lib_2/html/filteredelementlist_test.dart
+++ b/tests/lib_2/html/filteredelementlist_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 import 'dart:html_common';
 
diff --git a/tests/lib_2/html/fontface_loaded_test.dart b/tests/lib_2/html/fontface_loaded_test.dart
index 06a18cb..2abea51 100644
--- a/tests/lib_2/html/fontface_loaded_test.dart
+++ b/tests/lib_2/html/fontface_loaded_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library fontface_loaded_test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/fontface_test.dart b/tests/lib_2/html/fontface_test.dart
index a663def..522f5da 100644
--- a/tests/lib_2/html/fontface_test.dart
+++ b/tests/lib_2/html/fontface_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/form_data_test.dart b/tests/lib_2/html/form_data_test.dart
index 03592e2..aa92059 100644
--- a/tests/lib_2/html/form_data_test.dart
+++ b/tests/lib_2/html/form_data_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.9
+
 library FormDataTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/form_element_test.dart b/tests/lib_2/html/form_element_test.dart
index 4cc6807f..2b30e17 100644
--- a/tests/lib_2/html/form_element_test.dart
+++ b/tests/lib_2/html/form_element_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/gamepad_test.dart b/tests/lib_2/html/gamepad_test.dart
index 4707604..2a50bb6 100644
--- a/tests/lib_2/html/gamepad_test.dart
+++ b/tests/lib_2/html/gamepad_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'package:expect/minitest.dart';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/geolocation_test.dart b/tests/lib_2/html/geolocation_test.dart
index 30d24dc..f05bfe4 100644
--- a/tests/lib_2/html/geolocation_test.dart
+++ b/tests/lib_2/html/geolocation_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/hidden_dom_1_test.dart b/tests/lib_2/html/hidden_dom_1_test.dart
index 820a88a..b4a5ca3 100644
--- a/tests/lib_2/html/hidden_dom_1_test.dart
+++ b/tests/lib_2/html/hidden_dom_1_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/hidden_dom_2_test.dart b/tests/lib_2/html/hidden_dom_2_test.dart
index 650ee06..35db625 100644
--- a/tests/lib_2/html/hidden_dom_2_test.dart
+++ b/tests/lib_2/html/hidden_dom_2_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/history_hash_change_test.dart b/tests/lib_2/html/history_hash_change_test.dart
index b15685f..d391810 100644
--- a/tests/lib_2/html/history_hash_change_test.dart
+++ b/tests/lib_2/html/history_hash_change_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library HistoryTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/history_supported_test.dart b/tests/lib_2/html/history_supported_test.dart
index 358d32a..97b188e 100644
--- a/tests/lib_2/html/history_supported_test.dart
+++ b/tests/lib_2/html/history_supported_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library HistoryTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/history_test.dart b/tests/lib_2/html/history_test.dart
index ffcdede..03cb68e 100644
--- a/tests/lib_2/html/history_test.dart
+++ b/tests/lib_2/html/history_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library HistoryTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/html_mock_test.dart b/tests/lib_2/html/html_mock_test.dart
index 1d4aeb9..4d61454a 100644
--- a/tests/lib_2/html/html_mock_test.dart
+++ b/tests/lib_2/html/html_mock_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.9
+
 import 'dart:async';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/htmlcollection_test.dart b/tests/lib_2/html/htmlcollection_test.dart
index 37423c2..5e8d8aa 100644
--- a/tests/lib_2/html/htmlcollection_test.dart
+++ b/tests/lib_2/html/htmlcollection_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/htmlelement_test.dart b/tests/lib_2/html/htmlelement_test.dart
index fbeb93b..0c86805 100644
--- a/tests/lib_2/html/htmlelement_test.dart
+++ b/tests/lib_2/html/htmlelement_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/htmloptionscollection_test.dart b/tests/lib_2/html/htmloptionscollection_test.dart
index 127a8ee..7177be7 100644
--- a/tests/lib_2/html/htmloptionscollection_test.dart
+++ b/tests/lib_2/html/htmloptionscollection_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/http_test.dart b/tests/lib_2/html/http_test.dart
index 905f4d5..48b9efa 100644
--- a/tests/lib_2/html/http_test.dart
+++ b/tests/lib_2/html/http_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/indexeddb_1_test.dart b/tests/lib_2/html/indexeddb_1_test.dart
index 932f3fb..9edf491 100644
--- a/tests/lib_2/html/indexeddb_1_test.dart
+++ b/tests/lib_2/html/indexeddb_1_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IndexedDB1Test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/indexeddb_2_test.dart b/tests/lib_2/html/indexeddb_2_test.dart
index 17478b9..9990c27 100644
--- a/tests/lib_2/html/indexeddb_2_test.dart
+++ b/tests/lib_2/html/indexeddb_2_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IndexedDB1Test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/html/indexeddb_3_test.dart b/tests/lib_2/html/indexeddb_3_test.dart
index 52bccb4..61c46f6 100644
--- a/tests/lib_2/html/indexeddb_3_test.dart
+++ b/tests/lib_2/html/indexeddb_3_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IndexedDB3Test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/html/indexeddb_4_test.dart b/tests/lib_2/html/indexeddb_4_test.dart
index 2c98884..c257ccb 100644
--- a/tests/lib_2/html/indexeddb_4_test.dart
+++ b/tests/lib_2/html/indexeddb_4_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IndexedDB4Test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/indexeddb_5_test.dart b/tests/lib_2/html/indexeddb_5_test.dart
index 41c557a..c784ce6 100644
--- a/tests/lib_2/html/indexeddb_5_test.dart
+++ b/tests/lib_2/html/indexeddb_5_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IndexedDB1Test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/html/input_element_attributes_test.dart b/tests/lib_2/html/input_element_attributes_test.dart
index c314397..0d6b90f 100644
--- a/tests/lib_2/html/input_element_attributes_test.dart
+++ b/tests/lib_2/html/input_element_attributes_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_constructor_test.dart b/tests/lib_2/html/input_element_constructor_test.dart
index 8ae6d7e..81f52ff 100644
--- a/tests/lib_2/html/input_element_constructor_test.dart
+++ b/tests/lib_2/html/input_element_constructor_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_date_test.dart b/tests/lib_2/html/input_element_date_test.dart
index e160e45..ef2b32a 100644
--- a/tests/lib_2/html/input_element_date_test.dart
+++ b/tests/lib_2/html/input_element_date_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_datetime_test.dart b/tests/lib_2/html/input_element_datetime_test.dart
index f60ffd8..ef85625 100644
--- a/tests/lib_2/html/input_element_datetime_test.dart
+++ b/tests/lib_2/html/input_element_datetime_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_email_test.dart b/tests/lib_2/html/input_element_email_test.dart
index 8e06207..42a11a3 100644
--- a/tests/lib_2/html/input_element_email_test.dart
+++ b/tests/lib_2/html/input_element_email_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_month_test.dart b/tests/lib_2/html/input_element_month_test.dart
index 4ec0702..d5842dd 100644
--- a/tests/lib_2/html/input_element_month_test.dart
+++ b/tests/lib_2/html/input_element_month_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_number_test.dart b/tests/lib_2/html/input_element_number_test.dart
index 11aa040..f82ac9d 100644
--- a/tests/lib_2/html/input_element_number_test.dart
+++ b/tests/lib_2/html/input_element_number_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_range_test.dart b/tests/lib_2/html/input_element_range_test.dart
index e8cbf96..96b3822 100644
--- a/tests/lib_2/html/input_element_range_test.dart
+++ b/tests/lib_2/html/input_element_range_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_search_test.dart b/tests/lib_2/html/input_element_search_test.dart
index d26ea17..1f254e3 100644
--- a/tests/lib_2/html/input_element_search_test.dart
+++ b/tests/lib_2/html/input_element_search_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_tel_test.dart b/tests/lib_2/html/input_element_tel_test.dart
index fae6424..1c80570 100644
--- a/tests/lib_2/html/input_element_tel_test.dart
+++ b/tests/lib_2/html/input_element_tel_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_time_test.dart b/tests/lib_2/html/input_element_time_test.dart
index 9fa27f7..3b76421 100644
--- a/tests/lib_2/html/input_element_time_test.dart
+++ b/tests/lib_2/html/input_element_time_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_url_test.dart b/tests/lib_2/html/input_element_url_test.dart
index 40bce37a..5d707cc 100644
--- a/tests/lib_2/html/input_element_url_test.dart
+++ b/tests/lib_2/html/input_element_url_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/input_element_week_test.dart b/tests/lib_2/html/input_element_week_test.dart
index 21b5bbd..9b29589 100644
--- a/tests/lib_2/html/input_element_week_test.dart
+++ b/tests/lib_2/html/input_element_week_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/instance_of_test.dart b/tests/lib_2/html/instance_of_test.dart
index 72db7b6..31ccadc 100644
--- a/tests/lib_2/html/instance_of_test.dart
+++ b/tests/lib_2/html/instance_of_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/interactive_geolocation_test.dart b/tests/lib_2/html/interactive_geolocation_test.dart
index 1ad3a13..6728e3d 100644
--- a/tests/lib_2/html/interactive_geolocation_test.dart
+++ b/tests/lib_2/html/interactive_geolocation_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.9
+
 library interactive_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/interactive_media_test.dart b/tests/lib_2/html/interactive_media_test.dart
index 517057c..81aeed7 100644
--- a/tests/lib_2/html/interactive_media_test.dart
+++ b/tests/lib_2/html/interactive_media_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.9
+
 library interactive_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/interactive_test.dart b/tests/lib_2/html/interactive_test.dart
index 2392e27..d1ad70e 100644
--- a/tests/lib_2/html/interactive_test.dart
+++ b/tests/lib_2/html/interactive_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.9
+
 library interactive_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/isolates_test.dart b/tests/lib_2/html/isolates_test.dart
index 6ffec06..0bbaf36 100644
--- a/tests/lib_2/html/isolates_test.dart
+++ b/tests/lib_2/html/isolates_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library IsolatesTest;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/js_array_test.dart b/tests/lib_2/html/js_array_test.dart
index 3ba30b0..1ad544a 100644
--- a/tests/lib_2/html/js_array_test.dart
+++ b/tests/lib_2/html/js_array_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.9
+
 @JS("ArrayTest.Util")
 library js_array_test;
 
diff --git a/tests/lib_2/html/js_browser_test.dart b/tests/lib_2/html/js_browser_test.dart
index a4a5e41..a5996aa 100644
--- a/tests/lib_2/html/js_browser_test.dart
+++ b/tests/lib_2/html/js_browser_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_caching_test.dart b/tests/lib_2/html/js_caching_test.dart
index 62cfc52..677b809 100644
--- a/tests/lib_2/html/js_caching_test.dart
+++ b/tests/lib_2/html/js_caching_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_context_test.dart b/tests/lib_2/html/js_context_test.dart
index 426d121..9c875d7 100644
--- a/tests/lib_2/html/js_context_test.dart
+++ b/tests/lib_2/html/js_context_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_dart_functions_test.dart b/tests/lib_2/html/js_dart_functions_test.dart
index f4d20b1..33fa0e6 100644
--- a/tests/lib_2/html/js_dart_functions_test.dart
+++ b/tests/lib_2/html/js_dart_functions_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_dart_js_test.dart b/tests/lib_2/html/js_dart_js_test.dart
index 2ad2a2e..c3723ab 100644
--- a/tests/lib_2/html/js_dart_js_test.dart
+++ b/tests/lib_2/html/js_dart_js_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_dart_to_string_test.dart b/tests/lib_2/html/js_dart_to_string_test.dart
index bbee318..0a3be04 100644
--- a/tests/lib_2/html/js_dart_to_string_test.dart
+++ b/tests/lib_2/html/js_dart_to_string_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.9
+
 @JS()
 library js_dart_to_string_test;
 
diff --git a/tests/lib_2/html/js_dispatch_property_test.dart b/tests/lib_2/html/js_dispatch_property_test.dart
index 3fbe2ea..3ca4a9e 100644
--- a/tests/lib_2/html/js_dispatch_property_test.dart
+++ b/tests/lib_2/html/js_dispatch_property_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.9
+
 // Test for dart2js initialization of dispatchPropertyName.
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/js_dispatch_property_test_lib.dart b/tests/lib_2/html/js_dispatch_property_test_lib.dart
index 80a87a1..6f32c2d 100644
--- a/tests/lib_2/html/js_dispatch_property_test_lib.dart
+++ b/tests/lib_2/html/js_dispatch_property_test_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 @JS()
 library js_dispatch_property_test_lib;
 
diff --git a/tests/lib_2/html/js_function_getter_test.dart b/tests/lib_2/html/js_function_getter_test.dart
index e3715d7..1e3f63b 100644
--- a/tests/lib_2/html/js_function_getter_test.dart
+++ b/tests/lib_2/html/js_function_getter_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.9
+
 @JS()
 library js_function_getter_test;
 
diff --git a/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart b/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart
index 29f8669..b865351 100644
--- a/tests/lib_2/html/js_function_getter_trust_types/compile_test.dart
+++ b/tests/lib_2/html/js_function_getter_trust_types/compile_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.9
+
 // SharedOptions=--trust-type-annotations
 @JS()
 library js_function_getter_trust_types_test;
diff --git a/tests/lib_2/html/js_function_getter_trust_types/function_test.dart b/tests/lib_2/html/js_function_getter_trust_types/function_test.dart
index 5a49f47..b184c53 100644
--- a/tests/lib_2/html/js_function_getter_trust_types/function_test.dart
+++ b/tests/lib_2/html/js_function_getter_trust_types/function_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.9
+
 // SharedOptions=--trust-type-annotations
 @JS()
 library js_function_getter_trust_types_test;
diff --git a/tests/lib_2/html/js_function_getter_trust_types/js_function_util.dart b/tests/lib_2/html/js_function_getter_trust_types/js_function_util.dart
index b6afd8f..f1ccd0d 100644
--- a/tests/lib_2/html/js_function_getter_trust_types/js_function_util.dart
+++ b/tests/lib_2/html/js_function_getter_trust_types/js_function_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.9
+
 // SharedOptions=--trust-type-annotations
 @JS()
 library js_function_getter_trust_types_test;
diff --git a/tests/lib_2/html/js_identity_test.dart b/tests/lib_2/html/js_identity_test.dart
index dadf6a9..0860f64 100644
--- a/tests/lib_2/html/js_identity_test.dart
+++ b/tests/lib_2/html/js_identity_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_interop_1_test.dart b/tests/lib_2/html/js_interop_1_test.dart
index d008a39..95b280e 100644
--- a/tests/lib_2/html/js_interop_1_test.dart
+++ b/tests/lib_2/html/js_interop_1_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.9
+
 library JsInterop1Test;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/html/js_interop_constructor_name/div_test.dart b/tests/lib_2/html/js_interop_constructor_name/div_test.dart
index a61ae6f..deff18a 100644
--- a/tests/lib_2/html/js_interop_constructor_name/div_test.dart
+++ b/tests/lib_2/html/js_interop_constructor_name/div_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.9
+
 import 'dart:html' as html;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/js_interop_constructor_name/error1_test.dart b/tests/lib_2/html/js_interop_constructor_name/error1_test.dart
index a12be51..f28cc09 100644
--- a/tests/lib_2/html/js_interop_constructor_name/error1_test.dart
+++ b/tests/lib_2/html/js_interop_constructor_name/error1_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.9
+
 import 'dart:html' as html;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/js_interop_constructor_name/error2_test.dart b/tests/lib_2/html/js_interop_constructor_name/error2_test.dart
index 365e418..078a870 100644
--- a/tests/lib_2/html/js_interop_constructor_name/error2_test.dart
+++ b/tests/lib_2/html/js_interop_constructor_name/error2_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.9
+
 import 'dart:html' as html;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/js_interop_constructor_name/method_test.dart b/tests/lib_2/html/js_interop_constructor_name/method_test.dart
index 9781829..a7fd842 100644
--- a/tests/lib_2/html/js_interop_constructor_name/method_test.dart
+++ b/tests/lib_2/html/js_interop_constructor_name/method_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.9
+
 import 'dart:html' as html;
 
 import 'package:expect/expect.dart' show Expect;
diff --git a/tests/lib_2/html/js_interop_constructor_name/util.dart b/tests/lib_2/html/js_interop_constructor_name/util.dart
index 03659f0..6eecab4 100644
--- a/tests/lib_2/html/js_interop_constructor_name/util.dart
+++ b/tests/lib_2/html/js_interop_constructor_name/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.9
+
 @JS()
 library util;
 
diff --git a/tests/lib_2/html/js_javascript_function_test.dart b/tests/lib_2/html/js_javascript_function_test.dart
index af9394e..992eac2 100644
--- a/tests/lib_2/html/js_javascript_function_test.dart
+++ b/tests/lib_2/html/js_javascript_function_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.9
+
 import 'dart:html';
 import 'dart:js';
 
diff --git a/tests/lib_2/html/js_jsarray_test.dart b/tests/lib_2/html/js_jsarray_test.dart
index dd67a44..d8e1f7d 100644
--- a/tests/lib_2/html/js_jsarray_test.dart
+++ b/tests/lib_2/html/js_jsarray_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_jsfunc_callmethod_test.dart b/tests/lib_2/html/js_jsfunc_callmethod_test.dart
index 374c4ad..d0c09be 100644
--- a/tests/lib_2/html/js_jsfunc_callmethod_test.dart
+++ b/tests/lib_2/html/js_jsfunc_callmethod_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_jsify_test.dart b/tests/lib_2/html/js_jsify_test.dart
index 4a59a1f..db5f6f2 100644
--- a/tests/lib_2/html/js_jsify_test.dart
+++ b/tests/lib_2/html/js_jsify_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_jsobject_test.dart b/tests/lib_2/html/js_jsobject_test.dart
index a718cb4..06a2e8c 100644
--- a/tests/lib_2/html/js_jsobject_test.dart
+++ b/tests/lib_2/html/js_jsobject_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_methods_test.dart b/tests/lib_2/html/js_methods_test.dart
index 4c226a8..14fef95 100644
--- a/tests/lib_2/html/js_methods_test.dart
+++ b/tests/lib_2/html/js_methods_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_test_util.dart b/tests/lib_2/html/js_test_util.dart
index 4702c16..a2e63cf 100644
--- a/tests/lib_2/html/js_test_util.dart
+++ b/tests/lib_2/html/js_test_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.9
+
 library TestJsUtils;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/js_transferrables_test.dart b/tests/lib_2/html/js_transferrables_test.dart
index 49eaa79..3a83956 100644
--- a/tests/lib_2/html/js_transferrables_test.dart
+++ b/tests/lib_2/html/js_transferrables_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.9
+
 import 'dart:html';
 import 'dart:indexed_db' show IdbFactory, KeyRange;
 import 'dart:typed_data' show Int32List;
diff --git a/tests/lib_2/html/js_typed_interop_anonymous2_test.dart b/tests/lib_2/html/js_typed_interop_anonymous2_test.dart
index 149640e..99b4de5 100644
--- a/tests/lib_2/html/js_typed_interop_anonymous2_test.dart
+++ b/tests/lib_2/html/js_typed_interop_anonymous2_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.9
+
 @JS()
 library js_typed_interop_anonymous2_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_anonymous_test.dart b/tests/lib_2/html/js_typed_interop_anonymous_test.dart
index 9dec702..06755d3 100644
--- a/tests/lib_2/html/js_typed_interop_anonymous_test.dart
+++ b/tests/lib_2/html/js_typed_interop_anonymous_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.9
+
 @JS()
 library js_typed_interop_anonymous_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_anonymous_unreachable_test.dart b/tests/lib_2/html/js_typed_interop_anonymous_unreachable_test.dart
index 0e11cb3..70c1dd6 100644
--- a/tests/lib_2/html/js_typed_interop_anonymous_unreachable_test.dart
+++ b/tests/lib_2/html/js_typed_interop_anonymous_unreachable_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.9
+
 @JS()
 library js_typed_interop_anonymous_unreachable_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_bind_this_test.dart b/tests/lib_2/html/js_typed_interop_bind_this_test.dart
index 4e0b25d..dc4bc2a 100644
--- a/tests/lib_2/html/js_typed_interop_bind_this_test.dart
+++ b/tests/lib_2/html/js_typed_interop_bind_this_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.9
+
 @JS()
 library js_typed_interop_bind_this_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_callable_object_test.dart b/tests/lib_2/html/js_typed_interop_callable_object_test.dart
index 49f58c4..1a89ff6 100644
--- a/tests/lib_2/html/js_typed_interop_callable_object_test.dart
+++ b/tests/lib_2/html/js_typed_interop_callable_object_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.9
+
 @JS()
 library js_typed_interop_callable_object_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_default_arg_static_test.dart b/tests/lib_2/html/js_typed_interop_default_arg_static_test.dart
index 25adc67..c8b6c8e 100644
--- a/tests/lib_2/html/js_typed_interop_default_arg_static_test.dart
+++ b/tests/lib_2/html/js_typed_interop_default_arg_static_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.9
+
 @JS()
 library js_typed_interop_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_default_arg_test.dart b/tests/lib_2/html/js_typed_interop_default_arg_test.dart
index b37df7d..d5f40cf 100644
--- a/tests/lib_2/html/js_typed_interop_default_arg_test.dart
+++ b/tests/lib_2/html/js_typed_interop_default_arg_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.9
+
 @JS()
 library js_typed_interop_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_dynamic_test.dart b/tests/lib_2/html/js_typed_interop_dynamic_test.dart
index 9c77cd8..8438dce 100644
--- a/tests/lib_2/html/js_typed_interop_dynamic_test.dart
+++ b/tests/lib_2/html/js_typed_interop_dynamic_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.9
+
 @JS()
 library js_typed_interop_anonymous_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_lazy_test.dart b/tests/lib_2/html/js_typed_interop_lazy_test.dart
index 3fce5a0..a7b49a9 100644
--- a/tests/lib_2/html/js_typed_interop_lazy_test.dart
+++ b/tests/lib_2/html/js_typed_interop_lazy_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.9
+
 @JS()
 library js_typed_interop_lazy_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_rename_static_test.dart b/tests/lib_2/html/js_typed_interop_rename_static_test.dart
index 99c3bac..a8ca50b 100644
--- a/tests/lib_2/html/js_typed_interop_rename_static_test.dart
+++ b/tests/lib_2/html/js_typed_interop_rename_static_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.9
+
 @JS()
 library js_typed_interop_rename_static_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_side_cast_test.dart b/tests/lib_2/html/js_typed_interop_side_cast_test.dart
index b41a50e..9c8dec5 100644
--- a/tests/lib_2/html/js_typed_interop_side_cast_test.dart
+++ b/tests/lib_2/html/js_typed_interop_side_cast_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.9
+
 @JS()
 library js_typed_interop_anonymous2_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_test.dart b/tests/lib_2/html/js_typed_interop_test.dart
index c75116e..76adf5f 100644
--- a/tests/lib_2/html/js_typed_interop_test.dart
+++ b/tests/lib_2/html/js_typed_interop_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.9
+
 @JS()
 library js_typed_interop_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_type1_test.dart b/tests/lib_2/html/js_typed_interop_type1_test.dart
index ca82833..6cab4aa 100644
--- a/tests/lib_2/html/js_typed_interop_type1_test.dart
+++ b/tests/lib_2/html/js_typed_interop_type1_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 @JS()
 library js_typed_interop_type1_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_type2_test.dart b/tests/lib_2/html/js_typed_interop_type2_test.dart
index b9558bb..85d49fd 100644
--- a/tests/lib_2/html/js_typed_interop_type2_test.dart
+++ b/tests/lib_2/html/js_typed_interop_type2_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 @JS()
 library js_typed_interop_type2_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_type3_test.dart b/tests/lib_2/html/js_typed_interop_type3_test.dart
index 1188571..13dbb57 100644
--- a/tests/lib_2/html/js_typed_interop_type3_test.dart
+++ b/tests/lib_2/html/js_typed_interop_type3_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 @JS()
 library js_typed_interop_type3_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_type_test.dart b/tests/lib_2/html/js_typed_interop_type_test.dart
index dab7187..646b38e 100644
--- a/tests/lib_2/html/js_typed_interop_type_test.dart
+++ b/tests/lib_2/html/js_typed_interop_type_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.9
+
 @JS()
 library js_typed_interop_type_test;
 
diff --git a/tests/lib_2/html/js_typed_interop_window_property_test.dart b/tests/lib_2/html/js_typed_interop_window_property_test.dart
index 6a7d5fd..6179c80 100644
--- a/tests/lib_2/html/js_typed_interop_window_property_test.dart
+++ b/tests/lib_2/html/js_typed_interop_window_property_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.9
+
 @JS()
 library js_typed_interop_window_property_test;
 
diff --git a/tests/lib_2/html/js_util_test.dart b/tests/lib_2/html/js_util_test.dart
index a3d5092..41d50a9 100644
--- a/tests/lib_2/html/js_util_test.dart
+++ b/tests/lib_2/html/js_util_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.9
+
 // Tests the functionality of js_util with HTML objects.
 
 @JS()
diff --git a/tests/lib_2/html/json_helper.dart b/tests/lib_2/html/json_helper.dart
index 7d037ae..28d15ed 100644
--- a/tests/lib_2/html/json_helper.dart
+++ b/tests/lib_2/html/json_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.9
+
 @JS("JSON")
 library json_helper;
 
diff --git a/tests/lib_2/html/keyboard_event_test.dart b/tests/lib_2/html/keyboard_event_test.dart
index 6d27d65..319d207 100644
--- a/tests/lib_2/html/keyboard_event_test.dart
+++ b/tests/lib_2/html/keyboard_event_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library KeyboardEventTest;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/localstorage_test.dart b/tests/lib_2/html/localstorage_test.dart
index 57db920..c3183d1 100644
--- a/tests/lib_2/html/localstorage_test.dart
+++ b/tests/lib_2/html/localstorage_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/location_test.dart b/tests/lib_2/html/location_test.dart
index 933a564..dbadede 100644
--- a/tests/lib_2/html/location_test.dart
+++ b/tests/lib_2/html/location_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/media_stream_test.dart b/tests/lib_2/html/media_stream_test.dart
index 7dc5bde..f09f9d1 100644
--- a/tests/lib_2/html/media_stream_test.dart
+++ b/tests/lib_2/html/media_stream_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/mediadevices_test.dart b/tests/lib_2/html/mediadevices_test.dart
index 279e9e3..51874f07f 100644
--- a/tests/lib_2/html/mediadevices_test.dart
+++ b/tests/lib_2/html/mediadevices_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/mediasource_test.dart b/tests/lib_2/html/mediasource_test.dart
index f24b72d..f6214f2 100644
--- a/tests/lib_2/html/mediasource_test.dart
+++ b/tests/lib_2/html/mediasource_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/message_channel_test.dart b/tests/lib_2/html/message_channel_test.dart
index c6029dd..53a13db 100644
--- a/tests/lib_2/html/message_channel_test.dart
+++ b/tests/lib_2/html/message_channel_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.9
+
 import 'dart:async';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/messageevent_test.dart b/tests/lib_2/html/messageevent_test.dart
index 31503fd..1c8e38f 100644
--- a/tests/lib_2/html/messageevent_test.dart
+++ b/tests/lib_2/html/messageevent_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/mouse_event_test.dart b/tests/lib_2/html/mouse_event_test.dart
index 7d7b0d9..975840c 100644
--- a/tests/lib_2/html/mouse_event_test.dart
+++ b/tests/lib_2/html/mouse_event_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/mutationobserver_test.dart b/tests/lib_2/html/mutationobserver_test.dart
index 7ee71fe..c731e09 100644
--- a/tests/lib_2/html/mutationobserver_test.dart
+++ b/tests/lib_2/html/mutationobserver_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.9
+
 library mutationobserver_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/native_gc_test.dart b/tests/lib_2/html/native_gc_test.dart
index 8957a78..55a2683 100644
--- a/tests/lib_2/html/native_gc_test.dart
+++ b/tests/lib_2/html/native_gc_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library NativeGCTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/navigator_test.dart b/tests/lib_2/html/navigator_test.dart
index c0f2627..3bb3953 100644
--- a/tests/lib_2/html/navigator_test.dart
+++ b/tests/lib_2/html/navigator_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/html/node_test.dart b/tests/lib_2/html/node_test.dart
index 204663c..d8f8105 100644
--- a/tests/lib_2/html/node_test.dart
+++ b/tests/lib_2/html/node_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.9
+
 import 'dart:html';
 import 'dart:svg' as svg;
 
diff --git a/tests/lib_2/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart b/tests/lib_2/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart
index ee31868..c34597b 100644
--- a/tests/lib_2/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart
+++ b/tests/lib_2/html/node_validator_important_if_you_suppress_make_the_bug_critical_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.9
+
 /// This tests HTML validation and sanitization, which is very important
 /// for prevent XSS or other attacks. If you suppress this, or parts of it
 /// please make it a critical bug and bring it to the attention of the
diff --git a/tests/lib_2/html/non_instantiated_is_test.dart b/tests/lib_2/html/non_instantiated_is_test.dart
index 0865b07..42b4be7 100644
--- a/tests/lib_2/html/non_instantiated_is_test.dart
+++ b/tests/lib_2/html/non_instantiated_is_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.9
+
 // Regression test for dart2js, that used to emit wrong code on is
 // checks of native classes that are not instantiated.
 
diff --git a/tests/lib_2/html/notification_permission_test.dart b/tests/lib_2/html/notification_permission_test.dart
index 0edd8ee..315efba 100644
--- a/tests/lib_2/html/notification_permission_test.dart
+++ b/tests/lib_2/html/notification_permission_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.9
+
 import 'dart:html';
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/notification_test.dart b/tests/lib_2/html/notification_test.dart
index 283dc5b..724959c 100644
--- a/tests/lib_2/html/notification_test.dart
+++ b/tests/lib_2/html/notification_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/performance_api_test.dart b/tests/lib_2/html/performance_api_test.dart
index b66feeb..b29684c 100644
--- a/tests/lib_2/html/performance_api_test.dart
+++ b/tests/lib_2/html/performance_api_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/postmessage_anonymous_test.dart b/tests/lib_2/html/postmessage_anonymous_test.dart
index ab3b1ec..348796b 100644
--- a/tests/lib_2/html/postmessage_anonymous_test.dart
+++ b/tests/lib_2/html/postmessage_anonymous_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.9
+
 @JS()
 library postmessage_anonymous_test;
 
diff --git a/tests/lib_2/html/postmessage_structured_test.dart b/tests/lib_2/html/postmessage_structured_test.dart
index ce5e39b..432a8a8 100644
--- a/tests/lib_2/html/postmessage_structured_test.dart
+++ b/tests/lib_2/html/postmessage_structured_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.9
+
 library postmessage_js_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/private_extension_member_test.dart b/tests/lib_2/html/private_extension_member_test.dart
index 4512d9e..5342e09 100644
--- a/tests/lib_2/html/private_extension_member_test.dart
+++ b/tests/lib_2/html/private_extension_member_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.9
+
 import 'package:expect/expect.dart';
 
 import 'dart:html';
diff --git a/tests/lib_2/html/query_test.dart b/tests/lib_2/html/query_test.dart
index dab1cff..961ee5c 100644
--- a/tests/lib_2/html/query_test.dart
+++ b/tests/lib_2/html/query_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/queryall_test.dart b/tests/lib_2/html/queryall_test.dart
index e6a913e..274fb70 100644
--- a/tests/lib_2/html/queryall_test.dart
+++ b/tests/lib_2/html/queryall_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/range_test.dart b/tests/lib_2/html/range_test.dart
index b2acb80..cf8b44d 100644
--- a/tests/lib_2/html/range_test.dart
+++ b/tests/lib_2/html/range_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/request_animation_frame_test.dart b/tests/lib_2/html/request_animation_frame_test.dart
index d0c0447..fc6f6e9 100644
--- a/tests/lib_2/html/request_animation_frame_test.dart
+++ b/tests/lib_2/html/request_animation_frame_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.9
+
 library RequestAnimationFrameTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/rtc_test.dart b/tests/lib_2/html/rtc_test.dart
index 6b3c3581..1e68cbe 100644
--- a/tests/lib_2/html/rtc_test.dart
+++ b/tests/lib_2/html/rtc_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/selectelement_test.dart b/tests/lib_2/html/selectelement_test.dart
index 22b19fa..d114788 100644
--- a/tests/lib_2/html/selectelement_test.dart
+++ b/tests/lib_2/html/selectelement_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/serialized_script_value_test.dart b/tests/lib_2/html/serialized_script_value_test.dart
index e6e2ed9..925563a 100644
--- a/tests/lib_2/html/serialized_script_value_test.dart
+++ b/tests/lib_2/html/serialized_script_value_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/shadow_dom_test.dart b/tests/lib_2/html/shadow_dom_test.dart
index 75859d6..effebe0 100644
--- a/tests/lib_2/html/shadow_dom_test.dart
+++ b/tests/lib_2/html/shadow_dom_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/shadowroot_test.dart b/tests/lib_2/html/shadowroot_test.dart
index 85c4ac1..d548064 100644
--- a/tests/lib_2/html/shadowroot_test.dart
+++ b/tests/lib_2/html/shadowroot_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/speechrecognition_test.dart b/tests/lib_2/html/speechrecognition_test.dart
index 066faf0..15b2a9b 100644
--- a/tests/lib_2/html/speechrecognition_test.dart
+++ b/tests/lib_2/html/speechrecognition_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/storage_promise_test.dart b/tests/lib_2/html/storage_promise_test.dart
index 870c6f1..e6cc39c 100644
--- a/tests/lib_2/html/storage_promise_test.dart
+++ b/tests/lib_2/html/storage_promise_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.9
+
 library interactive_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/storage_test.dart b/tests/lib_2/html/storage_test.dart
index b6b07da..6fb0f92 100644
--- a/tests/lib_2/html/storage_test.dart
+++ b/tests/lib_2/html/storage_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/streams_test.dart b/tests/lib_2/html/streams_test.dart
index 713a6e6..22a39f5 100644
--- a/tests/lib_2/html/streams_test.dart
+++ b/tests/lib_2/html/streams_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:async';
 import 'dart:html';
 
diff --git a/tests/lib_2/html/svg_test.dart b/tests/lib_2/html/svg_test.dart
index a4996a0..77c092a 100644
--- a/tests/lib_2/html/svg_test.dart
+++ b/tests/lib_2/html/svg_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.9
+
 import 'dart:html';
 import 'dart:svg' as svg;
 
diff --git a/tests/lib_2/html/svgelement_test.dart b/tests/lib_2/html/svgelement_test.dart
index a8c6be6b..a16740e 100644
--- a/tests/lib_2/html/svgelement_test.dart
+++ b/tests/lib_2/html/svgelement_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.9
+
 import 'dart:html';
 import 'dart:svg' as svg;
 
diff --git a/tests/lib_2/html/table_test.dart b/tests/lib_2/html/table_test.dart
index cb7a4e2..65b40e5 100644
--- a/tests/lib_2/html/table_test.dart
+++ b/tests/lib_2/html/table_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/text_event_test.dart b/tests/lib_2/html/text_event_test.dart
index 26c7a2a..911e45d 100644
--- a/tests/lib_2/html/text_event_test.dart
+++ b/tests/lib_2/html/text_event_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/touchevent_test.dart b/tests/lib_2/html/touchevent_test.dart
index d91abb9..4df7b4a 100644
--- a/tests/lib_2/html/touchevent_test.dart
+++ b/tests/lib_2/html/touchevent_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/track_element_constructor_test.dart b/tests/lib_2/html/track_element_constructor_test.dart
index aed7624..21201dc 100644
--- a/tests/lib_2/html/track_element_constructor_test.dart
+++ b/tests/lib_2/html/track_element_constructor_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.9
+
 // A regression test for dart2js generating illegal JavaScript code
 // dynamically in non-csp mode.  The name of the field "defaultValue"
 // in JavaScript is "default".  This meant that dart2js would create a
diff --git a/tests/lib_2/html/transferables_test.dart b/tests/lib_2/html/transferables_test.dart
index 1f51643..01006a2 100644
--- a/tests/lib_2/html/transferables_test.dart
+++ b/tests/lib_2/html/transferables_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.9
+
 library TransferableTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/transition_event_test.dart b/tests/lib_2/html/transition_event_test.dart
index 5259592..2025f30 100644
--- a/tests/lib_2/html/transition_event_test.dart
+++ b/tests/lib_2/html/transition_event_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.9
+
 library transition_event_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/trusted_html_tree_sanitizer_test.dart b/tests/lib_2/html/trusted_html_tree_sanitizer_test.dart
index ac6eae6..64b8515 100644
--- a/tests/lib_2/html/trusted_html_tree_sanitizer_test.dart
+++ b/tests/lib_2/html/trusted_html_tree_sanitizer_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.9
+
 /// This tests HTML validation and sanitization, which is very important
 /// for prevent XSS or other attacks. If you suppress this, or parts of it
 /// please make it a critical bug and bring it to the attention of the
diff --git a/tests/lib_2/html/typed_arrays_1_test.dart b/tests/lib_2/html/typed_arrays_1_test.dart
index 9f974dc..b5b9f35 100644
--- a/tests/lib_2/html/typed_arrays_1_test.dart
+++ b/tests/lib_2/html/typed_arrays_1_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_2_test.dart b/tests/lib_2/html/typed_arrays_2_test.dart
index 51bd8c7..c941c16 100644
--- a/tests/lib_2/html/typed_arrays_2_test.dart
+++ b/tests/lib_2/html/typed_arrays_2_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_3_test.dart b/tests/lib_2/html/typed_arrays_3_test.dart
index 7a07f86..86d0115 100644
--- a/tests/lib_2/html/typed_arrays_3_test.dart
+++ b/tests/lib_2/html/typed_arrays_3_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_4_test.dart b/tests/lib_2/html/typed_arrays_4_test.dart
index ba8ee16..90010f1 100644
--- a/tests/lib_2/html/typed_arrays_4_test.dart
+++ b/tests/lib_2/html/typed_arrays_4_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_5_test.dart b/tests/lib_2/html/typed_arrays_5_test.dart
index e7b1e9b..43dfec6 100644
--- a/tests/lib_2/html/typed_arrays_5_test.dart
+++ b/tests/lib_2/html/typed_arrays_5_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_arraybuffer_test.dart b/tests/lib_2/html/typed_arrays_arraybuffer_test.dart
index 784a9e2..120ae72 100644
--- a/tests/lib_2/html/typed_arrays_arraybuffer_test.dart
+++ b/tests/lib_2/html/typed_arrays_arraybuffer_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_dataview_test.dart b/tests/lib_2/html/typed_arrays_dataview_test.dart
index e774a6d..6fb847a 100644
--- a/tests/lib_2/html/typed_arrays_dataview_test.dart
+++ b/tests/lib_2/html/typed_arrays_dataview_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_range_checks_test.dart b/tests/lib_2/html/typed_arrays_range_checks_test.dart
index f6d8dbf..b47ec92 100644
--- a/tests/lib_2/html/typed_arrays_range_checks_test.dart
+++ b/tests/lib_2/html/typed_arrays_range_checks_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typed_arrays_simd_test.dart b/tests/lib_2/html/typed_arrays_simd_test.dart
index 3f4919a..2be5121 100644
--- a/tests/lib_2/html/typed_arrays_simd_test.dart
+++ b/tests/lib_2/html/typed_arrays_simd_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/html/typing_test.dart b/tests/lib_2/html/typing_test.dart
index 2ea9eef..de19258 100644
--- a/tests/lib_2/html/typing_test.dart
+++ b/tests/lib_2/html/typing_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/unknownelement_test.dart b/tests/lib_2/html/unknownelement_test.dart
index 7b32408..9eff9dd 100644
--- a/tests/lib_2/html/unknownelement_test.dart
+++ b/tests/lib_2/html/unknownelement_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/uri_test.dart b/tests/lib_2/html/uri_test.dart
index 32ec865..aaeba31 100644
--- a/tests/lib_2/html/uri_test.dart
+++ b/tests/lib_2/html/uri_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/url_test.dart b/tests/lib_2/html/url_test.dart
index 201f523..ca23e00 100644
--- a/tests/lib_2/html/url_test.dart
+++ b/tests/lib_2/html/url_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.9
+
 library url_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/utils.dart b/tests/lib_2/html/utils.dart
index 876bc27..8ac2e91 100644
--- a/tests/lib_2/html/utils.dart
+++ b/tests/lib_2/html/utils.dart
@@ -11,4 +11,6 @@
 /// directory to import.
 // TODO(rnystrom): If the DDC test runner is fixed to use a different module
 // root that handles "../" imports, move "custom/utils.dart" to here.
+
+// @dart = 2.9
 export 'custom/utils.dart';
diff --git a/tests/lib_2/html/webgl_1_test.dart b/tests/lib_2/html/webgl_1_test.dart
index 679d647..92d417f 100644
--- a/tests/lib_2/html/webgl_1_test.dart
+++ b/tests/lib_2/html/webgl_1_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.9
+
 import 'dart:html';
 import 'dart:typed_data';
 import 'dart:web_gl';
diff --git a/tests/lib_2/html/webgl_extensions_test.dart b/tests/lib_2/html/webgl_extensions_test.dart
index cd7d39c..c9b4aa5 100644
--- a/tests/lib_2/html/webgl_extensions_test.dart
+++ b/tests/lib_2/html/webgl_extensions_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.9
+
 library web_gl_test;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/websocket_test.dart b/tests/lib_2/html/websocket_test.dart
index 2157e74..430ac16 100644
--- a/tests/lib_2/html/websocket_test.dart
+++ b/tests/lib_2/html/websocket_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library WebSocketTest;
 
 import 'dart:html';
diff --git a/tests/lib_2/html/websql_test.dart b/tests/lib_2/html/websql_test.dart
index 4c1e34d..bcd6231 100644
--- a/tests/lib_2/html/websql_test.dart
+++ b/tests/lib_2/html/websql_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library WebDBTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/wheelevent_test.dart b/tests/lib_2/html/wheelevent_test.dart
index 2614ae0..7c817b0 100644
--- a/tests/lib_2/html/wheelevent_test.dart
+++ b/tests/lib_2/html/wheelevent_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.9
+
 library wheel_event_test;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/window_eq_test.dart b/tests/lib_2/html/window_eq_test.dart
index 9938938..4da731e 100644
--- a/tests/lib_2/html/window_eq_test.dart
+++ b/tests/lib_2/html/window_eq_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/window_mangling_test.dart b/tests/lib_2/html/window_mangling_test.dart
index f427a34..686e5ae 100644
--- a/tests/lib_2/html/window_mangling_test.dart
+++ b/tests/lib_2/html/window_mangling_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.9
+
 import 'dart:html' as dom;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/window_nosuchmethod_test.dart b/tests/lib_2/html/window_nosuchmethod_test.dart
index 5e3556f..29bf584 100644
--- a/tests/lib_2/html/window_nosuchmethod_test.dart
+++ b/tests/lib_2/html/window_nosuchmethod_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.9
+
 import 'dart:html' as dom;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/window_test.dart b/tests/lib_2/html/window_test.dart
index ab79e66..2aa67fc 100644
--- a/tests/lib_2/html/window_test.dart
+++ b/tests/lib_2/html/window_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.9
+
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/worker_api_test.dart b/tests/lib_2/html/worker_api_test.dart
index 92a0198..2db5aa1 100644
--- a/tests/lib_2/html/worker_api_test.dart
+++ b/tests/lib_2/html/worker_api_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.9
+
 import 'dart:html';
 import 'dart:isolate';
 
diff --git a/tests/lib_2/html/worker_functional_test.dart b/tests/lib_2/html/worker_functional_test.dart
index cf3d5ab..090b361 100644
--- a/tests/lib_2/html/worker_functional_test.dart
+++ b/tests/lib_2/html/worker_functional_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.9
+
 library worker_test;
 
 import 'package:async_helper/async_minitest.dart';
diff --git a/tests/lib_2/html/worker_supported_test.dart b/tests/lib_2/html/worker_supported_test.dart
index fecb78e..df11390 100644
--- a/tests/lib_2/html/worker_supported_test.dart
+++ b/tests/lib_2/html/worker_supported_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.9
+
 library worker_test;
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/html/wrapping_collections_test.dart b/tests/lib_2/html/wrapping_collections_test.dart
index 52e7fb1..1a30504 100644
--- a/tests/lib_2/html/wrapping_collections_test.dart
+++ b/tests/lib_2/html/wrapping_collections_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 import 'dart:html_common';
 import 'dart:js' as js;
diff --git a/tests/lib_2/html/xhr_cross_origin_test.dart b/tests/lib_2/html/xhr_cross_origin_test.dart
index bb2a75f..5d60cc2 100644
--- a/tests/lib_2/html/xhr_cross_origin_test.dart
+++ b/tests/lib_2/html/xhr_cross_origin_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.9
+
 library XHRCrossOriginTest;
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/html/xhr_test.dart b/tests/lib_2/html/xhr_test.dart
index e2a7377..84fc4a6 100644
--- a/tests/lib_2/html/xhr_test.dart
+++ b/tests/lib_2/html/xhr_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.9
+
 library XHRTest;
 
 import 'dart:async';
diff --git a/tests/lib_2/html/xsltprocessor_test.dart b/tests/lib_2/html/xsltprocessor_test.dart
index c57befb..f6c9927 100644
--- a/tests/lib_2/html/xsltprocessor_test.dart
+++ b/tests/lib_2/html/xsltprocessor_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'dart:html';
 
 import 'package:expect/minitest.dart';
diff --git a/tests/lib_2/isolate/appjit_serialization_regression_test.dart b/tests/lib_2/isolate/appjit_serialization_regression_test.dart
index e359e9f..e6f735d 100644
--- a/tests/lib_2/isolate/appjit_serialization_regression_test.dart
+++ b/tests/lib_2/isolate/appjit_serialization_regression_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.9
+
 import 'dart:isolate';
 
 main() {
diff --git a/tests/lib_2/isolate/bool_from_environment_default_value_test.dart b/tests/lib_2/isolate/bool_from_environment_default_value_test.dart
index a1a2d9b..30ea663 100644
--- a/tests/lib_2/isolate/bool_from_environment_default_value_test.dart
+++ b/tests/lib_2/isolate/bool_from_environment_default_value_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/capability_test.dart b/tests/lib_2/isolate/capability_test.dart
index 4c09118..04c39ee 100644
--- a/tests/lib_2/isolate/capability_test.dart
+++ b/tests/lib_2/isolate/capability_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/compile_time_error_test.dart b/tests/lib_2/isolate/compile_time_error_test.dart
index 74744c3..efadcd1 100644
--- a/tests/lib_2/isolate/compile_time_error_test.dart
+++ b/tests/lib_2/isolate/compile_time_error_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/count_test.dart b/tests/lib_2/isolate/count_test.dart
index 276862c..0d92759 100644
--- a/tests/lib_2/isolate/count_test.dart
+++ b/tests/lib_2/isolate/count_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/cross_isolate_message_test.dart b/tests/lib_2/isolate/cross_isolate_message_test.dart
index 3b406cc..f24a36e 100644
--- a/tests/lib_2/isolate/cross_isolate_message_test.dart
+++ b/tests/lib_2/isolate/cross_isolate_message_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/deferred_in_isolate2_lib.dart b/tests/lib_2/isolate/deferred_in_isolate2_lib.dart
index e3fea39..c53800d 100644
--- a/tests/lib_2/isolate/deferred_in_isolate2_lib.dart
+++ b/tests/lib_2/isolate/deferred_in_isolate2_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Used by deferred_in_isolate2_test.
 library deferred_in_isolate2_lib;
 
diff --git a/tests/lib_2/isolate/deferred_in_isolate2_test.dart b/tests/lib_2/isolate/deferred_in_isolate2_test.dart
index 9eddc1c..4a4405b 100644
--- a/tests/lib_2/isolate/deferred_in_isolate2_test.dart
+++ b/tests/lib_2/isolate/deferred_in_isolate2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/deferred_in_isolate_app.dart b/tests/lib_2/isolate/deferred_in_isolate_app.dart
index 3c1f9dc..f32b683 100644
--- a/tests/lib_2/isolate/deferred_in_isolate_app.dart
+++ b/tests/lib_2/isolate/deferred_in_isolate_app.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'deferred_in_isolate_lib.dart' deferred as test;
 
 void main(args, msg) {
diff --git a/tests/lib_2/isolate/deferred_in_isolate_lib.dart b/tests/lib_2/isolate/deferred_in_isolate_lib.dart
index ed7e475..a618fcf 100644
--- a/tests/lib_2/isolate/deferred_in_isolate_lib.dart
+++ b/tests/lib_2/isolate/deferred_in_isolate_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library deferred_in_isolate_lib;
 
 class DeferredObj {
diff --git a/tests/lib_2/isolate/deferred_in_isolate_test.dart b/tests/lib_2/isolate/deferred_in_isolate_test.dart
index 167815b..d37817d 100644
--- a/tests/lib_2/isolate/deferred_in_isolate_test.dart
+++ b/tests/lib_2/isolate/deferred_in_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/deferred_loaded_lib.dart b/tests/lib_2/isolate/deferred_loaded_lib.dart
index 4fcc2d0..4541d56 100644
--- a/tests/lib_2/isolate/deferred_loaded_lib.dart
+++ b/tests/lib_2/isolate/deferred_loaded_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class FromChildIsolate {
   String toString() => 'from child isolate';
   int get fld => 10;
diff --git a/tests/lib_2/isolate/enum_const_test.dart b/tests/lib_2/isolate/enum_const_test.dart
index 3766cb5..5ce5c9b 100644
--- a/tests/lib_2/isolate/enum_const_test.dart
+++ b/tests/lib_2/isolate/enum_const_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/error_at_spawn_test.dart b/tests/lib_2/isolate/error_at_spawn_test.dart
index dcb033b..9af087d 100644
--- a/tests/lib_2/isolate/error_at_spawn_test.dart
+++ b/tests/lib_2/isolate/error_at_spawn_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/error_at_spawnuri_iso.dart b/tests/lib_2/isolate/error_at_spawnuri_iso.dart
index b165051..b2af5e2 100644
--- a/tests/lib_2/isolate/error_at_spawnuri_iso.dart
+++ b/tests/lib_2/isolate/error_at_spawnuri_iso.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library error_at_spawnuri_iso;
 
 main() {
diff --git a/tests/lib_2/isolate/error_at_spawnuri_test.dart b/tests/lib_2/isolate/error_at_spawnuri_test.dart
index 2c33f11..66de296 100644
--- a/tests/lib_2/isolate/error_at_spawnuri_test.dart
+++ b/tests/lib_2/isolate/error_at_spawnuri_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/error_exit_at_spawn_test.dart b/tests/lib_2/isolate/error_exit_at_spawn_test.dart
index 7033c1f..1c493ef 100644
--- a/tests/lib_2/isolate/error_exit_at_spawn_test.dart
+++ b/tests/lib_2/isolate/error_exit_at_spawn_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/error_exit_at_spawning_shared.dart b/tests/lib_2/isolate/error_exit_at_spawning_shared.dart
index 26c1707..c5982e1 100644
--- a/tests/lib_2/isolate/error_exit_at_spawning_shared.dart
+++ b/tests/lib_2/isolate/error_exit_at_spawning_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.9
+
 library error_exit_at_spawning_shared;
 
 import "dart:isolate";
diff --git a/tests/lib_2/isolate/error_exit_at_spawnuri_test.dart b/tests/lib_2/isolate/error_exit_at_spawnuri_test.dart
index 7f4f4d6..29330ec 100644
--- a/tests/lib_2/isolate/error_exit_at_spawnuri_test.dart
+++ b/tests/lib_2/isolate/error_exit_at_spawnuri_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/exit_at_spawn_test.dart b/tests/lib_2/isolate/exit_at_spawn_test.dart
index 3feb840..d737c29 100644
--- a/tests/lib_2/isolate/exit_at_spawn_test.dart
+++ b/tests/lib_2/isolate/exit_at_spawn_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/exit_at_spawnuri_iso.dart b/tests/lib_2/isolate/exit_at_spawnuri_iso.dart
index 9bc892e..0780b33 100644
--- a/tests/lib_2/isolate/exit_at_spawnuri_iso.dart
+++ b/tests/lib_2/isolate/exit_at_spawnuri_iso.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library exit_at_spawn_iso;
 
 main() {}
diff --git a/tests/lib_2/isolate/exit_at_spawnuri_test.dart b/tests/lib_2/isolate/exit_at_spawnuri_test.dart
index e77fe04..3813adf 100644
--- a/tests/lib_2/isolate/exit_at_spawnuri_test.dart
+++ b/tests/lib_2/isolate/exit_at_spawnuri_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/function_send1_test.dart b/tests/lib_2/isolate/function_send1_test.dart
index 95e6195..a706600 100644
--- a/tests/lib_2/isolate/function_send1_test.dart
+++ b/tests/lib_2/isolate/function_send1_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/function_send_test.dart b/tests/lib_2/isolate/function_send_test.dart
index 93c5f83..8d24312 100644
--- a/tests/lib_2/isolate/function_send_test.dart
+++ b/tests/lib_2/isolate/function_send_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/handle_error2_test.dart b/tests/lib_2/isolate/handle_error2_test.dart
index ec7f11c..dd3b113 100644
--- a/tests/lib_2/isolate/handle_error2_test.dart
+++ b/tests/lib_2/isolate/handle_error2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/handle_error3_test.dart b/tests/lib_2/isolate/handle_error3_test.dart
index 8c24b82..0f86863 100644
--- a/tests/lib_2/isolate/handle_error3_test.dart
+++ b/tests/lib_2/isolate/handle_error3_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/handle_error_test.dart b/tests/lib_2/isolate/handle_error_test.dart
index c37904a..6c414db 100644
--- a/tests/lib_2/isolate/handle_error_test.dart
+++ b/tests/lib_2/isolate/handle_error_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/illegal_msg_function_test.dart b/tests/lib_2/isolate/illegal_msg_function_test.dart
index 5fcaf8a..f61432c 100644
--- a/tests/lib_2/isolate/illegal_msg_function_test.dart
+++ b/tests/lib_2/isolate/illegal_msg_function_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/illegal_msg_mirror_test.dart b/tests/lib_2/isolate/illegal_msg_mirror_test.dart
index 7fd70ab..c2fab94 100644
--- a/tests/lib_2/isolate/illegal_msg_mirror_test.dart
+++ b/tests/lib_2/isolate/illegal_msg_mirror_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/int32_length_overflow_test.dart b/tests/lib_2/isolate/int32_length_overflow_test.dart
index b7f51cf..5d0273c 100644
--- a/tests/lib_2/isolate/int32_length_overflow_test.dart
+++ b/tests/lib_2/isolate/int32_length_overflow_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/int_from_environment_default_value_test.dart b/tests/lib_2/isolate/int_from_environment_default_value_test.dart
index 7bf0761..4733aaf 100644
--- a/tests/lib_2/isolate/int_from_environment_default_value_test.dart
+++ b/tests/lib_2/isolate/int_from_environment_default_value_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/isolate_complex_messages_test.dart b/tests/lib_2/isolate/isolate_complex_messages_test.dart
index 606b3af..30322a1 100644
--- a/tests/lib_2/isolate/isolate_complex_messages_test.dart
+++ b/tests/lib_2/isolate/isolate_complex_messages_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/isolate_current_test.dart b/tests/lib_2/isolate/isolate_current_test.dart
index b4b0baea..3850591 100644
--- a/tests/lib_2/isolate/isolate_current_test.dart
+++ b/tests/lib_2/isolate/isolate_current_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/isolate_import_test.dart b/tests/lib_2/isolate/isolate_import_test.dart
index 0438a4e..ff80fcb 100644
--- a/tests/lib_2/isolate/isolate_import_test.dart
+++ b/tests/lib_2/isolate/isolate_import_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/isolate_stress_test.dart b/tests/lib_2/isolate/isolate_stress_test.dart
index ddd68f2..81eb41b 100644
--- a/tests/lib_2/isolate/isolate_stress_test.dart
+++ b/tests/lib_2/isolate/isolate_stress_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_21398_child_isolate.dart b/tests/lib_2/isolate/issue_21398_child_isolate.dart
index c35fcb2..1030932 100644
--- a/tests/lib_2/isolate/issue_21398_child_isolate.dart
+++ b/tests/lib_2/isolate/issue_21398_child_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:isolate';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/isolate/issue_21398_child_isolate1.dart b/tests/lib_2/isolate/issue_21398_child_isolate1.dart
index 9911733..5660cdc 100644
--- a/tests/lib_2/isolate/issue_21398_child_isolate1.dart
+++ b/tests/lib_2/isolate/issue_21398_child_isolate1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:isolate';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/isolate/issue_21398_child_isolate11.dart b/tests/lib_2/isolate/issue_21398_child_isolate11.dart
index fd19d60..3567be2 100644
--- a/tests/lib_2/isolate/issue_21398_child_isolate11.dart
+++ b/tests/lib_2/isolate/issue_21398_child_isolate11.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:isolate';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/isolate/issue_21398_parent_isolate1_test.dart b/tests/lib_2/isolate/issue_21398_parent_isolate1_test.dart
index bf21844..4207c21 100644
--- a/tests/lib_2/isolate/issue_21398_parent_isolate1_test.dart
+++ b/tests/lib_2/isolate/issue_21398_parent_isolate1_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_21398_parent_isolate2_test.dart b/tests/lib_2/isolate/issue_21398_parent_isolate2_test.dart
index d092152..b072fa3 100644
--- a/tests/lib_2/isolate/issue_21398_parent_isolate2_test.dart
+++ b/tests/lib_2/isolate/issue_21398_parent_isolate2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_21398_parent_isolate_test.dart b/tests/lib_2/isolate/issue_21398_parent_isolate_test.dart
index 601c9de..9459d31 100644
--- a/tests/lib_2/isolate/issue_21398_parent_isolate_test.dart
+++ b/tests/lib_2/isolate/issue_21398_parent_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_22778_test.dart b/tests/lib_2/isolate/issue_22778_test.dart
index 67d90a2..05df46b 100644
--- a/tests/lib_2/isolate/issue_22778_test.dart
+++ b/tests/lib_2/isolate/issue_22778_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_24243_child1_isolate.dart b/tests/lib_2/isolate/issue_24243_child1_isolate.dart
index 4565cd16..436b48d 100644
--- a/tests/lib_2/isolate/issue_24243_child1_isolate.dart
+++ b/tests/lib_2/isolate/issue_24243_child1_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:isolate';
 
 main(List<String> args, message) {
diff --git a/tests/lib_2/isolate/issue_24243_child2_isolate.dart b/tests/lib_2/isolate/issue_24243_child2_isolate.dart
index a603309..48fe2ec 100644
--- a/tests/lib_2/isolate/issue_24243_child2_isolate.dart
+++ b/tests/lib_2/isolate/issue_24243_child2_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:isolate';
 
 main(List<String> args, message) {
diff --git a/tests/lib_2/isolate/issue_24243_child3_isolate.dart b/tests/lib_2/isolate/issue_24243_child3_isolate.dart
index e45930c..f5b4442 100644
--- a/tests/lib_2/isolate/issue_24243_child3_isolate.dart
+++ b/tests/lib_2/isolate/issue_24243_child3_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:collection';
 import 'dart:isolate';
 
diff --git a/tests/lib_2/isolate/issue_24243_parent_isolate_test.dart b/tests/lib_2/isolate/issue_24243_parent_isolate_test.dart
index 97e1929..a991a25 100644
--- a/tests/lib_2/isolate/issue_24243_parent_isolate_test.dart
+++ b/tests/lib_2/isolate/issue_24243_parent_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/issue_35626_test.dart b/tests/lib_2/isolate/issue_35626_test.dart
index 26ee9c6..9e9dbfe 100644
--- a/tests/lib_2/isolate/issue_35626_test.dart
+++ b/tests/lib_2/isolate/issue_35626_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/kill2_test.dart b/tests/lib_2/isolate/kill2_test.dart
index 08001f7..9918c9f 100644
--- a/tests/lib_2/isolate/kill2_test.dart
+++ b/tests/lib_2/isolate/kill2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/kill_self_synchronously_test.dart b/tests/lib_2/isolate/kill_self_synchronously_test.dart
index a741707..3ddb461 100644
--- a/tests/lib_2/isolate/kill_self_synchronously_test.dart
+++ b/tests/lib_2/isolate/kill_self_synchronously_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/kill_self_test.dart b/tests/lib_2/isolate/kill_self_test.dart
index 34c81ae..e78cb5e 100644
--- a/tests/lib_2/isolate/kill_self_test.dart
+++ b/tests/lib_2/isolate/kill_self_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/kill_test.dart b/tests/lib_2/isolate/kill_test.dart
index c69b7a1..0e695cf 100644
--- a/tests/lib_2/isolate/kill_test.dart
+++ b/tests/lib_2/isolate/kill_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/large_byte_data_leak_test.dart b/tests/lib_2/isolate/large_byte_data_leak_test.dart
index fe2fda1..7db4ff5 100644
--- a/tests/lib_2/isolate/large_byte_data_leak_test.dart
+++ b/tests/lib_2/isolate/large_byte_data_leak_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/large_byte_data_test.dart b/tests/lib_2/isolate/large_byte_data_test.dart
index 3861e5c..16811fa 100644
--- a/tests/lib_2/isolate/large_byte_data_test.dart
+++ b/tests/lib_2/isolate/large_byte_data_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/mandel_isolate_test.dart b/tests/lib_2/isolate/mandel_isolate_test.dart
index c037a64..c7da8a9 100644
--- a/tests/lib_2/isolate/mandel_isolate_test.dart
+++ b/tests/lib_2/isolate/mandel_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message2_test.dart b/tests/lib_2/isolate/message2_test.dart
index 422b499..ccb33b33 100644
--- a/tests/lib_2/isolate/message2_test.dart
+++ b/tests/lib_2/isolate/message2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message3_test.dart b/tests/lib_2/isolate/message3_test.dart
index 8fb1d8b..b9813bd 100644
--- a/tests/lib_2/isolate/message3_test.dart
+++ b/tests/lib_2/isolate/message3_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message4_test.dart b/tests/lib_2/isolate/message4_test.dart
index 345b21f..2d53736 100644
--- a/tests/lib_2/isolate/message4_test.dart
+++ b/tests/lib_2/isolate/message4_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message_const_type_arguments_1_test.dart b/tests/lib_2/isolate/message_const_type_arguments_1_test.dart
index 480cda5..f4ffd0e 100644
--- a/tests/lib_2/isolate/message_const_type_arguments_1_test.dart
+++ b/tests/lib_2/isolate/message_const_type_arguments_1_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message_const_type_arguments_2_test.dart b/tests/lib_2/isolate/message_const_type_arguments_2_test.dart
index 8398d2b..46d76d4 100644
--- a/tests/lib_2/isolate/message_const_type_arguments_2_test.dart
+++ b/tests/lib_2/isolate/message_const_type_arguments_2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message_enum_test.dart b/tests/lib_2/isolate/message_enum_test.dart
index 55eb38b..e0fef28 100644
--- a/tests/lib_2/isolate/message_enum_test.dart
+++ b/tests/lib_2/isolate/message_enum_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/message_test.dart b/tests/lib_2/isolate/message_test.dart
index 0ee5a67..b2cdf5a 100644
--- a/tests/lib_2/isolate/message_test.dart
+++ b/tests/lib_2/isolate/message_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/mint_maker_test.dart b/tests/lib_2/isolate/mint_maker_test.dart
index 3545eeb..7fd3650 100644
--- a/tests/lib_2/isolate/mint_maker_test.dart
+++ b/tests/lib_2/isolate/mint_maker_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/native_wrapper_message_test.dart b/tests/lib_2/isolate/native_wrapper_message_test.dart
index 4c06821..814a581 100644
--- a/tests/lib_2/isolate/native_wrapper_message_test.dart
+++ b/tests/lib_2/isolate/native_wrapper_message_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/nested_spawn2_test.dart b/tests/lib_2/isolate/nested_spawn2_test.dart
index f8cf00a..6a955ba 100644
--- a/tests/lib_2/isolate/nested_spawn2_test.dart
+++ b/tests/lib_2/isolate/nested_spawn2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/nested_spawn_test.dart b/tests/lib_2/isolate/nested_spawn_test.dart
index 952c192..095f790 100644
--- a/tests/lib_2/isolate/nested_spawn_test.dart
+++ b/tests/lib_2/isolate/nested_spawn_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/non_fatal_exception_in_timer_callback_test.dart b/tests/lib_2/isolate/non_fatal_exception_in_timer_callback_test.dart
index 0d2e8cc..352827f 100644
--- a/tests/lib_2/isolate/non_fatal_exception_in_timer_callback_test.dart
+++ b/tests/lib_2/isolate/non_fatal_exception_in_timer_callback_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/object_leak_test.dart b/tests/lib_2/isolate/object_leak_test.dart
index d563786..aee8af3 100644
--- a/tests/lib_2/isolate/object_leak_test.dart
+++ b/tests/lib_2/isolate/object_leak_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/ondone_test.dart b/tests/lib_2/isolate/ondone_test.dart
index 10b039e..2ca9592 100644
--- a/tests/lib_2/isolate/ondone_test.dart
+++ b/tests/lib_2/isolate/ondone_test.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/package_config_getter_test.dart b/tests/lib_2/isolate/package_config_getter_test.dart
index 89b347a..43e279a 100644
--- a/tests/lib_2/isolate/package_config_getter_test.dart
+++ b/tests/lib_2/isolate/package_config_getter_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.9
+
 import 'dart:io';
 
 import 'package:path/path.dart' as path;
diff --git a/tests/lib_2/isolate/package_config_test.dart b/tests/lib_2/isolate/package_config_test.dart
index c4119b2..25b7b48 100644
--- a/tests/lib_2/isolate/package_config_test.dart
+++ b/tests/lib_2/isolate/package_config_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 // VMOptions=--trace_shutdown
diff --git a/tests/lib_2/isolate/package_resolve_test.dart b/tests/lib_2/isolate/package_resolve_test.dart
index 99cb6f1..efb4fd6 100644
--- a/tests/lib_2/isolate/package_resolve_test.dart
+++ b/tests/lib_2/isolate/package_resolve_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/package_root_test.dart b/tests/lib_2/isolate/package_root_test.dart
index 4b3d46b..e29f99b 100644
--- a/tests/lib_2/isolate/package_root_test.dart
+++ b/tests/lib_2/isolate/package_root_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/pause_test.dart b/tests/lib_2/isolate/pause_test.dart
index 9a28a54..20a588b 100644
--- a/tests/lib_2/isolate/pause_test.dart
+++ b/tests/lib_2/isolate/pause_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/ping_pause_test.dart b/tests/lib_2/isolate/ping_pause_test.dart
index d83d55f..b96b0b1 100644
--- a/tests/lib_2/isolate/ping_pause_test.dart
+++ b/tests/lib_2/isolate/ping_pause_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/ping_test.dart b/tests/lib_2/isolate/ping_test.dart
index e9a0d05..79cad0e 100644
--- a/tests/lib_2/isolate/ping_test.dart
+++ b/tests/lib_2/isolate/ping_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/port_test.dart b/tests/lib_2/isolate/port_test.dart
index 9da0dce..1493048 100644
--- a/tests/lib_2/isolate/port_test.dart
+++ b/tests/lib_2/isolate/port_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/raw_port_test.dart b/tests/lib_2/isolate/raw_port_test.dart
index d0b8695..cd9c7c2 100644
--- a/tests/lib_2/isolate/raw_port_test.dart
+++ b/tests/lib_2/isolate/raw_port_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/regress_34752_test.dart b/tests/lib_2/isolate/regress_34752_test.dart
index fc17139..7390247 100644
--- a/tests/lib_2/isolate/regress_34752_test.dart
+++ b/tests/lib_2/isolate/regress_34752_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/regress_flutter_22796_test.dart b/tests/lib_2/isolate/regress_flutter_22796_test.dart
index f97ca05..1fe759b 100644
--- a/tests/lib_2/isolate/regress_flutter_22796_test.dart
+++ b/tests/lib_2/isolate/regress_flutter_22796_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/request_reply_test.dart b/tests/lib_2/isolate/request_reply_test.dart
index 3dd9274..3802b40 100644
--- a/tests/lib_2/isolate/request_reply_test.dart
+++ b/tests/lib_2/isolate/request_reply_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/resolve_package_uri_test.dart b/tests/lib_2/isolate/resolve_package_uri_test.dart
index 26a48e2..2cab226 100644
--- a/tests/lib_2/isolate/resolve_package_uri_test.dart
+++ b/tests/lib_2/isolate/resolve_package_uri_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/scenarios/automatic_resolution_root/package_resolve_test.dart b/tests/lib_2/isolate/scenarios/automatic_resolution_root/package_resolve_test.dart
index eb3cbf7..53ae200 100644
--- a/tests/lib_2/isolate/scenarios/automatic_resolution_root/package_resolve_test.dart
+++ b/tests/lib_2/isolate/scenarios/automatic_resolution_root/package_resolve_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.9
+
 import 'dart:io';
 import 'dart:isolate';
 
diff --git a/tests/lib_2/isolate/scenarios/automatic_resolution_spec/package_resolve_test.dart b/tests/lib_2/isolate/scenarios/automatic_resolution_spec/package_resolve_test.dart
index dee6d10..4e3cbbd 100644
--- a/tests/lib_2/isolate/scenarios/automatic_resolution_spec/package_resolve_test.dart
+++ b/tests/lib_2/isolate/scenarios/automatic_resolution_spec/package_resolve_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.9
+
 import 'dart:io';
 import 'dart:isolate';
 
diff --git a/tests/lib_2/isolate/scenarios/bad_resolve_package/bad_resolve_package_test.dart b/tests/lib_2/isolate/scenarios/bad_resolve_package/bad_resolve_package_test.dart
index 5866729..a17f089 100644
--- a/tests/lib_2/isolate/scenarios/bad_resolve_package/bad_resolve_package_test.dart
+++ b/tests/lib_2/isolate/scenarios/bad_resolve_package/bad_resolve_package_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.9
+
 // Packages=none
 
 import 'dart:io';
diff --git a/tests/lib_2/isolate/scenarios/package_data_uri_spec/package_resolve_test.dart b/tests/lib_2/isolate/scenarios/package_data_uri_spec/package_resolve_test.dart
index 99cb6f1..efb4fd6 100644
--- a/tests/lib_2/isolate/scenarios/package_data_uri_spec/package_resolve_test.dart
+++ b/tests/lib_2/isolate/scenarios/package_data_uri_spec/package_resolve_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/scenarios/package_relative_root/package_relative_root_test.dart b/tests/lib_2/isolate/scenarios/package_relative_root/package_relative_root_test.dart
index 034881b..49ee784 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_root/package_relative_root_test.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_root/package_relative_root_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.9
+
 // Packages=none
 
 import 'dart:io';
diff --git a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/bar.dart b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/bar.dart
index 7fb99e2..93a202c 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/bar.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/bar.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Bar {
   static var value = "Bar1";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/bar/bar.dart b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/bar/bar.dart
index cd6723a..d8e06e0 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/bar/bar.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/bar/bar.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Bar {
   static var value = "Bar2";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/foo/foo.dart b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/foo/foo.dart
index ba907d1..3db4231 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/foo/foo.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_root/packages/bar/spawned_packages/foo/foo.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Foo {
   static var value = "Foo";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_root/packages/foo/foo.dart b/tests/lib_2/isolate/scenarios/package_relative_root/packages/foo/foo.dart
index ba907d1..3db4231 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_root/packages/foo/foo.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_root/packages/foo/foo.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Foo {
   static var value = "Foo";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_spec/bar1_package/bar.dart b/tests/lib_2/isolate/scenarios/package_relative_spec/bar1_package/bar.dart
index 7fb99e2..93a202c 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_spec/bar1_package/bar.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_spec/bar1_package/bar.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Bar {
   static var value = "Bar1";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_spec/bar2_package/bar.dart b/tests/lib_2/isolate/scenarios/package_relative_spec/bar2_package/bar.dart
index cd6723a..d8e06e0 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_spec/bar2_package/bar.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_spec/bar2_package/bar.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Bar {
   static var value = "Bar2";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_spec/foo_package/foo.dart b/tests/lib_2/isolate/scenarios/package_relative_spec/foo_package/foo.dart
index ba907d1..3db4231 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_spec/foo_package/foo.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_spec/foo_package/foo.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Foo {
   static var value = "Foo";
 }
diff --git a/tests/lib_2/isolate/scenarios/package_relative_spec/package_relative_spec_test.dart b/tests/lib_2/isolate/scenarios/package_relative_spec/package_relative_spec_test.dart
index 9e5b603..a4c96d6 100644
--- a/tests/lib_2/isolate/scenarios/package_relative_spec/package_relative_spec_test.dart
+++ b/tests/lib_2/isolate/scenarios/package_relative_spec/package_relative_spec_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.9
+
 // Packages=none
 
 import 'dart:io';
diff --git a/tests/lib_2/isolate/scenarios/short_package/flu_package/flu.dart b/tests/lib_2/isolate/scenarios/short_package/flu_package/flu.dart
index 5e33f7c..5fd00ef 100644
--- a/tests/lib_2/isolate/scenarios/short_package/flu_package/flu.dart
+++ b/tests/lib_2/isolate/scenarios/short_package/flu_package/flu.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 class Flu {
   static var value = "Flu";
 }
diff --git a/tests/lib_2/isolate/scenarios/short_package/short_package_test.dart b/tests/lib_2/isolate/scenarios/short_package/short_package_test.dart
index 16ec032..66cc30c 100644
--- a/tests/lib_2/isolate/scenarios/short_package/short_package_test.dart
+++ b/tests/lib_2/isolate/scenarios/short_package/short_package_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.9
+
 // Packages=none
 
 import 'dart:io';
diff --git a/tests/lib_2/isolate/send_private_test.dart b/tests/lib_2/isolate/send_private_test.dart
index 46114c8..f8481ec 100644
--- a/tests/lib_2/isolate/send_private_test.dart
+++ b/tests/lib_2/isolate/send_private_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/simple_message_test.dart b/tests/lib_2/isolate/simple_message_test.dart
index 677998c..bb549cb 100644
--- a/tests/lib_2/isolate/simple_message_test.dart
+++ b/tests/lib_2/isolate/simple_message_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_function_custom_class_test.dart b/tests/lib_2/isolate/spawn_function_custom_class_test.dart
index 5abcae6..45151be 100644
--- a/tests/lib_2/isolate/spawn_function_custom_class_test.dart
+++ b/tests/lib_2/isolate/spawn_function_custom_class_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_function_test.dart b/tests/lib_2/isolate/spawn_function_test.dart
index 2ad8b87..b8b7659 100644
--- a/tests/lib_2/isolate/spawn_function_test.dart
+++ b/tests/lib_2/isolate/spawn_function_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_generic_test.dart b/tests/lib_2/isolate/spawn_generic_test.dart
index 92bd72e..f73b711 100644
--- a/tests/lib_2/isolate/spawn_generic_test.dart
+++ b/tests/lib_2/isolate/spawn_generic_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri__package_uri__test.dart b/tests/lib_2/isolate/spawn_uri__package_uri__test.dart
index 61837fc..46d4a14 100644
--- a/tests/lib_2/isolate/spawn_uri__package_uri__test.dart
+++ b/tests/lib_2/isolate/spawn_uri__package_uri__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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/isolate/spawn_uri_child_isolate.dart b/tests/lib_2/isolate/spawn_uri_child_isolate.dart
index 81f40f9..d73d244 100644
--- a/tests/lib_2/isolate/spawn_uri_child_isolate.dart
+++ b/tests/lib_2/isolate/spawn_uri_child_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Child isolate code to be spawned from a URI to this file.
 library SpawnUriChildIsolate;
 
diff --git a/tests/lib_2/isolate/spawn_uri_exported_main.dart b/tests/lib_2/isolate/spawn_uri_exported_main.dart
index afd0122..6878f6e 100644
--- a/tests/lib_2/isolate/spawn_uri_exported_main.dart
+++ b/tests/lib_2/isolate/spawn_uri_exported_main.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 export "spawn_uri_exported_main_lib.dart";
 
 maine() {
diff --git a/tests/lib_2/isolate/spawn_uri_exported_main_lib.dart b/tests/lib_2/isolate/spawn_uri_exported_main_lib.dart
index 7500465..1410a46 100644
--- a/tests/lib_2/isolate/spawn_uri_exported_main_lib.dart
+++ b/tests/lib_2/isolate/spawn_uri_exported_main_lib.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library spawn_uri_exported_main_lib;
 
 main(args, msg) {
diff --git a/tests/lib_2/isolate/spawn_uri_exported_main_test.dart b/tests/lib_2/isolate/spawn_uri_exported_main_test.dart
index 93f7c26..ba704e8 100644
--- a/tests/lib_2/isolate/spawn_uri_exported_main_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_exported_main_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_fail_test.dart b/tests/lib_2/isolate/spawn_uri_fail_test.dart
index 84d54b0..06b6bf5 100644
--- a/tests/lib_2/isolate/spawn_uri_fail_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_fail_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_missing_from_isolate_test.dart b/tests/lib_2/isolate/spawn_uri_missing_from_isolate_test.dart
index 915ffa4..a7f9e7a 100644
--- a/tests/lib_2/isolate/spawn_uri_missing_from_isolate_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_missing_from_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_missing_test.dart b/tests/lib_2/isolate/spawn_uri_missing_test.dart
index 7164446..83aa2e9 100644
--- a/tests/lib_2/isolate/spawn_uri_missing_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_missing_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_multi_test.dart b/tests/lib_2/isolate/spawn_uri_multi_test.dart
index 38a22ee..83eb117 100644
--- a/tests/lib_2/isolate/spawn_uri_multi_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_multi_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_nested_child1_vm_isolate.dart b/tests/lib_2/isolate/spawn_uri_nested_child1_vm_isolate.dart
index 6008357..3fc1a33 100644
--- a/tests/lib_2/isolate/spawn_uri_nested_child1_vm_isolate.dart
+++ b/tests/lib_2/isolate/spawn_uri_nested_child1_vm_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Example of nested spawning of isolates from a URI
 // Note: the following comment is used by test.dart to additionally compile the
 // other isolate's code.
diff --git a/tests/lib_2/isolate/spawn_uri_nested_child2_vm_isolate.dart b/tests/lib_2/isolate/spawn_uri_nested_child2_vm_isolate.dart
index a6c90b8f..93df77c 100644
--- a/tests/lib_2/isolate/spawn_uri_nested_child2_vm_isolate.dart
+++ b/tests/lib_2/isolate/spawn_uri_nested_child2_vm_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Child isolate code to be spawned from a URI to this file.
 library NestedSpawnUriChild2Library;
 
diff --git a/tests/lib_2/isolate/spawn_uri_nested_vm_test.dart b/tests/lib_2/isolate/spawn_uri_nested_vm_test.dart
index 5da7fa9..6ecabb1 100644
--- a/tests/lib_2/isolate/spawn_uri_nested_vm_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_nested_vm_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_test.dart b/tests/lib_2/isolate/spawn_uri_test.dart
index 0b76b4f..1698d46 100644
--- a/tests/lib_2/isolate/spawn_uri_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/spawn_uri_vm_test.dart b/tests/lib_2/isolate/spawn_uri_vm_test.dart
index 48d30a2..e64db64 100644
--- a/tests/lib_2/isolate/spawn_uri_vm_test.dart
+++ b/tests/lib_2/isolate/spawn_uri_vm_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/stacktrace_message_test.dart b/tests/lib_2/isolate/stacktrace_message_test.dart
index 41a0820..4738951 100644
--- a/tests/lib_2/isolate/stacktrace_message_test.dart
+++ b/tests/lib_2/isolate/stacktrace_message_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.9
+
 import 'dart:isolate';
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/isolate/start_paused_test.dart b/tests/lib_2/isolate/start_paused_test.dart
index 217ebf4..3005918 100644
--- a/tests/lib_2/isolate/start_paused_test.dart
+++ b/tests/lib_2/isolate/start_paused_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/static_function_lib.dart b/tests/lib_2/isolate/static_function_lib.dart
index 886284f..590ee93 100644
--- a/tests/lib_2/isolate/static_function_lib.dart
+++ b/tests/lib_2/isolate/static_function_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library static_function_testlib;
 
 import "dart:isolate" show SendPort;
diff --git a/tests/lib_2/isolate/static_function_test.dart b/tests/lib_2/isolate/static_function_test.dart
index 9d69464..e213876 100644
--- a/tests/lib_2/isolate/static_function_test.dart
+++ b/tests/lib_2/isolate/static_function_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/string_from_environment_default_value_test.dart b/tests/lib_2/isolate/string_from_environment_default_value_test.dart
index 6c2adfb..46c48a5 100644
--- a/tests/lib_2/isolate/string_from_environment_default_value_test.dart
+++ b/tests/lib_2/isolate/string_from_environment_default_value_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/timer_isolate_test.dart b/tests/lib_2/isolate/timer_isolate_test.dart
index b2c98d9..972f592 100644
--- a/tests/lib_2/isolate/timer_isolate_test.dart
+++ b/tests/lib_2/isolate/timer_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/timer_multiple_isolates_test.dart b/tests/lib_2/isolate/timer_multiple_isolates_test.dart
index 51ec407..29bab19 100644
--- a/tests/lib_2/isolate/timer_multiple_isolates_test.dart
+++ b/tests/lib_2/isolate/timer_multiple_isolates_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/transferable_failed_to_send_test.dart b/tests/lib_2/isolate/transferable_failed_to_send_test.dart
index a8d3bcd..8ee6226 100644
--- a/tests/lib_2/isolate/transferable_failed_to_send_test.dart
+++ b/tests/lib_2/isolate/transferable_failed_to_send_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/transferable_test.dart b/tests/lib_2/isolate/transferable_test.dart
index f8888e7..aef8d97 100644
--- a/tests/lib_2/isolate/transferable_test.dart
+++ b/tests/lib_2/isolate/transferable_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/typed_message_test.dart b/tests/lib_2/isolate/typed_message_test.dart
index 955204d..0700261 100644
--- a/tests/lib_2/isolate/typed_message_test.dart
+++ b/tests/lib_2/isolate/typed_message_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 // Dart test program for testing isolate communication with
diff --git a/tests/lib_2/isolate/unboxed_double_snapshot_writer_test.dart b/tests/lib_2/isolate/unboxed_double_snapshot_writer_test.dart
index 132ad6b..400424f 100644
--- a/tests/lib_2/isolate/unboxed_double_snapshot_writer_test.dart
+++ b/tests/lib_2/isolate/unboxed_double_snapshot_writer_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.9
+
 import 'dart:async';
 import 'dart:isolate';
 import 'dart:typed_data';
diff --git a/tests/lib_2/isolate/unresolved_ports_test.dart b/tests/lib_2/isolate/unresolved_ports_test.dart
index fa41bb4..e930123 100644
--- a/tests/lib_2/isolate/unresolved_ports_test.dart
+++ b/tests/lib_2/isolate/unresolved_ports_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/isolate/vm_rehash_test.dart b/tests/lib_2/isolate/vm_rehash_test.dart
index 6c1065c..b854343 100644
--- a/tests/lib_2/isolate/vm_rehash_test.dart
+++ b/tests/lib_2/isolate/vm_rehash_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/lib_2/js/array_test.dart b/tests/lib_2/js/array_test.dart
index 30bae97..4cf5558 100644
--- a/tests/lib_2/js/array_test.dart
+++ b/tests/lib_2/js/array_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.9
+
 @JS()
 library array_test;
 
diff --git a/tests/lib_2/js/datetime_roundtrip_test.dart b/tests/lib_2/js/datetime_roundtrip_test.dart
index 16cd6d0..daefed8 100644
--- a/tests/lib_2/js/datetime_roundtrip_test.dart
+++ b/tests/lib_2/js/datetime_roundtrip_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.9
+
 import 'dart:js';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/js/external_nonjs_static_test.dart b/tests/lib_2/js/external_nonjs_static_test.dart
index 3359f0b..6635d27 100644
--- a/tests/lib_2/js/external_nonjs_static_test.dart
+++ b/tests/lib_2/js/external_nonjs_static_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.9
+
 // Checks for static errors using external without the @JS() annotation,
 // in a library without a @JS() annotation
 
diff --git a/tests/lib_2/js/external_static_test.dart b/tests/lib_2/js/external_static_test.dart
index 9326b9e..8ac09be 100644
--- a/tests/lib_2/js/external_static_test.dart
+++ b/tests/lib_2/js/external_static_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.9
+
 // Checks for static errors using external without the @JS() annotation,
 // in a library with a @JS() annotation
 
diff --git a/tests/lib_2/js/instanceof_test.dart b/tests/lib_2/js/instanceof_test.dart
index 65bbd21..a4c3c0d 100644
--- a/tests/lib_2/js/instanceof_test.dart
+++ b/tests/lib_2/js/instanceof_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.9
+
 @JS()
 library instanceof_test;
 
diff --git a/tests/lib_2/js/js_util/async_test.dart b/tests/lib_2/js/js_util/async_test.dart
index 9172fe7..6a49358 100644
--- a/tests/lib_2/js/js_util/async_test.dart
+++ b/tests/lib_2/js/js_util/async_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.9
+
 @JS()
 library js_util_async_test;
 
diff --git a/tests/lib_2/js/js_util/js_prefix_test.dart b/tests/lib_2/js/js_util/js_prefix_test.dart
index 47205cb..f74daa5 100644
--- a/tests/lib_2/js/js_util/js_prefix_test.dart
+++ b/tests/lib_2/js/js_util/js_prefix_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.9
+
 // Tests the functionality of the JS$ prefix for escaping keywords in JS names.
 // Currently only implemented in dart2js, expected to fail in ddc.
 
diff --git a/tests/lib_2/js/js_util/jsify_test.dart b/tests/lib_2/js/js_util/jsify_test.dart
index 5ed916d..a75dac5 100644
--- a/tests/lib_2/js/js_util/jsify_test.dart
+++ b/tests/lib_2/js/js_util/jsify_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.9
+
 // Tests the jsify functionality of the js_util library.
 
 @JS()
diff --git a/tests/lib_2/js/js_util/promise_reject_null_test.dart b/tests/lib_2/js/js_util/promise_reject_null_test.dart
index 70da7f9..86a0a90 100644
--- a/tests/lib_2/js/js_util/promise_reject_null_test.dart
+++ b/tests/lib_2/js/js_util/promise_reject_null_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 @JS()
 library promise_reject_null_test;
 
diff --git a/tests/lib_2/js/js_util/properties_test.dart b/tests/lib_2/js/js_util/properties_test.dart
index ab0b844..4437065 100644
--- a/tests/lib_2/js/js_util/properties_test.dart
+++ b/tests/lib_2/js/js_util/properties_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.9
+
 // Tests the functionality of object properties with the js_util library. For
 // js_util tests with HTML objects see tests/lib/html/js_util_test.dart.
 
diff --git a/tests/lib_2/js/method_call_on_object_test.dart b/tests/lib_2/js/method_call_on_object_test.dart
index b8eba441..518fe99 100644
--- a/tests/lib_2/js/method_call_on_object_test.dart
+++ b/tests/lib_2/js/method_call_on_object_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.9
+
 // Tests method calls (typed and dynamic) on various forms of JS objects.
 
 @JS()
diff --git a/tests/lib_2/js/mock_test.dart b/tests/lib_2/js/mock_test.dart
index a33ac5e..f8a8030 100644
--- a/tests/lib_2/js/mock_test.dart
+++ b/tests/lib_2/js/mock_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.9
+
 @JS()
 library mock_test;
 
diff --git a/tests/lib_2/js/null_test.dart b/tests/lib_2/js/null_test.dart
index b565263..5c689f3 100644
--- a/tests/lib_2/js/null_test.dart
+++ b/tests/lib_2/js/null_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.9
+
 library null_test;
 
 import 'dart:js';
diff --git a/tests/lib_2/js/parameters_test.dart b/tests/lib_2/js/parameters_test.dart
index 4a65a6b..b340cb1 100644
--- a/tests/lib_2/js/parameters_test.dart
+++ b/tests/lib_2/js/parameters_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.9
+
 // Tests positional and optional arguments for various JS objects.
 
 @JS()
diff --git a/tests/lib_2/js/prototype_access_test.dart b/tests/lib_2/js/prototype_access_test.dart
index adea05e..b549945 100644
--- a/tests/lib_2/js/prototype_access_test.dart
+++ b/tests/lib_2/js/prototype_access_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.9
+
 @JS()
 library prototest;
 
diff --git a/tests/lib_2/math/call_cmath_box_failure_path_test.dart b/tests/lib_2/math/call_cmath_box_failure_path_test.dart
index bf63443..911ee23 100644
--- a/tests/lib_2/math/call_cmath_box_failure_path_test.dart
+++ b/tests/lib_2/math/call_cmath_box_failure_path_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.9
+
 // VMOptions=--optimization-counter-threshold=-1 --new_gen_semi_max_size=2
 
 // TODO(rnystrom): This looks like a VM-specific test. Move out of
diff --git a/tests/lib_2/math/coin_test.dart b/tests/lib_2/math/coin_test.dart
index f930426..a9dcd5d 100644
--- a/tests/lib_2/math/coin_test.dart
+++ b/tests/lib_2/math/coin_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.9
+
 // Test that a coin toss with Random.nextBool() is fair.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/double_pow_test.dart b/tests/lib_2/math/double_pow_test.dart
index 4feac67..e68380b 100644
--- a/tests/lib_2/math/double_pow_test.dart
+++ b/tests/lib_2/math/double_pow_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=5 --no-background-compilation
 
+// @dart = 2.9
+
 library math_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/implement_rectangle_test.dart b/tests/lib_2/math/implement_rectangle_test.dart
index 3a31ed8..f4a6167 100644
--- a/tests/lib_2/math/implement_rectangle_test.dart
+++ b/tests/lib_2/math/implement_rectangle_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.9
+
 import 'dart:math' hide Rectangle;
 import 'dart:math' as math show Point, Rectangle, MutableRectangle;
 import 'package:expect/expect.dart' show Expect;
diff --git a/tests/lib_2/math/low_test.dart b/tests/lib_2/math/low_test.dart
index f7e9060..d25b4ee 100644
--- a/tests/lib_2/math/low_test.dart
+++ b/tests/lib_2/math/low_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.9
+
 // Test that the default PRNG does uniformly distribute values when not using
 // a power of 2.
 
diff --git a/tests/lib_2/math/math2_test.dart b/tests/lib_2/math/math2_test.dart
index 83f0183..9ec5071 100644
--- a/tests/lib_2/math/math2_test.dart
+++ b/tests/lib_2/math/math2_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.9
+
 // We temporarily test both the new math library and the old Math
 // class. This can easily be simplified once we get rid of the Math
 // class entirely.
diff --git a/tests/lib_2/math/math_parse_double_test.dart b/tests/lib_2/math/math_parse_double_test.dart
index a3b0ea5..8aef34f 100644
--- a/tests/lib_2/math/math_parse_double_test.dart
+++ b/tests/lib_2/math/math_parse_double_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.9
+
 // We temporarily test both the new math library and the old Math
 // class. This can easily be simplified once we get rid of the Math
 // class entirely.
diff --git a/tests/lib_2/math/math_test.dart b/tests/lib_2/math/math_test.dart
index ca32951..5d2d71d 100644
--- a/tests/lib_2/math/math_test.dart
+++ b/tests/lib_2/math/math_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.9
+
 library math_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/min_max_test.dart b/tests/lib_2/math/min_max_test.dart
index 4fb4317..57b43e4 100644
--- a/tests/lib_2/math/min_max_test.dart
+++ b/tests/lib_2/math/min_max_test.dart
@@ -4,6 +4,8 @@
 // Dart test for testing Math.min and Math.max.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 library min_max_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/pi_test.dart b/tests/lib_2/math/pi_test.dart
index b867132..cda9e75 100644
--- a/tests/lib_2/math/pi_test.dart
+++ b/tests/lib_2/math/pi_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.9
+
 // Test that the default PRNG does converge towards Pi when doing a Monte Carlo
 // simulation.
 
diff --git a/tests/lib_2/math/point_test.dart b/tests/lib_2/math/point_test.dart
index 7e6979a..359e8b1 100644
--- a/tests/lib_2/math/point_test.dart
+++ b/tests/lib_2/math/point_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.9
+
 import 'dart:math';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/math/random_big_test.dart b/tests/lib_2/math/random_big_test.dart
index 25c57e7..826980c 100644
--- a/tests/lib_2/math/random_big_test.dart
+++ b/tests/lib_2/math/random_big_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.9
+
 // Test that Random can deal with a seed at upper end of 64-bit range.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/random_secure_test.dart b/tests/lib_2/math/random_secure_test.dart
index a28a215..c8f4cc9 100644
--- a/tests/lib_2/math/random_secure_test.dart
+++ b/tests/lib_2/math/random_secure_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.9
+
 // Test that the secure random generator does not systematically generates
 // duplicates. Note that this test is flaky by definition, since duplicates
 // can occur. They should be extremely rare, though.
diff --git a/tests/lib_2/math/random_secure_unsupported_test.dart b/tests/lib_2/math/random_secure_unsupported_test.dart
index 7e8744c..a408096 100644
--- a/tests/lib_2/math/random_secure_unsupported_test.dart
+++ b/tests/lib_2/math/random_secure_unsupported_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.9
+
 // Test that `Random.secure()` throws `UnsupportedError` each time it fails.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/math/random_test.dart b/tests/lib_2/math/random_test.dart
index 9e66365..4c36c17 100644
--- a/tests/lib_2/math/random_test.dart
+++ b/tests/lib_2/math/random_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.9
+
 // Test that rnd.nextInt with a seed generates the same sequence each time.
 
 // Library tag to allow Dartium to run the test.
diff --git a/tests/lib_2/math/rectangle_test.dart b/tests/lib_2/math/rectangle_test.dart
index 17a6f86..2681023 100644
--- a/tests/lib_2/math/rectangle_test.dart
+++ b/tests/lib_2/math/rectangle_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.9
+
 import 'dart:math';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/abstract_class_test.dart b/tests/lib_2/mirrors/abstract_class_test.dart
index 8cd4fae..529ba51 100644
--- a/tests/lib_2/mirrors/abstract_class_test.dart
+++ b/tests/lib_2/mirrors/abstract_class_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.9
+
 library test.abstract_class_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/abstract_test.dart b/tests/lib_2/mirrors/abstract_test.dart
index aad20b2..96cd5b0 100644
--- a/tests/lib_2/mirrors/abstract_test.dart
+++ b/tests/lib_2/mirrors/abstract_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.9
+
 // Test abstract classes are retained.
 
 library test.abstract_test;
diff --git a/tests/lib_2/mirrors/accessor_cache_overflow_test.dart b/tests/lib_2/mirrors/accessor_cache_overflow_test.dart
index 5703ea1..cc3a1b8 100644
--- a/tests/lib_2/mirrors/accessor_cache_overflow_test.dart
+++ b/tests/lib_2/mirrors/accessor_cache_overflow_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.9
+
 // This test runs invokes getField and setField enough times to get cached
 // closures generated and with enough different field names to trip the path
 // that flushes the closure cache.
diff --git a/tests/lib_2/mirrors/apply3_test.dart b/tests/lib_2/mirrors/apply3_test.dart
index d96fa0d..928171d 100644
--- a/tests/lib_2/mirrors/apply3_test.dart
+++ b/tests/lib_2/mirrors/apply3_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.9
+
 // Test [Function.apply] on user-defined classes that implement [noSuchMethod].
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/array_tracing2_test.dart b/tests/lib_2/mirrors/array_tracing2_test.dart
index 39411a1..9afc4cb 100644
--- a/tests/lib_2/mirrors/array_tracing2_test.dart
+++ b/tests/lib_2/mirrors/array_tracing2_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.9
+
 import 'dart:mirrors';
 
 class A {
diff --git a/tests/lib_2/mirrors/array_tracing3_test.dart b/tests/lib_2/mirrors/array_tracing3_test.dart
index 092feac..94ceeb8 100644
--- a/tests/lib_2/mirrors/array_tracing3_test.dart
+++ b/tests/lib_2/mirrors/array_tracing3_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.9
+
 import 'dart:mirrors';
 
 class A {
diff --git a/tests/lib_2/mirrors/array_tracing_test.dart b/tests/lib_2/mirrors/array_tracing_test.dart
index 092feac..94ceeb8 100644
--- a/tests/lib_2/mirrors/array_tracing_test.dart
+++ b/tests/lib_2/mirrors/array_tracing_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.9
+
 import 'dart:mirrors';
 
 class A {
diff --git a/tests/lib_2/mirrors/bad_argument_types_test.dart b/tests/lib_2/mirrors/bad_argument_types_test.dart
index a6d129f..d10b1d3 100644
--- a/tests/lib_2/mirrors/bad_argument_types_test.dart
+++ b/tests/lib_2/mirrors/bad_argument_types_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.9
+
 import 'dart:io';
 import 'dart:mirrors';
 
diff --git a/tests/lib_2/mirrors/basic_types_in_dart_core_test.dart b/tests/lib_2/mirrors/basic_types_in_dart_core_test.dart
index 50e9203..05c41db 100644
--- a/tests/lib_2/mirrors/basic_types_in_dart_core_test.dart
+++ b/tests/lib_2/mirrors/basic_types_in_dart_core_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.9
+
 library test.basic_types_in_dart_core;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/circular_factory_redirection_test.dart b/tests/lib_2/mirrors/circular_factory_redirection_test.dart
index 560ed6e..66474c6 100644
--- a/tests/lib_2/mirrors/circular_factory_redirection_test.dart
+++ b/tests/lib_2/mirrors/circular_factory_redirection_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.9
+
 import "dart:mirrors";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/mirrors/class_declarations_test.dart b/tests/lib_2/mirrors/class_declarations_test.dart
index f0a121c..fc43a76 100644
--- a/tests/lib_2/mirrors/class_declarations_test.dart
+++ b/tests/lib_2/mirrors/class_declarations_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.9
+
 library test.declarations_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/class_mirror_location_other.dart b/tests/lib_2/mirrors/class_mirror_location_other.dart
index eb94d21..4544b56 100644
--- a/tests/lib_2/mirrors/class_mirror_location_other.dart
+++ b/tests/lib_2/mirrors/class_mirror_location_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of test.class_location;
 
 class ClassInOtherFile {}
diff --git a/tests/lib_2/mirrors/class_mirror_location_test.dart b/tests/lib_2/mirrors/class_mirror_location_test.dart
index 3132b0d..0546c4c 100644
--- a/tests/lib_2/mirrors/class_mirror_location_test.dart
+++ b/tests/lib_2/mirrors/class_mirror_location_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2015, 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.9
 library test.class_location;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/class_mirror_type_variables_data.dart b/tests/lib_2/mirrors/class_mirror_type_variables_data.dart
index 0090241..8607d13 100644
--- a/tests/lib_2/mirrors/class_mirror_type_variables_data.dart
+++ b/tests/lib_2/mirrors/class_mirror_type_variables_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.9
+
 library class_mirror_type_variables_data;
 
 class NoTypeParams {}
diff --git a/tests/lib_2/mirrors/class_mirror_type_variables_expect.dart b/tests/lib_2/mirrors/class_mirror_type_variables_expect.dart
index 847bd7f..cf30d1c 100644
--- a/tests/lib_2/mirrors/class_mirror_type_variables_expect.dart
+++ b/tests/lib_2/mirrors/class_mirror_type_variables_expect.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Test expectations for 'class_mirror_type_variables_data.dart'.
 
 library class_mirror_type_variables_expect;
diff --git a/tests/lib_2/mirrors/class_mirror_type_variables_test.dart b/tests/lib_2/mirrors/class_mirror_type_variables_test.dart
index 8918de7..857e8c5 100644
--- a/tests/lib_2/mirrors/class_mirror_type_variables_test.dart
+++ b/tests/lib_2/mirrors/class_mirror_type_variables_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.9
+
 import "dart:mirrors";
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/closure_mirror_import1.dart b/tests/lib_2/mirrors/closure_mirror_import1.dart
index c0e41da..74fe2cc 100644
--- a/tests/lib_2/mirrors/closure_mirror_import1.dart
+++ b/tests/lib_2/mirrors/closure_mirror_import1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library closure_mirror_import1;
 
 export "closure_mirror_import2.dart" show firstGlobalVariableInImport2;
diff --git a/tests/lib_2/mirrors/closure_mirror_import2.dart b/tests/lib_2/mirrors/closure_mirror_import2.dart
index 9d09d36..ef320e2 100644
--- a/tests/lib_2/mirrors/closure_mirror_import2.dart
+++ b/tests/lib_2/mirrors/closure_mirror_import2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library closure_mirror_import2;
 
 var firstGlobalVariableInImport2 = "firstGlobalVariableInImport2";
diff --git a/tests/lib_2/mirrors/closures_test.dart b/tests/lib_2/mirrors/closures_test.dart
index a1e2e93..5e7a4eb 100644
--- a/tests/lib_2/mirrors/closures_test.dart
+++ b/tests/lib_2/mirrors/closures_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 import 'stringify.dart';
diff --git a/tests/lib_2/mirrors/closurization_equivalence_test.dart b/tests/lib_2/mirrors/closurization_equivalence_test.dart
index e1cdbed..cd2c3ed 100644
--- a/tests/lib_2/mirrors/closurization_equivalence_test.dart
+++ b/tests/lib_2/mirrors/closurization_equivalence_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/const_evaluation_test.dart b/tests/lib_2/mirrors/const_evaluation_test.dart
index be27133..ce9b922 100644
--- a/tests/lib_2/mirrors/const_evaluation_test.dart
+++ b/tests/lib_2/mirrors/const_evaluation_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.9
+
 // Check that compile-time evaluation of constants is consistent with runtime
 // evaluation.
 
diff --git a/tests/lib_2/mirrors/constructor_kinds_test.dart b/tests/lib_2/mirrors/constructor_kinds_test.dart
index 185e7d0..8961ed0 100644
--- a/tests/lib_2/mirrors/constructor_kinds_test.dart
+++ b/tests/lib_2/mirrors/constructor_kinds_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.9
+
 library test.constructor_kinds_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/constructor_optional_args_test.dart b/tests/lib_2/mirrors/constructor_optional_args_test.dart
index 5592fd2..090451b 100644
--- a/tests/lib_2/mirrors/constructor_optional_args_test.dart
+++ b/tests/lib_2/mirrors/constructor_optional_args_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.9
+
 library test.constructor_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/constructor_private_name_test.dart b/tests/lib_2/mirrors/constructor_private_name_test.dart
index c0db651..4bf909e 100644
--- a/tests/lib_2/mirrors/constructor_private_name_test.dart
+++ b/tests/lib_2/mirrors/constructor_private_name_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.9
+
 library test.constructors_test;
 
 // Regression test for C1 bug.
diff --git a/tests/lib_2/mirrors/constructors_test.dart b/tests/lib_2/mirrors/constructors_test.dart
index 3d82198..8f53211 100644
--- a/tests/lib_2/mirrors/constructors_test.dart
+++ b/tests/lib_2/mirrors/constructors_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.9
+
 library test.constructors_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/dart2js_mirrors_test.dart b/tests/lib_2/mirrors/dart2js_mirrors_test.dart
index 65c32e3..f149600 100644
--- a/tests/lib_2/mirrors/dart2js_mirrors_test.dart
+++ b/tests/lib_2/mirrors/dart2js_mirrors_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.9
+
 // This test should be removed when dart2js can pass all mirror tests.
 // TODO(ahe): Remove this test.
 
diff --git a/tests/lib_2/mirrors/declarations_model.dart b/tests/lib_2/mirrors/declarations_model.dart
index f25523f..f6a7893 100644
--- a/tests/lib_2/mirrors/declarations_model.dart
+++ b/tests/lib_2/mirrors/declarations_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.9
+
 library test.declarations_model;
 
 var libraryVariable;
diff --git a/tests/lib_2/mirrors/declarations_model_easier.dart b/tests/lib_2/mirrors/declarations_model_easier.dart
index 665b691..26da5b8 100644
--- a/tests/lib_2/mirrors/declarations_model_easier.dart
+++ b/tests/lib_2/mirrors/declarations_model_easier.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library test.declarations_model;
 
 var libraryVariable;
diff --git a/tests/lib_2/mirrors/declarations_type_test.dart b/tests/lib_2/mirrors/declarations_type_test.dart
index 836ce85..829a8f2 100644
--- a/tests/lib_2/mirrors/declarations_type_test.dart
+++ b/tests/lib_2/mirrors/declarations_type_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.9
+
 // Regression test for Issue 14972.
 
 library test.declarations_type;
diff --git a/tests/lib_2/mirrors/deferred_constraints_constants_lib.dart b/tests/lib_2/mirrors/deferred_constraints_constants_lib.dart
index cdeec47..0217e02 100644
--- a/tests/lib_2/mirrors/deferred_constraints_constants_lib.dart
+++ b/tests/lib_2/mirrors/deferred_constraints_constants_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class C {
   static int staticMethod() => 42;
 }
diff --git a/tests/lib_2/mirrors/deferred_constraints_constants_test.dart b/tests/lib_2/mirrors/deferred_constraints_constants_test.dart
index 053bb81..d7a2587 100644
--- a/tests/lib_2/mirrors/deferred_constraints_constants_test.dart
+++ b/tests/lib_2/mirrors/deferred_constraints_constants_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.9
+
 import 'package:expect/expect.dart';
 import 'package:async_helper/async_helper.dart';
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/deferred_mirrors_metadata_lib.dart b/tests/lib_2/mirrors/deferred_mirrors_metadata_lib.dart
index 80b43b9..c4f8d0d 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_metadata_lib.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_metadata_lib.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library lib;
 
 import "deferred_mirrors_metadata_test.dart";
diff --git a/tests/lib_2/mirrors/deferred_mirrors_metadata_test.dart b/tests/lib_2/mirrors/deferred_mirrors_metadata_test.dart
index 02b007d..597dd4e 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_metadata_test.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_metadata_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.9
+
 @A(const B())
 library main;
 
diff --git a/tests/lib_2/mirrors/deferred_mirrors_metatarget_lib.dart b/tests/lib_2/mirrors/deferred_mirrors_metatarget_lib.dart
index e48c4cc..cf0a6dd 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_metatarget_lib.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_metatarget_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/deferred_mirrors_metatarget_test.dart b/tests/lib_2/mirrors/deferred_mirrors_metatarget_test.dart
index f0091c8..b78c251 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_metatarget_test.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_metatarget_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.9
+
 /// Test that metaTargets can be reached via the mirrorSystem.
 
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/lib_2/mirrors/deferred_mirrors_update_lib.dart b/tests/lib_2/mirrors/deferred_mirrors_update_lib.dart
index 02b1f3b..30718d2 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_update_lib.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_update_lib.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/deferred_mirrors_update_test.dart b/tests/lib_2/mirrors/deferred_mirrors_update_test.dart
index bf1fbbc..16af236 100644
--- a/tests/lib_2/mirrors/deferred_mirrors_update_test.dart
+++ b/tests/lib_2/mirrors/deferred_mirrors_update_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 library main;
 
 // Test that the library-mirrors are updated after loading a deferred library.
diff --git a/tests/lib_2/mirrors/deferred_type_other.dart b/tests/lib_2/mirrors/deferred_type_other.dart
index 58e7417..19b5ef7 100644
--- a/tests/lib_2/mirrors/deferred_type_other.dart
+++ b/tests/lib_2/mirrors/deferred_type_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library deferred_type_other;
 
 class DeferredType {}
diff --git a/tests/lib_2/mirrors/deferred_type_test.dart b/tests/lib_2/mirrors/deferred_type_test.dart
index 338680d..806af88 100644
--- a/tests/lib_2/mirrors/deferred_type_test.dart
+++ b/tests/lib_2/mirrors/deferred_type_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.9
+
 library deferred_type;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/delegate_call_through_getter_test.dart b/tests/lib_2/mirrors/delegate_call_through_getter_test.dart
index 85040ae..1205557 100644
--- a/tests/lib_2/mirrors/delegate_call_through_getter_test.dart
+++ b/tests/lib_2/mirrors/delegate_call_through_getter_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.9
+
 library test.invoke_call_through_getter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/delegate_class_test.dart b/tests/lib_2/mirrors/delegate_class_test.dart
index 83ee8f0..52c62ea 100644
--- a/tests/lib_2/mirrors/delegate_class_test.dart
+++ b/tests/lib_2/mirrors/delegate_class_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.9
+
 library test.delegate_class;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/delegate_function_invocation_test.dart b/tests/lib_2/mirrors/delegate_function_invocation_test.dart
index 5fe88f4..e77b608 100644
--- a/tests/lib_2/mirrors/delegate_function_invocation_test.dart
+++ b/tests/lib_2/mirrors/delegate_function_invocation_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.9
+
 library test.delgate_function_invocation;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/delegate_library_test.dart b/tests/lib_2/mirrors/delegate_library_test.dart
index a4cf432..ebbf7eb 100644
--- a/tests/lib_2/mirrors/delegate_library_test.dart
+++ b/tests/lib_2/mirrors/delegate_library_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.9
+
 library test.delegate_library;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/delegate_test.dart b/tests/lib_2/mirrors/delegate_test.dart
index 4c63f28..131acda 100644
--- a/tests/lib_2/mirrors/delegate_test.dart
+++ b/tests/lib_2/mirrors/delegate_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.9
+
 library test.invoke_named_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/disable_tree_shaking_test.dart b/tests/lib_2/mirrors/disable_tree_shaking_test.dart
index b34f352..e4abdbb 100644
--- a/tests/lib_2/mirrors/disable_tree_shaking_test.dart
+++ b/tests/lib_2/mirrors/disable_tree_shaking_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.9
+
 // Ensure that reflection works on methods that would otherwise be
 // tree-shaken away.
 
diff --git a/tests/lib_2/mirrors/dynamic_load_error.dart b/tests/lib_2/mirrors/dynamic_load_error.dart
index f75aaf9..dd88c1c 100644
--- a/tests/lib_2/mirrors/dynamic_load_error.dart
+++ b/tests/lib_2/mirrors/dynamic_load_error.dart
@@ -2,5 +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.9
+
 // A top-level parse error:
 import import import import
diff --git a/tests/lib_2/mirrors/dynamic_load_success.dart b/tests/lib_2/mirrors/dynamic_load_success.dart
index 1645a92..ec6693b 100644
--- a/tests/lib_2/mirrors/dynamic_load_success.dart
+++ b/tests/lib_2/mirrors/dynamic_load_success.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library dynamic_load_success;
 
 int _counter = 0;
diff --git a/tests/lib_2/mirrors/dynamic_load_test.dart b/tests/lib_2/mirrors/dynamic_load_test.dart
index dddb1ac..5b7d9f0 100644
--- a/tests/lib_2/mirrors/dynamic_load_test.dart
+++ b/tests/lib_2/mirrors/dynamic_load_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.9
+
 import 'dart:async';
 import 'dart:mirrors';
 
diff --git a/tests/lib_2/mirrors/empty.dart b/tests/lib_2/mirrors/empty.dart
index e2f6f5e9..dd5a50c 100644
--- a/tests/lib_2/mirrors/empty.dart
+++ b/tests/lib_2/mirrors/empty.dart
@@ -2,5 +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.9
+
 // This library has no functions.
 library empty;
diff --git a/tests/lib_2/mirrors/empty_test.dart b/tests/lib_2/mirrors/empty_test.dart
index 9e77634..7d562b4 100644
--- a/tests/lib_2/mirrors/empty_test.dart
+++ b/tests/lib_2/mirrors/empty_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.9
+
 import 'dart:mirrors';
 import 'empty.dart';
 
diff --git a/tests/lib_2/mirrors/enum_mirror_test.dart b/tests/lib_2/mirrors/enum_mirror_test.dart
index 00de84b..f0c9fd2 100644
--- a/tests/lib_2/mirrors/enum_mirror_test.dart
+++ b/tests/lib_2/mirrors/enum_mirror_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/enum_test.dart b/tests/lib_2/mirrors/enum_test.dart
index 318bfe6..a807b92 100644
--- a/tests/lib_2/mirrors/enum_test.dart
+++ b/tests/lib_2/mirrors/enum_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.9
+
 library test.enums;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/equality_test.dart b/tests/lib_2/mirrors/equality_test.dart
index 0fa6fb4..67b0a90 100644
--- a/tests/lib_2/mirrors/equality_test.dart
+++ b/tests/lib_2/mirrors/equality_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.9
+
 // This tests uses the multi-test "ok" feature:
 // none: Trimmed behaviour. Passing on the VM.
 // 01: Trimmed version for dart2js.
diff --git a/tests/lib_2/mirrors/fake_function_with_call_test.dart b/tests/lib_2/mirrors/fake_function_with_call_test.dart
index 43522bc..ffa1096 100644
--- a/tests/lib_2/mirrors/fake_function_with_call_test.dart
+++ b/tests/lib_2/mirrors/fake_function_with_call_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.9
+
 import "dart:mirrors";
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/fake_function_without_call_test.dart b/tests/lib_2/mirrors/fake_function_without_call_test.dart
index 3d80c03..9fbeef5 100644
--- a/tests/lib_2/mirrors/fake_function_without_call_test.dart
+++ b/tests/lib_2/mirrors/fake_function_without_call_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.9
+
 import "dart:mirrors";
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/field_metadata_test.dart b/tests/lib_2/mirrors/field_metadata_test.dart
index 3abc991..c3e2ade 100644
--- a/tests/lib_2/mirrors/field_metadata_test.dart
+++ b/tests/lib_2/mirrors/field_metadata_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/field_type_test.dart b/tests/lib_2/mirrors/field_type_test.dart
index 9b2356b..a5b846e 100644
--- a/tests/lib_2/mirrors/field_type_test.dart
+++ b/tests/lib_2/mirrors/field_type_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.9
+
 library field_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/function_apply_mirrors_lib.dart b/tests/lib_2/mirrors/function_apply_mirrors_lib.dart
index 3c4c510..356f698 100644
--- a/tests/lib_2/mirrors/function_apply_mirrors_lib.dart
+++ b/tests/lib_2/mirrors/function_apply_mirrors_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library function_apply_mirrors_lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/function_apply_mirrors_test.dart b/tests/lib_2/mirrors/function_apply_mirrors_test.dart
index 81d3b9e..c3aa123 100644
--- a/tests/lib_2/mirrors/function_apply_mirrors_test.dart
+++ b/tests/lib_2/mirrors/function_apply_mirrors_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.9
+
 // Only 'lib' imports mirrors.
 // Function.apply is resolved, before it is known that mirrors are used.
 // Dart2js has different implementations of Function.apply for different
diff --git a/tests/lib_2/mirrors/function_apply_test.dart b/tests/lib_2/mirrors/function_apply_test.dart
index 206d08b..22adc98 100644
--- a/tests/lib_2/mirrors/function_apply_test.dart
+++ b/tests/lib_2/mirrors/function_apply_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.9
+
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/function_type_mirror_test.dart b/tests/lib_2/mirrors/function_type_mirror_test.dart
index 3b2a595..03e5a25 100644
--- a/tests/lib_2/mirrors/function_type_mirror_test.dart
+++ b/tests/lib_2/mirrors/function_type_mirror_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.9
+
 import "dart:mirrors";
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/generic_bounded_by_type_parameter_test.dart b/tests/lib_2/mirrors/generic_bounded_by_type_parameter_test.dart
index 894b464..8edb952 100644
--- a/tests/lib_2/mirrors/generic_bounded_by_type_parameter_test.dart
+++ b/tests/lib_2/mirrors/generic_bounded_by_type_parameter_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.9
+
 library test.generic_bounded_by_type_parameter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_bounded_test.dart b/tests/lib_2/mirrors/generic_bounded_test.dart
index 83d5a81..4e47e13 100644
--- a/tests/lib_2/mirrors/generic_bounded_test.dart
+++ b/tests/lib_2/mirrors/generic_bounded_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.9
+
 library test.generic_bounded;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_class_declaration_test.dart b/tests/lib_2/mirrors/generic_class_declaration_test.dart
index 79ebee1..76b1c19 100644
--- a/tests/lib_2/mirrors/generic_class_declaration_test.dart
+++ b/tests/lib_2/mirrors/generic_class_declaration_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/generic_f_bounded_mixin_application_test.dart b/tests/lib_2/mirrors/generic_f_bounded_mixin_application_test.dart
index 5df9521..2137299 100644
--- a/tests/lib_2/mirrors/generic_f_bounded_mixin_application_test.dart
+++ b/tests/lib_2/mirrors/generic_f_bounded_mixin_application_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.9
+
 library test.generic_f_bounded;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_f_bounded_test.dart b/tests/lib_2/mirrors/generic_f_bounded_test.dart
index 1ddf7e4..ff86355 100644
--- a/tests/lib_2/mirrors/generic_f_bounded_test.dart
+++ b/tests/lib_2/mirrors/generic_f_bounded_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.9
+
 library test.generic_f_bounded;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_function_typedef_test.dart b/tests/lib_2/mirrors/generic_function_typedef_test.dart
index 6b0d44b..0331bd6 100644
--- a/tests/lib_2/mirrors/generic_function_typedef_test.dart
+++ b/tests/lib_2/mirrors/generic_function_typedef_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.9
+
 library test.generic_function_typedef;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_interface_test.dart b/tests/lib_2/mirrors/generic_interface_test.dart
index 8b38a3b..a9ad011 100644
--- a/tests/lib_2/mirrors/generic_interface_test.dart
+++ b/tests/lib_2/mirrors/generic_interface_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.9
+
 library test.generic_bounded;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_list_test.dart b/tests/lib_2/mirrors/generic_list_test.dart
index 79d5e94..8b91a6a 100644
--- a/tests/lib_2/mirrors/generic_list_test.dart
+++ b/tests/lib_2/mirrors/generic_list_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.9
+
 library test.superclass;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_local_function_test.dart b/tests/lib_2/mirrors/generic_local_function_test.dart
index bc56f29..baf05da 100644
--- a/tests/lib_2/mirrors/generic_local_function_test.dart
+++ b/tests/lib_2/mirrors/generic_local_function_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.9
+
 library test.generic_function_typedef;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_method_test.dart b/tests/lib_2/mirrors/generic_method_test.dart
index fb82bbf..3803a68 100644
--- a/tests/lib_2/mirrors/generic_method_test.dart
+++ b/tests/lib_2/mirrors/generic_method_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/generic_mixin_applications_test.dart b/tests/lib_2/mirrors/generic_mixin_applications_test.dart
index 8a9fec7..1bde0fa 100644
--- a/tests/lib_2/mirrors/generic_mixin_applications_test.dart
+++ b/tests/lib_2/mirrors/generic_mixin_applications_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.9
+
 library test.generic_mixin_applications;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_mixin_test.dart b/tests/lib_2/mirrors/generic_mixin_test.dart
index 480b110..7ea8b4e 100644
--- a/tests/lib_2/mirrors/generic_mixin_test.dart
+++ b/tests/lib_2/mirrors/generic_mixin_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.9
+
 library test.generic_mixin;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generic_superclass_test.dart b/tests/lib_2/mirrors/generic_superclass_test.dart
index 9c4ea67..140a9ef 100644
--- a/tests/lib_2/mirrors/generic_superclass_test.dart
+++ b/tests/lib_2/mirrors/generic_superclass_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.9
+
 import 'package:expect/expect.dart';
 import 'dart:mirrors';
 
diff --git a/tests/lib_2/mirrors/generic_type_mirror_test.dart b/tests/lib_2/mirrors/generic_type_mirror_test.dart
index 97603d5..bddc01a 100644
--- a/tests/lib_2/mirrors/generic_type_mirror_test.dart
+++ b/tests/lib_2/mirrors/generic_type_mirror_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.9
+
 import "dart:mirrors";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/mirrors/generics_double_substitution_test.dart b/tests/lib_2/mirrors/generics_double_substitution_test.dart
index a44fb3a..d5b922f 100644
--- a/tests/lib_2/mirrors/generics_double_substitution_test.dart
+++ b/tests/lib_2/mirrors/generics_double_substitution_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.9
+
 library test.generics_double_substitution;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generics_dynamic_test.dart b/tests/lib_2/mirrors/generics_dynamic_test.dart
index 40c82d6..0542c08 100644
--- a/tests/lib_2/mirrors/generics_dynamic_test.dart
+++ b/tests/lib_2/mirrors/generics_dynamic_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/generics_helper.dart b/tests/lib_2/mirrors/generics_helper.dart
index da10962..7d7fe5c 100644
--- a/tests/lib_2/mirrors/generics_helper.dart
+++ b/tests/lib_2/mirrors/generics_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.9
+
 library generics_helper;
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/generics_special_types_test.dart b/tests/lib_2/mirrors/generics_special_types_test.dart
index 49f72ec..c73434c 100644
--- a/tests/lib_2/mirrors/generics_special_types_test.dart
+++ b/tests/lib_2/mirrors/generics_special_types_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.9
+
 library test.generics_special_types;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generics_substitution_test.dart b/tests/lib_2/mirrors/generics_substitution_test.dart
index b078c1a..8c89b03 100644
--- a/tests/lib_2/mirrors/generics_substitution_test.dart
+++ b/tests/lib_2/mirrors/generics_substitution_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.9
+
 library test.generics_substitution;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/generics_test.dart b/tests/lib_2/mirrors/generics_test.dart
index ce9d8f0..c0ec7fa 100644
--- a/tests/lib_2/mirrors/generics_test.dart
+++ b/tests/lib_2/mirrors/generics_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.9
+
 library test.type_arguments_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/get_field_cache_test.dart b/tests/lib_2/mirrors/get_field_cache_test.dart
index 60c57f5..bfd902a 100644
--- a/tests/lib_2/mirrors/get_field_cache_test.dart
+++ b/tests/lib_2/mirrors/get_field_cache_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/get_field_static_test.dart b/tests/lib_2/mirrors/get_field_static_test.dart
index 60edc92..5401117 100644
--- a/tests/lib_2/mirrors/get_field_static_test.dart
+++ b/tests/lib_2/mirrors/get_field_static_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/get_field_test.dart b/tests/lib_2/mirrors/get_field_test.dart
index d2a2d1c..5118a9a 100644
--- a/tests/lib_2/mirrors/get_field_test.dart
+++ b/tests/lib_2/mirrors/get_field_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/get_symbol_name_no_such_method_test.dart b/tests/lib_2/mirrors/get_symbol_name_no_such_method_test.dart
index 854dc58..b97647d 100644
--- a/tests/lib_2/mirrors/get_symbol_name_no_such_method_test.dart
+++ b/tests/lib_2/mirrors/get_symbol_name_no_such_method_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.9
+
 /// Test that MirrorSystem.getName works correctly on symbols returned from
 /// Invocation.memberName.  This is especially relevant when minifying.
 
diff --git a/tests/lib_2/mirrors/get_symbol_name_test.dart b/tests/lib_2/mirrors/get_symbol_name_test.dart
index 68b3cb1..d271906 100644
--- a/tests/lib_2/mirrors/get_symbol_name_test.dart
+++ b/tests/lib_2/mirrors/get_symbol_name_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.9
+
 import 'dart:mirrors' show MirrorSystem;
 
 expect(expected, actual) {
diff --git a/tests/lib_2/mirrors/globalized_closures2_test.dart b/tests/lib_2/mirrors/globalized_closures2_test.dart
index d4927c9..3240c04 100644
--- a/tests/lib_2/mirrors/globalized_closures2_test.dart
+++ b/tests/lib_2/mirrors/globalized_closures2_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.9
+
 // Dart2js crashed on this example. It globalized both closures and created
 // top-level classes for closures (here the globalized_closure{2}). There was a
 // name-clash (both being named "main_closure") which led to a crash.
diff --git a/tests/lib_2/mirrors/globalized_closures_test.dart b/tests/lib_2/mirrors/globalized_closures_test.dart
index 93b0bf0..1b348d65 100644
--- a/tests/lib_2/mirrors/globalized_closures_test.dart
+++ b/tests/lib_2/mirrors/globalized_closures_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.9
+
 // Dart2js crashed on this example. It globalized closures and created
 // top-level classes for closures (here the globalized_closure). There was a
 // name-clash with the global "main_closure" class which led to a crash.
diff --git a/tests/lib_2/mirrors/hierarchy_invariants_test.dart b/tests/lib_2/mirrors/hierarchy_invariants_test.dart
index 2ff3dc8..4dcf869 100644
--- a/tests/lib_2/mirrors/hierarchy_invariants_test.dart
+++ b/tests/lib_2/mirrors/hierarchy_invariants_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.9
+
 library test.hierarchy_invariants_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/hot_get_field_test.dart b/tests/lib_2/mirrors/hot_get_field_test.dart
index 65cf281..719832b 100644
--- a/tests/lib_2/mirrors/hot_get_field_test.dart
+++ b/tests/lib_2/mirrors/hot_get_field_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.9
+
 library test.hot_get_field;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/hot_set_field_test.dart b/tests/lib_2/mirrors/hot_set_field_test.dart
index cd084d3..2182eb6 100644
--- a/tests/lib_2/mirrors/hot_set_field_test.dart
+++ b/tests/lib_2/mirrors/hot_set_field_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.9
+
 library test.hot_set_field;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/immutable_collections_test.dart b/tests/lib_2/mirrors/immutable_collections_test.dart
index ed2f3af..614b3d9 100644
--- a/tests/lib_2/mirrors/immutable_collections_test.dart
+++ b/tests/lib_2/mirrors/immutable_collections_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.9
+
 library test.immutable_collections;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/inference_and_no_such_method_test.dart b/tests/lib_2/mirrors/inference_and_no_such_method_test.dart
index 79dd635..8a0e832 100644
--- a/tests/lib_2/mirrors/inference_and_no_such_method_test.dart
+++ b/tests/lib_2/mirrors/inference_and_no_such_method_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.9
+
 // Regression test for dart2js that did type inferencing on parameters
 // whose type may change at runtime due to an invocation through
 // [InstanceMirror.delegate].
diff --git a/tests/lib_2/mirrors/inherit_field_test.dart b/tests/lib_2/mirrors/inherit_field_test.dart
index d8590ed..0650120 100644
--- a/tests/lib_2/mirrors/inherit_field_test.dart
+++ b/tests/lib_2/mirrors/inherit_field_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.9
+
 // Test inherited fields.
 
 library test.inherit_field_test;
diff --git a/tests/lib_2/mirrors/inherited_metadata_test.dart b/tests/lib_2/mirrors/inherited_metadata_test.dart
index 87a2b42..3cb4721 100644
--- a/tests/lib_2/mirrors/inherited_metadata_test.dart
+++ b/tests/lib_2/mirrors/inherited_metadata_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.9
+
 library test.mirrors;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/initializing_formals_test.dart b/tests/lib_2/mirrors/initializing_formals_test.dart
index 8cc4af1..60901a4 100644
--- a/tests/lib_2/mirrors/initializing_formals_test.dart
+++ b/tests/lib_2/mirrors/initializing_formals_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.9
+
 library test.initializing_formals;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/instance_creation_in_function_annotation_test.dart b/tests/lib_2/mirrors/instance_creation_in_function_annotation_test.dart
index bfdd69c..8765822 100644
--- a/tests/lib_2/mirrors/instance_creation_in_function_annotation_test.dart
+++ b/tests/lib_2/mirrors/instance_creation_in_function_annotation_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.9
+
 // Verify that instance creation expressions inside function
 // annotations are properly handled.  See dartbug.com/23354
 
diff --git a/tests/lib_2/mirrors/instance_members_easier_test.dart b/tests/lib_2/mirrors/instance_members_easier_test.dart
index a017ac0..825f21c 100644
--- a/tests/lib_2/mirrors/instance_members_easier_test.dart
+++ b/tests/lib_2/mirrors/instance_members_easier_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.9
+
 library test.instance_members;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/instance_members_test.dart b/tests/lib_2/mirrors/instance_members_test.dart
index 203c665..f8fcf0e 100644
--- a/tests/lib_2/mirrors/instance_members_test.dart
+++ b/tests/lib_2/mirrors/instance_members_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.9
+
 library test.instance_members;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/instance_members_unimplemented_interface_test.dart b/tests/lib_2/mirrors/instance_members_unimplemented_interface_test.dart
index 5c26410..7178b7e 100644
--- a/tests/lib_2/mirrors/instance_members_unimplemented_interface_test.dart
+++ b/tests/lib_2/mirrors/instance_members_unimplemented_interface_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.9
+
 library test.instance_members_unimplemented_interface;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/instance_members_with_override_test.dart b/tests/lib_2/mirrors/instance_members_with_override_test.dart
index 1dce0c6..989b007 100644
--- a/tests/lib_2/mirrors/instance_members_with_override_test.dart
+++ b/tests/lib_2/mirrors/instance_members_with_override_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.9
+
 library test.instance_members_with_override;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/instantiate_abstract_class_test.dart b/tests/lib_2/mirrors/instantiate_abstract_class_test.dart
index 057b40b..803a10a 100644
--- a/tests/lib_2/mirrors/instantiate_abstract_class_test.dart
+++ b/tests/lib_2/mirrors/instantiate_abstract_class_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.9
+
 library test.instantiate_abstract_class;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/intercepted_cache_test.dart b/tests/lib_2/mirrors/intercepted_cache_test.dart
index b38881c..26fe575 100644
--- a/tests/lib_2/mirrors/intercepted_cache_test.dart
+++ b/tests/lib_2/mirrors/intercepted_cache_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.9
+
 // This is a test for a problem in how dart2js cached InstanceMirror.invoke,
 // etc. The test is using getField, as invoke, setField, and getField all share
 // the same caching.
diff --git a/tests/lib_2/mirrors/intercepted_class_test.dart b/tests/lib_2/mirrors/intercepted_class_test.dart
index 57a7737..4c3a490 100644
--- a/tests/lib_2/mirrors/intercepted_class_test.dart
+++ b/tests/lib_2/mirrors/intercepted_class_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.9
+
 // Ensure that classes handled specially by dart2js can be reflected on.
 
 library test.intercepted_class_test;
diff --git a/tests/lib_2/mirrors/intercepted_object_test.dart b/tests/lib_2/mirrors/intercepted_object_test.dart
index ccbffa5..b43813e 100644
--- a/tests/lib_2/mirrors/intercepted_object_test.dart
+++ b/tests/lib_2/mirrors/intercepted_object_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.9
+
 // Ensure that objects handled specially by dart2js can be reflected on.
 
 library test.intercepted_object_test;
diff --git a/tests/lib_2/mirrors/intercepted_superclass_test.dart b/tests/lib_2/mirrors/intercepted_superclass_test.dart
index a7f4858..6a01cec 100644
--- a/tests/lib_2/mirrors/intercepted_superclass_test.dart
+++ b/tests/lib_2/mirrors/intercepted_superclass_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.9
+
 library test.intercepted_superclass_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invocation_cache_test.dart b/tests/lib_2/mirrors/invocation_cache_test.dart
index f8ec29c..d016222 100644
--- a/tests/lib_2/mirrors/invocation_cache_test.dart
+++ b/tests/lib_2/mirrors/invocation_cache_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/invocation_fuzz_test.dart b/tests/lib_2/mirrors/invocation_fuzz_test.dart
index 5a5cdf2..6323806 100644
--- a/tests/lib_2/mirrors/invocation_fuzz_test.dart
+++ b/tests/lib_2/mirrors/invocation_fuzz_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.9
+
 // This test reflectively enumerates all the methods in the system and tries to
 // invoke them with various basic values (nulls, ints, etc). This may result in
 // Dart exceptions or hangs, but should never result in crashes or JavaScript
diff --git a/tests/lib_2/mirrors/invocation_mirror_invoke_on2_test.dart b/tests/lib_2/mirrors/invocation_mirror_invoke_on2_test.dart
index a7a6d75..6bb0365 100644
--- a/tests/lib_2/mirrors/invocation_mirror_invoke_on2_test.dart
+++ b/tests/lib_2/mirrors/invocation_mirror_invoke_on2_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.9
+
 import "dart:mirrors" show reflect;
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/mirrors/invocation_mirror_invoke_on_test.dart b/tests/lib_2/mirrors/invocation_mirror_invoke_on_test.dart
index c1151a3..0e12144 100644
--- a/tests/lib_2/mirrors/invocation_mirror_invoke_on_test.dart
+++ b/tests/lib_2/mirrors/invocation_mirror_invoke_on_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.9
+
 import "dart:mirrors" show reflect;
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/mirrors/invoke_call_on_closure_test.dart b/tests/lib_2/mirrors/invoke_call_on_closure_test.dart
index bb08c37..2d0d595 100644
--- a/tests/lib_2/mirrors/invoke_call_on_closure_test.dart
+++ b/tests/lib_2/mirrors/invoke_call_on_closure_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.9
+
 library test.invoke_call_on_closure;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_call_through_getter_previously_accessed_test.dart b/tests/lib_2/mirrors/invoke_call_through_getter_previously_accessed_test.dart
index f1bbc5b..04f8ad4 100644
--- a/tests/lib_2/mirrors/invoke_call_through_getter_previously_accessed_test.dart
+++ b/tests/lib_2/mirrors/invoke_call_through_getter_previously_accessed_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.9
+
 library test.invoke_call_through_getter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_call_through_getter_test.dart b/tests/lib_2/mirrors/invoke_call_through_getter_test.dart
index 57ff6dd..993f43a 100644
--- a/tests/lib_2/mirrors/invoke_call_through_getter_test.dart
+++ b/tests/lib_2/mirrors/invoke_call_through_getter_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.9
+
 library test.invoke_call_through_getter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_call_through_implicit_getter_previously_accessed_test.dart b/tests/lib_2/mirrors/invoke_call_through_implicit_getter_previously_accessed_test.dart
index 2504ea6..63e95bd 100644
--- a/tests/lib_2/mirrors/invoke_call_through_implicit_getter_previously_accessed_test.dart
+++ b/tests/lib_2/mirrors/invoke_call_through_implicit_getter_previously_accessed_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.9
+
 library test.invoke_call_through_implicit_getter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_call_through_implicit_getter_test.dart b/tests/lib_2/mirrors/invoke_call_through_implicit_getter_test.dart
index fd0b481..1e9baeb 100644
--- a/tests/lib_2/mirrors/invoke_call_through_implicit_getter_test.dart
+++ b/tests/lib_2/mirrors/invoke_call_through_implicit_getter_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.9
+
 library test.invoke_call_through_implicit_getter;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_closurization2_test.dart b/tests/lib_2/mirrors/invoke_closurization2_test.dart
index 28c6f7a..073f331 100644
--- a/tests/lib_2/mirrors/invoke_closurization2_test.dart
+++ b/tests/lib_2/mirrors/invoke_closurization2_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.9
+
 library test.invoke_closurization_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_closurization_test.dart b/tests/lib_2/mirrors/invoke_closurization_test.dart
index aa07913..02bf8e0 100644
--- a/tests/lib_2/mirrors/invoke_closurization_test.dart
+++ b/tests/lib_2/mirrors/invoke_closurization_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.9
+
 library test.invoke_closurization_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_import_test.dart b/tests/lib_2/mirrors/invoke_import_test.dart
index 7b41c55..616e78f 100644
--- a/tests/lib_2/mirrors/invoke_import_test.dart
+++ b/tests/lib_2/mirrors/invoke_import_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.9
+
 library test.invoke_import_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_named_test.dart b/tests/lib_2/mirrors/invoke_named_test.dart
index 04d547b..3592b12 100644
--- a/tests/lib_2/mirrors/invoke_named_test.dart
+++ b/tests/lib_2/mirrors/invoke_named_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.9
+
 library test.invoke_named_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_natives_malicious_test.dart b/tests/lib_2/mirrors/invoke_natives_malicious_test.dart
index 43ccb5d..cb6881e 100644
--- a/tests/lib_2/mirrors/invoke_natives_malicious_test.dart
+++ b/tests/lib_2/mirrors/invoke_natives_malicious_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.9
+
 library test.invoke_natives;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_private_test.dart b/tests/lib_2/mirrors/invoke_private_test.dart
index 753dd9e..e4cec36 100644
--- a/tests/lib_2/mirrors/invoke_private_test.dart
+++ b/tests/lib_2/mirrors/invoke_private_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.9
+
 library test.invoke_private_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_private_wrong_library_test.dart b/tests/lib_2/mirrors/invoke_private_wrong_library_test.dart
index f0ded32..828bbda 100644
--- a/tests/lib_2/mirrors/invoke_private_wrong_library_test.dart
+++ b/tests/lib_2/mirrors/invoke_private_wrong_library_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.9
+
 library test.invoke_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_test.dart b/tests/lib_2/mirrors/invoke_test.dart
index fd5215f..8d187cb 100644
--- a/tests/lib_2/mirrors/invoke_test.dart
+++ b/tests/lib_2/mirrors/invoke_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.9
+
 library test.invoke_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/invoke_throws_test.dart b/tests/lib_2/mirrors/invoke_throws_test.dart
index 59f5b2f..b8d75ac 100644
--- a/tests/lib_2/mirrors/invoke_throws_test.dart
+++ b/tests/lib_2/mirrors/invoke_throws_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.9
+
 library test.invoke_throws_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/io_html_mutual_exclusion_test.dart b/tests/lib_2/mirrors/io_html_mutual_exclusion_test.dart
index 087b8a6..39a48d9 100644
--- a/tests/lib_2/mirrors/io_html_mutual_exclusion_test.dart
+++ b/tests/lib_2/mirrors/io_html_mutual_exclusion_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.9
+
 library test.io_html_mutual_exclusion;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/is_odd_test.dart b/tests/lib_2/mirrors/is_odd_test.dart
index 0dc1655..63fbf1f 100644
--- a/tests/lib_2/mirrors/is_odd_test.dart
+++ b/tests/lib_2/mirrors/is_odd_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.9
+
 /// Test that otherwise unused intercepted methods are reified correctly.  This
 /// was a bug in dart2js.
 library test.is_odd_test;
diff --git a/tests/lib_2/mirrors/issue21079_test.dart b/tests/lib_2/mirrors/issue21079_test.dart
index c376df0..4d48948 100644
--- a/tests/lib_2/mirrors/issue21079_test.dart
+++ b/tests/lib_2/mirrors/issue21079_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.9
+
 // Regression test case for http://dartbug.com/21079
 import 'dart:mirrors';
 import 'dart:isolate';
diff --git a/tests/lib_2/mirrors/lazy_static_test.dart b/tests/lib_2/mirrors/lazy_static_test.dart
index 65ac909..81bd54b 100644
--- a/tests/lib_2/mirrors/lazy_static_test.dart
+++ b/tests/lib_2/mirrors/lazy_static_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.9
+
 // Test static members.
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/libraries_test.dart b/tests/lib_2/mirrors/libraries_test.dart
index 4356656..e7082da 100644
--- a/tests/lib_2/mirrors/libraries_test.dart
+++ b/tests/lib_2/mirrors/libraries_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.9
+
 library test.libraries_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_declarations_test.dart b/tests/lib_2/mirrors/library_declarations_test.dart
index 80cd982..a54a1a3 100644
--- a/tests/lib_2/mirrors/library_declarations_test.dart
+++ b/tests/lib_2/mirrors/library_declarations_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.9
+
 library test.library_declarations_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_enumeration_deferred_loading_test.dart b/tests/lib_2/mirrors/library_enumeration_deferred_loading_test.dart
index 7783b74..d0009b6 100644
--- a/tests/lib_2/mirrors/library_enumeration_deferred_loading_test.dart
+++ b/tests/lib_2/mirrors/library_enumeration_deferred_loading_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.9
+
 library library_enumeration_deferred_loading;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_exports_hidden.dart b/tests/lib_2/mirrors/library_exports_hidden.dart
index c1ea081..192262b 100644
--- a/tests/lib_2/mirrors/library_exports_hidden.dart
+++ b/tests/lib_2/mirrors/library_exports_hidden.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_exports_hidden;
 
 export 'library_imports_a.dart' hide somethingFromA, somethingFromBoth;
diff --git a/tests/lib_2/mirrors/library_exports_hidden_test.dart b/tests/lib_2/mirrors/library_exports_hidden_test.dart
index e69fef4..605960f 100644
--- a/tests/lib_2/mirrors/library_exports_hidden_test.dart
+++ b/tests/lib_2/mirrors/library_exports_hidden_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.9
+
 library test.library_exports_hidden;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_exports_shown.dart b/tests/lib_2/mirrors/library_exports_shown.dart
index 524ab4c..10bb286 100644
--- a/tests/lib_2/mirrors/library_exports_shown.dart
+++ b/tests/lib_2/mirrors/library_exports_shown.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_exports_shown;
 
 export 'library_imports_a.dart' show somethingFromA, somethingFromBoth;
diff --git a/tests/lib_2/mirrors/library_exports_shown_test.dart b/tests/lib_2/mirrors/library_exports_shown_test.dart
index 003de2f..7140743 100644
--- a/tests/lib_2/mirrors/library_exports_shown_test.dart
+++ b/tests/lib_2/mirrors/library_exports_shown_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.9
+
 library test.library_exports_shown;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_import_deferred_loading_test.dart b/tests/lib_2/mirrors/library_import_deferred_loading_test.dart
index 9b22827..cc193cc 100644
--- a/tests/lib_2/mirrors/library_import_deferred_loading_test.dart
+++ b/tests/lib_2/mirrors/library_import_deferred_loading_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.9
+
 library library_loading_deferred_loading;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_a.dart b/tests/lib_2/mirrors/library_imports_a.dart
index afdc329..fe85308 100644
--- a/tests/lib_2/mirrors/library_imports_a.dart
+++ b/tests/lib_2/mirrors/library_imports_a.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_a;
 
 var somethingFromA;
diff --git a/tests/lib_2/mirrors/library_imports_b.dart b/tests/lib_2/mirrors/library_imports_b.dart
index 493f323..df0161f 100644
--- a/tests/lib_2/mirrors/library_imports_b.dart
+++ b/tests/lib_2/mirrors/library_imports_b.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_b;
 
 var somethingFromB;
diff --git a/tests/lib_2/mirrors/library_imports_bad_metadata_test.dart b/tests/lib_2/mirrors/library_imports_bad_metadata_test.dart
index 43d873b..e0925c9 100644
--- a/tests/lib_2/mirrors/library_imports_bad_metadata_test.dart
+++ b/tests/lib_2/mirrors/library_imports_bad_metadata_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.9
+
 library test.library_imports_bad_metadata;
 
 @undefined // //# 01: compile-time error
diff --git a/tests/lib_2/mirrors/library_imports_deferred_test.dart b/tests/lib_2/mirrors/library_imports_deferred_test.dart
index ab2668d..977564f 100644
--- a/tests/lib_2/mirrors/library_imports_deferred_test.dart
+++ b/tests/lib_2/mirrors/library_imports_deferred_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.9
+
 library test.library_imports_deferred;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_hidden.dart b/tests/lib_2/mirrors/library_imports_hidden.dart
index deccc64..e453ea8 100644
--- a/tests/lib_2/mirrors/library_imports_hidden.dart
+++ b/tests/lib_2/mirrors/library_imports_hidden.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_hidden;
 
 import 'library_imports_a.dart' hide somethingFromA, somethingFromBoth;
diff --git a/tests/lib_2/mirrors/library_imports_hidden_test.dart b/tests/lib_2/mirrors/library_imports_hidden_test.dart
index edc19e0..51e5bfd 100644
--- a/tests/lib_2/mirrors/library_imports_hidden_test.dart
+++ b/tests/lib_2/mirrors/library_imports_hidden_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.9
+
 library test.library_imports_hidden;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_metadata.dart b/tests/lib_2/mirrors/library_imports_metadata.dart
index 15e0403..19cea41 100644
--- a/tests/lib_2/mirrors/library_imports_metadata.dart
+++ b/tests/lib_2/mirrors/library_imports_metadata.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_metadata;
 
 @m1
diff --git a/tests/lib_2/mirrors/library_imports_metadata_test.dart b/tests/lib_2/mirrors/library_imports_metadata_test.dart
index ab1c15d..9dda168 100644
--- a/tests/lib_2/mirrors/library_imports_metadata_test.dart
+++ b/tests/lib_2/mirrors/library_imports_metadata_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.9
+
 library test.library_imports;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_prefixed.dart b/tests/lib_2/mirrors/library_imports_prefixed.dart
index ad50f42..7023c6b 100644
--- a/tests/lib_2/mirrors/library_imports_prefixed.dart
+++ b/tests/lib_2/mirrors/library_imports_prefixed.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_prefixed;
 
 import 'library_imports_a.dart' as prefixa;
diff --git a/tests/lib_2/mirrors/library_imports_prefixed_show_hide.dart b/tests/lib_2/mirrors/library_imports_prefixed_show_hide.dart
index ea7c71f..0eb7428 100644
--- a/tests/lib_2/mirrors/library_imports_prefixed_show_hide.dart
+++ b/tests/lib_2/mirrors/library_imports_prefixed_show_hide.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_prefixed_show_hide;
 
 import 'library_imports_a.dart' as prefixa show somethingFromA;
diff --git a/tests/lib_2/mirrors/library_imports_prefixed_show_hide_test.dart b/tests/lib_2/mirrors/library_imports_prefixed_show_hide_test.dart
index a4089c0..bda5f30 100644
--- a/tests/lib_2/mirrors/library_imports_prefixed_show_hide_test.dart
+++ b/tests/lib_2/mirrors/library_imports_prefixed_show_hide_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.9
+
 library test.library_imports_prefixed_show_hide;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_prefixed_test.dart b/tests/lib_2/mirrors/library_imports_prefixed_test.dart
index 7915fae..a9ad0a2 100644
--- a/tests/lib_2/mirrors/library_imports_prefixed_test.dart
+++ b/tests/lib_2/mirrors/library_imports_prefixed_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.9
+
 library test.library_imports_prefixed;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_imports_shown.dart b/tests/lib_2/mirrors/library_imports_shown.dart
index 6790902..8d27e8e 100644
--- a/tests/lib_2/mirrors/library_imports_shown.dart
+++ b/tests/lib_2/mirrors/library_imports_shown.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library library_imports_shown;
 
 import 'library_imports_a.dart' show somethingFromA, somethingFromBoth;
diff --git a/tests/lib_2/mirrors/library_imports_shown_test.dart b/tests/lib_2/mirrors/library_imports_shown_test.dart
index 44086e2..eda6bfd 100644
--- a/tests/lib_2/mirrors/library_imports_shown_test.dart
+++ b/tests/lib_2/mirrors/library_imports_shown_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.9
+
 library test.library_imports_shown;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/library_metadata2_lib1.dart b/tests/lib_2/mirrors/library_metadata2_lib1.dart
index 75149b3..78d4eb3 100644
--- a/tests/lib_2/mirrors/library_metadata2_lib1.dart
+++ b/tests/lib_2/mirrors/library_metadata2_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.9
+
 @MyConst()
 library lib1;
 
diff --git a/tests/lib_2/mirrors/library_metadata2_lib2.dart b/tests/lib_2/mirrors/library_metadata2_lib2.dart
index b8a447f..d8e3f1e 100644
--- a/tests/lib_2/mirrors/library_metadata2_lib2.dart
+++ b/tests/lib_2/mirrors/library_metadata2_lib2.dart
@@ -2,5 +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.9
+
 @MyConst()
 library lib2;
diff --git a/tests/lib_2/mirrors/library_metadata2_test.dart b/tests/lib_2/mirrors/library_metadata2_test.dart
index b6fc2d9..4840caf 100644
--- a/tests/lib_2/mirrors/library_metadata2_test.dart
+++ b/tests/lib_2/mirrors/library_metadata2_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.9
+
 import 'dart:mirrors';
 
 import 'library_metadata2_lib1.dart';
diff --git a/tests/lib_2/mirrors/library_metadata_test.dart b/tests/lib_2/mirrors/library_metadata_test.dart
index 2a85166..b898e24 100644
--- a/tests/lib_2/mirrors/library_metadata_test.dart
+++ b/tests/lib_2/mirrors/library_metadata_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.9
+
 @string
 @symbol
 library test.library_metadata_test;
diff --git a/tests/lib_2/mirrors/library_metatarget_test.dart b/tests/lib_2/mirrors/library_metatarget_test.dart
index 6800bab..683e28a 100644
--- a/tests/lib_2/mirrors/library_metatarget_test.dart
+++ b/tests/lib_2/mirrors/library_metatarget_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.9
+
 // Regression test for the combined use of metatargets and library tags.
 
 library topLib;
diff --git a/tests/lib_2/mirrors/library_metatarget_test_annotations_lib.dart b/tests/lib_2/mirrors/library_metatarget_test_annotations_lib.dart
index 9464fa7..38843bc 100644
--- a/tests/lib_2/mirrors/library_metatarget_test_annotations_lib.dart
+++ b/tests/lib_2/mirrors/library_metatarget_test_annotations_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test for the combined use of metatargets and library tags.
 
 library annotations;
diff --git a/tests/lib_2/mirrors/library_metatarget_test_lib.dart b/tests/lib_2/mirrors/library_metatarget_test_lib.dart
index f8126c1..a5f5291 100644
--- a/tests/lib_2/mirrors/library_metatarget_test_lib.dart
+++ b/tests/lib_2/mirrors/library_metatarget_test_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Regression test for the combined use of metatargets and library tags.
 
 @usedOnlyOnLibrary
diff --git a/tests/lib_2/mirrors/library_uri_io_test.dart b/tests/lib_2/mirrors/library_uri_io_test.dart
index 302e848..029886e 100644
--- a/tests/lib_2/mirrors/library_uri_io_test.dart
+++ b/tests/lib_2/mirrors/library_uri_io_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.9
+
 // Test library uri for a library read as a file.
 
 library MirrorsTest;
diff --git a/tests/lib_2/mirrors/library_uri_package_test.dart b/tests/lib_2/mirrors/library_uri_package_test.dart
index 0116005..38afa90 100644
--- a/tests/lib_2/mirrors/library_uri_package_test.dart
+++ b/tests/lib_2/mirrors/library_uri_package_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.9
+
 // Test library uri for a library read as a package .
 
 library MirrorsTest;
diff --git a/tests/lib_2/mirrors/library_with_annotated_declaration.dart b/tests/lib_2/mirrors/library_with_annotated_declaration.dart
index 07a498b..2742f71 100644
--- a/tests/lib_2/mirrors/library_with_annotated_declaration.dart
+++ b/tests/lib_2/mirrors/library_with_annotated_declaration.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 @metadata
 library library_with_annotated_declaration;
 
diff --git a/tests/lib_2/mirrors/library_without_declaration.dart b/tests/lib_2/mirrors/library_without_declaration.dart
index d9e1fe4..e6f6ee8 100644
--- a/tests/lib_2/mirrors/library_without_declaration.dart
+++ b/tests/lib_2/mirrors/library_without_declaration.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // NO LIBRARY DECLARATION
 
 class ClassInLibraryWithoutDeclaration {}
diff --git a/tests/lib_2/mirrors/list_constructor_test.dart b/tests/lib_2/mirrors/list_constructor_test.dart
index 16f3c45..cb6db8e 100644
--- a/tests/lib_2/mirrors/list_constructor_test.dart
+++ b/tests/lib_2/mirrors/list_constructor_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.9
+
 import "package:expect/expect.dart";
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/load_library_test.dart b/tests/lib_2/mirrors/load_library_test.dart
index a43d3f2..54f4c44 100644
--- a/tests/lib_2/mirrors/load_library_test.dart
+++ b/tests/lib_2/mirrors/load_library_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.9
+
 library load_library;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/local_function_is_static_test.dart b/tests/lib_2/mirrors/local_function_is_static_test.dart
index 131fb75..957979a 100644
--- a/tests/lib_2/mirrors/local_function_is_static_test.dart
+++ b/tests/lib_2/mirrors/local_function_is_static_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.9
+
 library test.local_function_is_static;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/local_isolate_test.dart b/tests/lib_2/mirrors/local_isolate_test.dart
index e619812..1ef2d72 100644
--- a/tests/lib_2/mirrors/local_isolate_test.dart
+++ b/tests/lib_2/mirrors/local_isolate_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.9
+
 // Test the local IsolateMirror.
 
 library test.local_isolate_test;
diff --git a/tests/lib_2/mirrors/metadata_allowed_values_import.dart b/tests/lib_2/mirrors/metadata_allowed_values_import.dart
index 67df4e2..91ef426 100644
--- a/tests/lib_2/mirrors/metadata_allowed_values_import.dart
+++ b/tests/lib_2/mirrors/metadata_allowed_values_import.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class Imported {
   const Imported();
   const Imported.named();
diff --git a/tests/lib_2/mirrors/metadata_allowed_values_test.dart b/tests/lib_2/mirrors/metadata_allowed_values_test.dart
index 3204730..527e8b0 100644
--- a/tests/lib_2/mirrors/metadata_allowed_values_test.dart
+++ b/tests/lib_2/mirrors/metadata_allowed_values_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.9
+
 library test.metadata_allowed_values;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/metadata_class_mirror_test.dart b/tests/lib_2/mirrors/metadata_class_mirror_test.dart
index 9dab024..f716c6e 100644
--- a/tests/lib_2/mirrors/metadata_class_mirror_test.dart
+++ b/tests/lib_2/mirrors/metadata_class_mirror_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.9
+
 // Regression test for http://dartbug.com/19173
 
 library lib;
diff --git a/tests/lib_2/mirrors/metadata_const_map_test.dart b/tests/lib_2/mirrors/metadata_const_map_test.dart
index dcf8376..b595925 100644
--- a/tests/lib_2/mirrors/metadata_const_map_test.dart
+++ b/tests/lib_2/mirrors/metadata_const_map_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.9
+
 // Regression test for issue 20776. Tests that the needed classes for the
 // constant map in the metadata are generated.
 
diff --git a/tests/lib_2/mirrors/metadata_constructed_constant_test.dart b/tests/lib_2/mirrors/metadata_constructed_constant_test.dart
index fc72601..6183fab 100644
--- a/tests/lib_2/mirrors/metadata_constructed_constant_test.dart
+++ b/tests/lib_2/mirrors/metadata_constructed_constant_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.9
+
 library test.metadata_constructed_constant_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/metadata_constructor_arguments_test.dart b/tests/lib_2/mirrors/metadata_constructor_arguments_test.dart
index 361d067..92bb497 100644
--- a/tests/lib_2/mirrors/metadata_constructor_arguments_test.dart
+++ b/tests/lib_2/mirrors/metadata_constructor_arguments_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.9
+
 // Regression test for Issue 13817.
 
 library test.metadata_constructor_arguments;
diff --git a/tests/lib_2/mirrors/metadata_nested_constructor_call_test.dart b/tests/lib_2/mirrors/metadata_nested_constructor_call_test.dart
index bb26dcf..3f82178 100644
--- a/tests/lib_2/mirrors/metadata_nested_constructor_call_test.dart
+++ b/tests/lib_2/mirrors/metadata_nested_constructor_call_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.9
+
 // Regression test for Issue 17141.
 
 library test.metadata_nested_constructor_call;
diff --git a/tests/lib_2/mirrors/metadata_scope_test.dart b/tests/lib_2/mirrors/metadata_scope_test.dart
index 521dee6..0ecaeb1 100644
--- a/tests/lib_2/mirrors/metadata_scope_test.dart
+++ b/tests/lib_2/mirrors/metadata_scope_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.9
+
 library test.metadata_scope;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/metadata_symbol_literal_test.dart b/tests/lib_2/mirrors/metadata_symbol_literal_test.dart
index 129d4cd..7f1b2c1 100644
--- a/tests/lib_2/mirrors/metadata_symbol_literal_test.dart
+++ b/tests/lib_2/mirrors/metadata_symbol_literal_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/metadata_test.dart b/tests/lib_2/mirrors/metadata_test.dart
index d574bc1..2f504dd8 100644
--- a/tests/lib_2/mirrors/metadata_test.dart
+++ b/tests/lib_2/mirrors/metadata_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.9
+
 library test.metadata_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/metadata_type_literal_test.dart b/tests/lib_2/mirrors/metadata_type_literal_test.dart
index 4d567a6..37a8446c 100644
--- a/tests/lib_2/mirrors/metadata_type_literal_test.dart
+++ b/tests/lib_2/mirrors/metadata_type_literal_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/method_mirror_extension_test.dart b/tests/lib_2/mirrors/method_mirror_extension_test.dart
index 2d68474..fcc8b00 100644
--- a/tests/lib_2/mirrors/method_mirror_extension_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_extension_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.
 
-// SharedOptions=--enable-experiment=extension-methods
+// @dart = 2.9
 
 library lib;
 
diff --git a/tests/lib_2/mirrors/method_mirror_location_other.dart b/tests/lib_2/mirrors/method_mirror_location_other.dart
index 1747eb9..c67207c 100644
--- a/tests/lib_2/mirrors/method_mirror_location_other.dart
+++ b/tests/lib_2/mirrors/method_mirror_location_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of test.method_location;
 
 class ClassInOtherFile {
diff --git a/tests/lib_2/mirrors/method_mirror_location_test.dart b/tests/lib_2/mirrors/method_mirror_location_test.dart
index 426d3f2..56e2f4f 100644
--- a/tests/lib_2/mirrors/method_mirror_location_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_location_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.9
+
 library test.method_location;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/method_mirror_name_test.dart b/tests/lib_2/mirrors/method_mirror_name_test.dart
index c428da7..7db957c 100644
--- a/tests/lib_2/mirrors/method_mirror_name_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_name_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.9
+
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/method_mirror_properties_test.dart b/tests/lib_2/mirrors/method_mirror_properties_test.dart
index d2262f1..870a3c2 100644
--- a/tests/lib_2/mirrors/method_mirror_properties_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_properties_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.9
+
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/method_mirror_returntype_test.dart b/tests/lib_2/mirrors/method_mirror_returntype_test.dart
index 83b5f89..0a5f38e 100644
--- a/tests/lib_2/mirrors/method_mirror_returntype_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_returntype_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.9
+
 library lib;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/method_mirror_source_line_ending_cr.dart b/tests/lib_2/mirrors/method_mirror_source_line_ending_cr.dart
index 45533d4..c79ce3b 100755
--- a/tests/lib_2/mirrors/method_mirror_source_line_ending_cr.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_line_ending_cr.dart
Binary files differ
diff --git a/tests/lib_2/mirrors/method_mirror_source_line_ending_crlf.dart b/tests/lib_2/mirrors/method_mirror_source_line_ending_crlf.dart
index d93615c..0190f22 100755
--- a/tests/lib_2/mirrors/method_mirror_source_line_ending_crlf.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_line_ending_crlf.dart
@@ -1,15 +1,17 @@
-// Copyright (c) 2014, 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.

-

-// Note: This test relies on CRLF line endings in the source file.

-

-library line_endings.crlf;

-

-oneLineCRLF(x) => x;

-multiLineCRLF(y) {

-  return y + 1;

-}

-c

-(){

-}

+// Copyright (c) 2014, 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.9
+
+// Note: This test relies on CRLF line endings in the source file.
+
+library line_endings.crlf;
+
+oneLineCRLF(x) => x;
+multiLineCRLF(y) {
+  return y + 1;
+}
+c
+(){
+}
diff --git a/tests/lib_2/mirrors/method_mirror_source_line_ending_lf.dart b/tests/lib_2/mirrors/method_mirror_source_line_ending_lf.dart
index b805a75..a29352a 100755
--- a/tests/lib_2/mirrors/method_mirror_source_line_ending_lf.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_line_ending_lf.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Note: This test relies on LF line endings in the source file.
 
 library line_endings.lf;
diff --git a/tests/lib_2/mirrors/method_mirror_source_line_ending_test.dart b/tests/lib_2/mirrors/method_mirror_source_line_ending_test.dart
index 4e4e8a4..6798c93 100644
--- a/tests/lib_2/mirrors/method_mirror_source_line_ending_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_line_ending_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.9
+
 // Note: These tests rely on specific line endings in the source files.
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/method_mirror_source_other.dart b/tests/lib_2/mirrors/method_mirror_source_other.dart
index 37151b6..8f6cfe0 100644
--- a/tests/lib_2/mirrors/method_mirror_source_other.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_other.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 main() {
   print("Blah");
 }
diff --git a/tests/lib_2/mirrors/method_mirror_source_test.dart b/tests/lib_2/mirrors/method_mirror_source_test.dart
index dbfbf5c..4603d9c 100644
--- a/tests/lib_2/mirrors/method_mirror_source_test.dart
+++ b/tests/lib_2/mirrors/method_mirror_source_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.9
+
 // Note: This test relies on LF line endings in the source file.
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/mirror_in_static_init_test.dart b/tests/lib_2/mirrors/mirror_in_static_init_test.dart
index 4de3ef6..c88515b 100644
--- a/tests/lib_2/mirrors/mirror_in_static_init_test.dart
+++ b/tests/lib_2/mirrors/mirror_in_static_init_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.9
+
 // Error in class finalization triggered via mirror in a static initializer.
 // Simply check that we do not crash.
 // This is a regression test for the VM.
diff --git a/tests/lib_2/mirrors/mirrors_nsm_mismatch_test.dart b/tests/lib_2/mirrors/mirrors_nsm_mismatch_test.dart
index 2a3637b..232c7be 100644
--- a/tests/lib_2/mirrors/mirrors_nsm_mismatch_test.dart
+++ b/tests/lib_2/mirrors/mirrors_nsm_mismatch_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.9
+
 library test.mirrors_nsm_mismatch;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mirrors_nsm_test.dart b/tests/lib_2/mirrors/mirrors_nsm_test.dart
index d7a7729..28979181 100644
--- a/tests/lib_2/mirrors/mirrors_nsm_test.dart
+++ b/tests/lib_2/mirrors/mirrors_nsm_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.9
+
 library MirrorsTest;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mirrors_reader.dart b/tests/lib_2/mirrors/mirrors_reader.dart
index b8a5faa..4ede2a7 100644
--- a/tests/lib_2/mirrors/mirrors_reader.dart
+++ b/tests/lib_2/mirrors/mirrors_reader.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICESNE file.
 
+// @dart = 2.9
+
 library mirrors.reader;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mirrors_reader_test.dart b/tests/lib_2/mirrors/mirrors_reader_test.dart
index 81154d6..ec6cbf6 100644
--- a/tests/lib_2/mirrors/mirrors_reader_test.dart
+++ b/tests/lib_2/mirrors/mirrors_reader_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.9
+
 // Test that everything reachable from a [MirrorSystem] can be accessed.
 
 library test.mirrors.reader;
diff --git a/tests/lib_2/mirrors/mirrors_resolve_fields_test.dart b/tests/lib_2/mirrors/mirrors_resolve_fields_test.dart
index b914dda..ab7f95b 100644
--- a/tests/lib_2/mirrors/mirrors_resolve_fields_test.dart
+++ b/tests/lib_2/mirrors/mirrors_resolve_fields_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.9
+
 // Regression test for dart2js that used to not resolve instance
 // fields when a class is only instantiated through mirrors.
 
diff --git a/tests/lib_2/mirrors/mirrors_test.dart b/tests/lib_2/mirrors/mirrors_test.dart
index e48269e..11f81ec 100644
--- a/tests/lib_2/mirrors/mirrors_test.dart
+++ b/tests/lib_2/mirrors/mirrors_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.9
+
 library MirrorsTest;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mirrors_visitor.dart b/tests/lib_2/mirrors/mirrors_visitor.dart
index a78b7ec..002df19 100644
--- a/tests/lib_2/mirrors/mirrors_visitor.dart
+++ b/tests/lib_2/mirrors/mirrors_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.9
+
 library mirrors.visitor;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mixin_application_test.dart b/tests/lib_2/mirrors/mixin_application_test.dart
index 2f61647..00b389b 100644
--- a/tests/lib_2/mirrors/mixin_application_test.dart
+++ b/tests/lib_2/mirrors/mixin_application_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.9
+
 // This test uses the multi-test "ok" feature to create two positive tests from
 // one file. One of these tests fail on dart2js, but pass on the VM, or vice
 // versa.
diff --git a/tests/lib_2/mirrors/mixin_members_test.dart b/tests/lib_2/mirrors/mixin_members_test.dart
index ae6db71..298eb4f 100644
--- a/tests/lib_2/mirrors/mixin_members_test.dart
+++ b/tests/lib_2/mirrors/mixin_members_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.9
+
 library mixin_members_test;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/mixin_simple_test.dart b/tests/lib_2/mirrors/mixin_simple_test.dart
index f9f0915..067b183 100644
--- a/tests/lib_2/mirrors/mixin_simple_test.dart
+++ b/tests/lib_2/mirrors/mixin_simple_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.9
+
 library test.mixin;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/mixin_test.dart b/tests/lib_2/mirrors/mixin_test.dart
index d55d5eb..a25bf47 100644
--- a/tests/lib_2/mirrors/mixin_test.dart
+++ b/tests/lib_2/mirrors/mixin_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.9
+
 library test.mixin;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/model.dart b/tests/lib_2/mirrors/model.dart
index 508cbf2..611b6b1 100644
--- a/tests/lib_2/mirrors/model.dart
+++ b/tests/lib_2/mirrors/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.9
+
 library test.model;
 
 var accessorA;
diff --git a/tests/lib_2/mirrors/model_test.dart b/tests/lib_2/mirrors/model_test.dart
index 1e24901..47d1987 100644
--- a/tests/lib_2/mirrors/model_test.dart
+++ b/tests/lib_2/mirrors/model_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.9
+
 library test.model_test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/new_instance_optional_arguments_test.dart b/tests/lib_2/mirrors/new_instance_optional_arguments_test.dart
index 3d50f04..72adc2b 100644
--- a/tests/lib_2/mirrors/new_instance_optional_arguments_test.dart
+++ b/tests/lib_2/mirrors/new_instance_optional_arguments_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.9
+
 library mirror_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/new_instance_with_type_arguments_test.dart b/tests/lib_2/mirrors/new_instance_with_type_arguments_test.dart
index cf0ee6d..f7a9c56 100644
--- a/tests/lib_2/mirrors/new_instance_with_type_arguments_test.dart
+++ b/tests/lib_2/mirrors/new_instance_with_type_arguments_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.9
+
 library test.new_instance_with_type_arguments_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/no_metadata_test.dart b/tests/lib_2/mirrors/no_metadata_test.dart
index 642dd83..1280974 100644
--- a/tests/lib_2/mirrors/no_metadata_test.dart
+++ b/tests/lib_2/mirrors/no_metadata_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.9
+
 import 'dart:mirrors';
 
 import 'stringify.dart';
diff --git a/tests/lib_2/mirrors/null2_test.dart b/tests/lib_2/mirrors/null2_test.dart
index 4c5590d..a1ccee8 100644
--- a/tests/lib_2/mirrors/null2_test.dart
+++ b/tests/lib_2/mirrors/null2_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.9
+
 library test.null_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/null_test.dart b/tests/lib_2/mirrors/null_test.dart
index f0e154e..68d4e0b 100644
--- a/tests/lib_2/mirrors/null_test.dart
+++ b/tests/lib_2/mirrors/null_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.9
+
 // VMOptions=--optimization-counter-threshold=5
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/operator_test.dart b/tests/lib_2/mirrors/operator_test.dart
index a7fafbc..0a77b5f 100644
--- a/tests/lib_2/mirrors/operator_test.dart
+++ b/tests/lib_2/mirrors/operator_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.9
+
 /// Test operators.
 library test.operator_test;
 
diff --git a/tests/lib_2/mirrors/optional_parameters_test.dart b/tests/lib_2/mirrors/optional_parameters_test.dart
index 10515dd..3647ef7 100644
--- a/tests/lib_2/mirrors/optional_parameters_test.dart
+++ b/tests/lib_2/mirrors/optional_parameters_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.9
+
 // Regression test for http://dartbug.com/22987.
 // Ensure that functions whose signature only differs in optionality of
 // parameters are reflected correctly.
diff --git a/tests/lib_2/mirrors/other_declarations_location_test.dart b/tests/lib_2/mirrors/other_declarations_location_test.dart
index cbd0b9d..123ab86 100644
--- a/tests/lib_2/mirrors/other_declarations_location_test.dart
+++ b/tests/lib_2/mirrors/other_declarations_location_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.9
+
 library test.declarations_location;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/other_library.dart b/tests/lib_2/mirrors/other_library.dart
index c1e908f..baf8c38 100644
--- a/tests/lib_2/mirrors/other_library.dart
+++ b/tests/lib_2/mirrors/other_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library test.other_library;
 
 topLevelMethod() => 42;
diff --git a/tests/lib_2/mirrors/parameter_abstract_test.dart b/tests/lib_2/mirrors/parameter_abstract_test.dart
index cf2bd25..d43fd1d 100644
--- a/tests/lib_2/mirrors/parameter_abstract_test.dart
+++ b/tests/lib_2/mirrors/parameter_abstract_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/parameter_annotation_mirror_test.dart b/tests/lib_2/mirrors/parameter_annotation_mirror_test.dart
index ff4aaa6..a218450 100644
--- a/tests/lib_2/mirrors/parameter_annotation_mirror_test.dart
+++ b/tests/lib_2/mirrors/parameter_annotation_mirror_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.9
+
 import "dart:mirrors";
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/parameter_is_const_test.dart b/tests/lib_2/mirrors/parameter_is_const_test.dart
index c2739e5..d1a12a1 100644
--- a/tests/lib_2/mirrors/parameter_is_const_test.dart
+++ b/tests/lib_2/mirrors/parameter_is_const_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.9
+
 library test.parameter_is_const;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/parameter_metadata_test.dart b/tests/lib_2/mirrors/parameter_metadata_test.dart
index f875983..0c6472e 100644
--- a/tests/lib_2/mirrors/parameter_metadata_test.dart
+++ b/tests/lib_2/mirrors/parameter_metadata_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.9
+
 library test.parameter_metadata_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/parameter_of_mixin_app_constructor_test.dart b/tests/lib_2/mirrors/parameter_of_mixin_app_constructor_test.dart
index 014db1e..edb19ee 100644
--- a/tests/lib_2/mirrors/parameter_of_mixin_app_constructor_test.dart
+++ b/tests/lib_2/mirrors/parameter_of_mixin_app_constructor_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.9
+
 library test.parameter_of_mixin_app_constructor;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/parameter_optional_order_test.dart b/tests/lib_2/mirrors/parameter_optional_order_test.dart
index a2fa3d4..fda3f80 100644
--- a/tests/lib_2/mirrors/parameter_optional_order_test.dart
+++ b/tests/lib_2/mirrors/parameter_optional_order_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/parameter_test.dart b/tests/lib_2/mirrors/parameter_test.dart
index 2a5eff6..47095dd 100644
--- a/tests/lib_2/mirrors/parameter_test.dart
+++ b/tests/lib_2/mirrors/parameter_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.9
+
 // This tests uses the multi-test "ok" feature:
 // none: Desired behaviour, passing on the VM.
 // 01: Trimmed version for dart2js.
diff --git a/tests/lib_2/mirrors/private_class_field_other.dart b/tests/lib_2/mirrors/private_class_field_other.dart
index 1a30354..d5476ee 100644
--- a/tests/lib_2/mirrors/private_class_field_other.dart
+++ b/tests/lib_2/mirrors/private_class_field_other.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 class C {
   static var _privateField = 42;
 }
diff --git a/tests/lib_2/mirrors/private_class_field_test.dart b/tests/lib_2/mirrors/private_class_field_test.dart
index ae963e87..1b92c77 100644
--- a/tests/lib_2/mirrors/private_class_field_test.dart
+++ b/tests/lib_2/mirrors/private_class_field_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.9
+
 // Test a private field name doesn't match the equivalent private name from
 // another library.
 
diff --git a/tests/lib_2/mirrors/private_field_helper.dart b/tests/lib_2/mirrors/private_field_helper.dart
index df4636e..c328ddc 100644
--- a/tests/lib_2/mirrors/private_field_helper.dart
+++ b/tests/lib_2/mirrors/private_field_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.9
+
 library test.mixin;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/private_field_test.dart b/tests/lib_2/mirrors/private_field_test.dart
index ae830a9..f21925b 100644
--- a/tests/lib_2/mirrors/private_field_test.dart
+++ b/tests/lib_2/mirrors/private_field_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.9
+
 library test.mixin;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/private_symbol_mangling_lib.dart b/tests/lib_2/mirrors/private_symbol_mangling_lib.dart
index 8d9c93b..4c40a7a 100644
--- a/tests/lib_2/mirrors/private_symbol_mangling_lib.dart
+++ b/tests/lib_2/mirrors/private_symbol_mangling_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library other;
 
 var _privateGlobalField = 3;
diff --git a/tests/lib_2/mirrors/private_symbol_mangling_test.dart b/tests/lib_2/mirrors/private_symbol_mangling_test.dart
index 826d06c..31d1035 100644
--- a/tests/lib_2/mirrors/private_symbol_mangling_test.dart
+++ b/tests/lib_2/mirrors/private_symbol_mangling_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.9
+
 library main;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/private_symbol_test.dart b/tests/lib_2/mirrors/private_symbol_test.dart
index b6e74af..cd2a265 100644
--- a/tests/lib_2/mirrors/private_symbol_test.dart
+++ b/tests/lib_2/mirrors/private_symbol_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.9
+
 library test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/private_types_test.dart b/tests/lib_2/mirrors/private_types_test.dart
index 4d908e3..b0157d8 100644
--- a/tests/lib_2/mirrors/private_types_test.dart
+++ b/tests/lib_2/mirrors/private_types_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.9
+
 library test.private_types;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/proxy_type_test.dart b/tests/lib_2/mirrors/proxy_type_test.dart
index 986ded7..8b86882 100644
--- a/tests/lib_2/mirrors/proxy_type_test.dart
+++ b/tests/lib_2/mirrors/proxy_type_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.9
+
 library test.proxy_type;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/raw_type_test.dart b/tests/lib_2/mirrors/raw_type_test.dart
index 3bd4982..0f34410 100644
--- a/tests/lib_2/mirrors/raw_type_test.dart
+++ b/tests/lib_2/mirrors/raw_type_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.9
+
 import 'dart:mirrors';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/redirecting_factory_different_type_test.dart b/tests/lib_2/mirrors/redirecting_factory_different_type_test.dart
index cb23a9b..2f8c9fb 100644
--- a/tests/lib_2/mirrors/redirecting_factory_different_type_test.dart
+++ b/tests/lib_2/mirrors/redirecting_factory_different_type_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.9
+
 library mirror_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/redirecting_factory_reflection_test.dart b/tests/lib_2/mirrors/redirecting_factory_reflection_test.dart
index cf5d60b..f93ca3e 100644
--- a/tests/lib_2/mirrors/redirecting_factory_reflection_test.dart
+++ b/tests/lib_2/mirrors/redirecting_factory_reflection_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/redirecting_factory_test.dart b/tests/lib_2/mirrors/redirecting_factory_test.dart
index 2f5e47a..22a0f04 100644
--- a/tests/lib_2/mirrors/redirecting_factory_test.dart
+++ b/tests/lib_2/mirrors/redirecting_factory_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.9
+
 import "dart:mirrors";
 import "package:expect/expect.dart";
 import "stringify.dart";
diff --git a/tests/lib_2/mirrors/reflect_class_test.dart b/tests/lib_2/mirrors/reflect_class_test.dart
index ca0b94d..8167955 100644
--- a/tests/lib_2/mirrors/reflect_class_test.dart
+++ b/tests/lib_2/mirrors/reflect_class_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.9
+
 import "dart:mirrors";
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/mirrors/reflect_model_test.dart b/tests/lib_2/mirrors/reflect_model_test.dart
index 416f041..362a6ce 100644
--- a/tests/lib_2/mirrors/reflect_model_test.dart
+++ b/tests/lib_2/mirrors/reflect_model_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.9
+
 library test.reflect_model_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflect_runtime_type_test.dart b/tests/lib_2/mirrors/reflect_runtime_type_test.dart
index a5e96b6..e477b01 100644
--- a/tests/lib_2/mirrors/reflect_runtime_type_test.dart
+++ b/tests/lib_2/mirrors/reflect_runtime_type_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.9
+
 // A simple test that ensure that reflection works on runtime types of
 // instantiated classes.
 
diff --git a/tests/lib_2/mirrors/reflect_two_classes_test.dart b/tests/lib_2/mirrors/reflect_two_classes_test.dart
index 65f103b..9f98d90 100644
--- a/tests/lib_2/mirrors/reflect_two_classes_test.dart
+++ b/tests/lib_2/mirrors/reflect_two_classes_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.9
+
 // This is a regression test for http://dartbug.com/23054
 
 library index;
diff --git a/tests/lib_2/mirrors/reflect_uninstantiated_class_test.dart b/tests/lib_2/mirrors/reflect_uninstantiated_class_test.dart
index bfbdadb..e51b8a1 100644
--- a/tests/lib_2/mirrors/reflect_uninstantiated_class_test.dart
+++ b/tests/lib_2/mirrors/reflect_uninstantiated_class_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.9
+
 // A simple test that ensure that reflection works on uninstantiated classes.
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/reflected_type_classes_test.dart b/tests/lib_2/mirrors/reflected_type_classes_test.dart
index bdc828c..0e5c5b8 100644
--- a/tests/lib_2/mirrors/reflected_type_classes_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_classes_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.9
+
 library test.reflected_type_classes;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_function_type_test.dart b/tests/lib_2/mirrors/reflected_type_function_type_test.dart
index 53132a3..2ed5d73 100644
--- a/tests/lib_2/mirrors/reflected_type_function_type_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_function_type_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.9
+
 library test.reflected_type_function_types;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_generics_test.dart b/tests/lib_2/mirrors/reflected_type_generics_test.dart
index e8ca315..e92126b 100644
--- a/tests/lib_2/mirrors/reflected_type_generics_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_generics_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.9
+
 library test.reflected_type_generics_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_helper.dart b/tests/lib_2/mirrors/reflected_type_helper.dart
index fb7bf93..3483f72 100644
--- a/tests/lib_2/mirrors/reflected_type_helper.dart
+++ b/tests/lib_2/mirrors/reflected_type_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.9
+
 library test.reflected_type_helper;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_special_types_test.dart b/tests/lib_2/mirrors/reflected_type_special_types_test.dart
index 4fe7261..1459ace 100644
--- a/tests/lib_2/mirrors/reflected_type_special_types_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_special_types_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.9
+
 library test.reflected_type_special_types;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_test.dart b/tests/lib_2/mirrors/reflected_type_test.dart
index 4b07e43..d557418 100644
--- a/tests/lib_2/mirrors/reflected_type_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_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.9
+
 library test.reflected_type_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_typedefs_test.dart b/tests/lib_2/mirrors/reflected_type_typedefs_test.dart
index 03673d7..0c6335d 100644
--- a/tests/lib_2/mirrors/reflected_type_typedefs_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_typedefs_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.9
+
 library test.reflected_type_typedefs;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflected_type_typevars_test.dart b/tests/lib_2/mirrors/reflected_type_typevars_test.dart
index a43c055..c06adfb 100644
--- a/tests/lib_2/mirrors/reflected_type_typevars_test.dart
+++ b/tests/lib_2/mirrors/reflected_type_typevars_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.9
+
 library test.reflected_type_type_variables;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/reflectively_instantiate_uninstantiated_class_test.dart b/tests/lib_2/mirrors/reflectively_instantiate_uninstantiated_class_test.dart
index 63cbb99..03e86f9 100644
--- a/tests/lib_2/mirrors/reflectively_instantiate_uninstantiated_class_test.dart
+++ b/tests/lib_2/mirrors/reflectively_instantiate_uninstantiated_class_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.9
+
 // Ensure that otherwise uninstantiated classes can be instantiated
 // reflectively.
 
diff --git a/tests/lib_2/mirrors/regress_13462_0_test.dart b/tests/lib_2/mirrors/regress_13462_0_test.dart
index b87bf1f..2798187b 100644
--- a/tests/lib_2/mirrors/regress_13462_0_test.dart
+++ b/tests/lib_2/mirrors/regress_13462_0_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.9
+
 import 'dart:mirrors';
 
 main() {
diff --git a/tests/lib_2/mirrors/regress_13462_1_test.dart b/tests/lib_2/mirrors/regress_13462_1_test.dart
index bffdd03..e0c72a5 100644
--- a/tests/lib_2/mirrors/regress_13462_1_test.dart
+++ b/tests/lib_2/mirrors/regress_13462_1_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.9
+
 import 'dart:mirrors';
 
 main() {
diff --git a/tests/lib_2/mirrors/regress_14304_test.dart b/tests/lib_2/mirrors/regress_14304_test.dart
index 293fcea..cca1840 100644
--- a/tests/lib_2/mirrors/regress_14304_test.dart
+++ b/tests/lib_2/mirrors/regress_14304_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.9
+
 // Regression test for Issue 14304.
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/regress_16321_test.dart b/tests/lib_2/mirrors/regress_16321_test.dart
index 6ccf0b2..e4419ed 100644
--- a/tests/lib_2/mirrors/regress_16321_test.dart
+++ b/tests/lib_2/mirrors/regress_16321_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.9
+
 // Regression test for Issue 16321.
 // (Type errors in metadata crashed the VM in checked mode).
 
diff --git a/tests/lib_2/mirrors/regress_18535_test.dart b/tests/lib_2/mirrors/regress_18535_test.dart
index 2abb964..8efd4b3 100644
--- a/tests/lib_2/mirrors/regress_18535_test.dart
+++ b/tests/lib_2/mirrors/regress_18535_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.9
+
 // Regression test for issue 18535.
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/regress_19731_test.dart b/tests/lib_2/mirrors/regress_19731_test.dart
index 358098e..eee31aa 100644
--- a/tests/lib_2/mirrors/regress_19731_test.dart
+++ b/tests/lib_2/mirrors/regress_19731_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.9
+
 @metadata
 library regress_19731;
 
diff --git a/tests/lib_2/mirrors/regress_26187_test.dart b/tests/lib_2/mirrors/regress_26187_test.dart
index 6c381c7..2a73596 100644
--- a/tests/lib_2/mirrors/regress_26187_test.dart
+++ b/tests/lib_2/mirrors/regress_26187_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.9
+
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/mirrors/regress_28255_test.dart b/tests/lib_2/mirrors/regress_28255_test.dart
index b127045..8b1e91c 100644
--- a/tests/lib_2/mirrors/regress_28255_test.dart
+++ b/tests/lib_2/mirrors/regress_28255_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.9
+
 // Regression test for issue 28255
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/regress_33259_test.dart b/tests/lib_2/mirrors/regress_33259_test.dart
index af2b4eb..3cad482 100644
--- a/tests/lib_2/mirrors/regress_33259_test.dart
+++ b/tests/lib_2/mirrors/regress_33259_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.9
+
 // Regression test for http://dartbug.com/33259.
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/regress_34982_test.dart b/tests/lib_2/mirrors/regress_34982_test.dart
index f86df29..67c20c7 100644
--- a/tests/lib_2/mirrors/regress_34982_test.dart
+++ b/tests/lib_2/mirrors/regress_34982_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.9
+
 // Regression test for http://dartbug.com/34982
 import 'dart:mirrors';
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/regress_38035_test.dart b/tests/lib_2/mirrors/regress_38035_test.dart
index 4e6c25a..9ff74ca 100644
--- a/tests/lib_2/mirrors/regress_38035_test.dart
+++ b/tests/lib_2/mirrors/regress_38035_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.9
+
 // Regression test for https://github.com/dart-lang/sdk/issues/38035.
 //
 // Verifies that static tear-off has correct information about argument types.
diff --git a/tests/lib_2/mirrors/relation_assignable_test.dart b/tests/lib_2/mirrors/relation_assignable_test.dart
index da4c13d..8286d37 100644
--- a/tests/lib_2/mirrors/relation_assignable_test.dart
+++ b/tests/lib_2/mirrors/relation_assignable_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.9
+
 library test.relation_assignable;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/relation_subclass_test.dart b/tests/lib_2/mirrors/relation_subclass_test.dart
index 7e83931..ee034d1 100644
--- a/tests/lib_2/mirrors/relation_subclass_test.dart
+++ b/tests/lib_2/mirrors/relation_subclass_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.9
+
 library test.relation_subclass;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/relation_subtype_test.dart b/tests/lib_2/mirrors/relation_subtype_test.dart
index a9d165a..b578c49 100644
--- a/tests/lib_2/mirrors/relation_subtype_test.dart
+++ b/tests/lib_2/mirrors/relation_subtype_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.9
+
 library test.relation_subtype;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/repeated_private_anon_mixin_app1.dart b/tests/lib_2/mirrors/repeated_private_anon_mixin_app1.dart
index 377cd51..635f093 100644
--- a/tests/lib_2/mirrors/repeated_private_anon_mixin_app1.dart
+++ b/tests/lib_2/mirrors/repeated_private_anon_mixin_app1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib1;
 
 class _S {}
diff --git a/tests/lib_2/mirrors/repeated_private_anon_mixin_app2.dart b/tests/lib_2/mirrors/repeated_private_anon_mixin_app2.dart
index 36f9d8c..15d37a0 100644
--- a/tests/lib_2/mirrors/repeated_private_anon_mixin_app2.dart
+++ b/tests/lib_2/mirrors/repeated_private_anon_mixin_app2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library lib2;
 
 class _S {}
diff --git a/tests/lib_2/mirrors/repeated_private_anon_mixin_app_test.dart b/tests/lib_2/mirrors/repeated_private_anon_mixin_app_test.dart
index 7a7a5ad..e68eeb0 100644
--- a/tests/lib_2/mirrors/repeated_private_anon_mixin_app_test.dart
+++ b/tests/lib_2/mirrors/repeated_private_anon_mixin_app_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.9
+
 library test.repeated_private_anon_mixin_app;
 
 // Regression test for symbol mangling.
diff --git a/tests/lib_2/mirrors/return_type_test.dart b/tests/lib_2/mirrors/return_type_test.dart
index 65115bd..4cc3556 100644
--- a/tests/lib_2/mirrors/return_type_test.dart
+++ b/tests/lib_2/mirrors/return_type_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.9
+
 /// Test of [MethodMirror.returnType].
 library test.return_type_test;
 
diff --git a/tests/lib_2/mirrors/runtime_type_test.dart b/tests/lib_2/mirrors/runtime_type_test.dart
index 82c88b6..c105b3d7 100644
--- a/tests/lib_2/mirrors/runtime_type_test.dart
+++ b/tests/lib_2/mirrors/runtime_type_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.9
+
 library test.runtime_type_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/set_field_with_final_inheritance_test.dart b/tests/lib_2/mirrors/set_field_with_final_inheritance_test.dart
index 4281227..6ad0711 100644
--- a/tests/lib_2/mirrors/set_field_with_final_inheritance_test.dart
+++ b/tests/lib_2/mirrors/set_field_with_final_inheritance_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.9
+
 library test.set_field_with_final_inheritance;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/set_field_with_final_test.dart b/tests/lib_2/mirrors/set_field_with_final_test.dart
index d2515fd..1c85ffd 100644
--- a/tests/lib_2/mirrors/set_field_with_final_test.dart
+++ b/tests/lib_2/mirrors/set_field_with_final_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.9
+
 library test.set_field_with_final;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/spawn_function_root_library_test.dart b/tests/lib_2/mirrors/spawn_function_root_library_test.dart
index f2d7f6c..4f069ec 100644
--- a/tests/lib_2/mirrors/spawn_function_root_library_test.dart
+++ b/tests/lib_2/mirrors/spawn_function_root_library_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.9
+
 library lib;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/static_const_field_test.dart b/tests/lib_2/mirrors/static_const_field_test.dart
index cf8c283..f15004e 100644
--- a/tests/lib_2/mirrors/static_const_field_test.dart
+++ b/tests/lib_2/mirrors/static_const_field_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.9
+
 // Test that static const fields are accessible by reflection.
 // Regression test for http://dartbug.com/23811.
 
diff --git a/tests/lib_2/mirrors/static_members_easier_test.dart b/tests/lib_2/mirrors/static_members_easier_test.dart
index a3912e9..a7dd1d5 100644
--- a/tests/lib_2/mirrors/static_members_easier_test.dart
+++ b/tests/lib_2/mirrors/static_members_easier_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.9
+
 library test.static_members;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/static_members_test.dart b/tests/lib_2/mirrors/static_members_test.dart
index aad20e7..bed5f91 100644
--- a/tests/lib_2/mirrors/static_members_test.dart
+++ b/tests/lib_2/mirrors/static_members_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.9
+
 library test.static_members;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/static_metatarget_test.dart b/tests/lib_2/mirrors/static_metatarget_test.dart
index 8024db8..43b7388 100644
--- a/tests/lib_2/mirrors/static_metatarget_test.dart
+++ b/tests/lib_2/mirrors/static_metatarget_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.9
+
 // Regression test for the combined use of metatargets and static fields with
 // annotations.
 
diff --git a/tests/lib_2/mirrors/static_test.dart b/tests/lib_2/mirrors/static_test.dart
index 6a2e4fe..fc15e8e 100644
--- a/tests/lib_2/mirrors/static_test.dart
+++ b/tests/lib_2/mirrors/static_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.9
+
 // Test static members.
 
 library lib;
diff --git a/tests/lib_2/mirrors/stringify.dart b/tests/lib_2/mirrors/stringify.dart
index 954067c..c9247b7 100644
--- a/tests/lib_2/mirrors/stringify.dart
+++ b/tests/lib_2/mirrors/stringify.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 /// Helper methods for converting a [Mirror] to a [String].
 library test.stringify;
 
diff --git a/tests/lib_2/mirrors/superclass2_test.dart b/tests/lib_2/mirrors/superclass2_test.dart
index 8a9ec39..c7575ea 100644
--- a/tests/lib_2/mirrors/superclass2_test.dart
+++ b/tests/lib_2/mirrors/superclass2_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.9
+
 library test.superclass;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/superclass_test.dart b/tests/lib_2/mirrors/superclass_test.dart
index ad571be..e500bfa 100644
--- a/tests/lib_2/mirrors/superclass_test.dart
+++ b/tests/lib_2/mirrors/superclass_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.9
+
 library test.superclass;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/symbol_validation_test.dart b/tests/lib_2/mirrors/symbol_validation_test.dart
index 11a7d94..60d78ba 100644
--- a/tests/lib_2/mirrors/symbol_validation_test.dart
+++ b/tests/lib_2/mirrors/symbol_validation_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.9
+
 library symbol_validation_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/syntax_error_test.dart b/tests/lib_2/mirrors/syntax_error_test.dart
index 227e791..166dbfd 100644
--- a/tests/lib_2/mirrors/syntax_error_test.dart
+++ b/tests/lib_2/mirrors/syntax_error_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.9
+
 // Regression test for Issue 15744
 // Also, tests that syntax errors in reflected classes are reported correctly.
 
diff --git a/tests/lib_2/mirrors/synthetic_accessor_properties_test.dart b/tests/lib_2/mirrors/synthetic_accessor_properties_test.dart
index 9d1d6e3..6e65b69 100644
--- a/tests/lib_2/mirrors/synthetic_accessor_properties_test.dart
+++ b/tests/lib_2/mirrors/synthetic_accessor_properties_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.9
+
 library test.synthetic_accessor_properties;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/to_string_test.dart b/tests/lib_2/mirrors/to_string_test.dart
index 23a0499..ce65716 100644
--- a/tests/lib_2/mirrors/to_string_test.dart
+++ b/tests/lib_2/mirrors/to_string_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.9
+
 library test.to_string_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/top_level_accessors_test.dart b/tests/lib_2/mirrors/top_level_accessors_test.dart
index 269153e..826e65a 100644
--- a/tests/lib_2/mirrors/top_level_accessors_test.dart
+++ b/tests/lib_2/mirrors/top_level_accessors_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.9
+
 library test.top_level_accessors_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/type_argument_is_type_variable_test.dart b/tests/lib_2/mirrors/type_argument_is_type_variable_test.dart
index e915944..ca11b17 100644
--- a/tests/lib_2/mirrors/type_argument_is_type_variable_test.dart
+++ b/tests/lib_2/mirrors/type_argument_is_type_variable_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.9
+
 library test.type_argument_is_type_variable;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/type_mirror_for_type_test.dart b/tests/lib_2/mirrors/type_mirror_for_type_test.dart
index 92e101f..65e8899 100644
--- a/tests/lib_2/mirrors/type_mirror_for_type_test.dart
+++ b/tests/lib_2/mirrors/type_mirror_for_type_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.9
+
 // Regression test for the dart2js implementation of runtime types.
 
 library test.type_mirror_for_type;
diff --git a/tests/lib_2/mirrors/type_variable_is_static_test.dart b/tests/lib_2/mirrors/type_variable_is_static_test.dart
index ff7bfa5..3b093cd 100644
--- a/tests/lib_2/mirrors/type_variable_is_static_test.dart
+++ b/tests/lib_2/mirrors/type_variable_is_static_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.9
+
 library test.type_variable_owner;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/type_variable_owner_test.dart b/tests/lib_2/mirrors/type_variable_owner_test.dart
index 8dec681..8913789 100644
--- a/tests/lib_2/mirrors/type_variable_owner_test.dart
+++ b/tests/lib_2/mirrors/type_variable_owner_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.9
+
 // Owner of a type variable should be the declaration of the generic class or
 // typedef, not an instantiation.
 
diff --git a/tests/lib_2/mirrors/typearguments_mirror_test.dart b/tests/lib_2/mirrors/typearguments_mirror_test.dart
index a5474d5..0767187 100644
--- a/tests/lib_2/mirrors/typearguments_mirror_test.dart
+++ b/tests/lib_2/mirrors/typearguments_mirror_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.9
+
 library lib;
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/typedef_deferred_library_test.dart b/tests/lib_2/mirrors/typedef_deferred_library_test.dart
index 1363188..12a33a5 100644
--- a/tests/lib_2/mirrors/typedef_deferred_library_test.dart
+++ b/tests/lib_2/mirrors/typedef_deferred_library_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.9
+
 library foo;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/typedef_in_signature_test.dart b/tests/lib_2/mirrors/typedef_in_signature_test.dart
index 8695750..27dbd66 100644
--- a/tests/lib_2/mirrors/typedef_in_signature_test.dart
+++ b/tests/lib_2/mirrors/typedef_in_signature_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.9
+
 library test.typedef_in_signature_test;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/typedef_library.dart b/tests/lib_2/mirrors/typedef_library.dart
index fcb3231..640426a 100644
--- a/tests/lib_2/mirrors/typedef_library.dart
+++ b/tests/lib_2/mirrors/typedef_library.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library bar;
 
 typedef G();
diff --git a/tests/lib_2/mirrors/typedef_library_test.dart b/tests/lib_2/mirrors/typedef_library_test.dart
index b768783..82e1930 100644
--- a/tests/lib_2/mirrors/typedef_library_test.dart
+++ b/tests/lib_2/mirrors/typedef_library_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.9
+
 library foo;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/typedef_metadata_test.dart b/tests/lib_2/mirrors/typedef_metadata_test.dart
index 7b5e098..ebd1bfc 100644
--- a/tests/lib_2/mirrors/typedef_metadata_test.dart
+++ b/tests/lib_2/mirrors/typedef_metadata_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.9
+
 @string
 @symbol
 library test.typedef_metadata_test;
diff --git a/tests/lib_2/mirrors/typedef_reflected_type_test.dart b/tests/lib_2/mirrors/typedef_reflected_type_test.dart
index 7b017f5..546088c 100644
--- a/tests/lib_2/mirrors/typedef_reflected_type_test.dart
+++ b/tests/lib_2/mirrors/typedef_reflected_type_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.9
+
 library test;
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/mirrors/typedef_test.dart b/tests/lib_2/mirrors/typedef_test.dart
index b7a152f..f26608d 100644
--- a/tests/lib_2/mirrors/typedef_test.dart
+++ b/tests/lib_2/mirrors/typedef_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.9
+
 // This test is a multi-test with three positive tests. "01" pass on dart2js,
 // "02" pass on the VM, and "none" is the correct behavior.
 // The goal is to remove all "01" and "02" lines.
diff --git a/tests/lib_2/mirrors/typevariable_mirror_metadata_test.dart b/tests/lib_2/mirrors/typevariable_mirror_metadata_test.dart
index 7d2f69a..c05f397 100644
--- a/tests/lib_2/mirrors/typevariable_mirror_metadata_test.dart
+++ b/tests/lib_2/mirrors/typevariable_mirror_metadata_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.9
+
 library test.typevariable_metadata_test;
 
 import "dart:mirrors";
diff --git a/tests/lib_2/mirrors/unmangled_type_test.dart b/tests/lib_2/mirrors/unmangled_type_test.dart
index b9fa763..1e0874f 100644
--- a/tests/lib_2/mirrors/unmangled_type_test.dart
+++ b/tests/lib_2/mirrors/unmangled_type_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.9
+
 library lib;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/unnamed_library_test.dart b/tests/lib_2/mirrors/unnamed_library_test.dart
index 5e6160d..f1305d0 100644
--- a/tests/lib_2/mirrors/unnamed_library_test.dart
+++ b/tests/lib_2/mirrors/unnamed_library_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.9
+
 // No library declaration.
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/mirrors/unnamed_mixin_application_test.dart b/tests/lib_2/mirrors/unnamed_mixin_application_test.dart
index d884495..a5795f1 100644
--- a/tests/lib_2/mirrors/unnamed_mixin_application_test.dart
+++ b/tests/lib_2/mirrors/unnamed_mixin_application_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.9
+
 /// Test that the forwarding constructors of unnamed mixin applications are
 /// included for reflection.
 
diff --git a/tests/lib_2/mirrors/variable_is_const_test.dart b/tests/lib_2/mirrors/variable_is_const_test.dart
index de3b0cb..a226236 100644
--- a/tests/lib_2/mirrors/variable_is_const_test.dart
+++ b/tests/lib_2/mirrors/variable_is_const_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.9
+
 library test.variable_is_const;
 
 import 'dart:mirrors';
diff --git a/tests/lib_2/typed_data/byte_data_test.dart b/tests/lib_2/typed_data/byte_data_test.dart
index 2b0e3ea..9a0adf8 100644
--- a/tests/lib_2/typed_data/byte_data_test.dart
+++ b/tests/lib_2/typed_data/byte_data_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.9
+
 import 'dart:typed_data';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/typed_data/bytes_builder_test.dart b/tests/lib_2/typed_data/bytes_builder_test.dart
index 5c1dd69..341ab8d 100644
--- a/tests/lib_2/typed_data/bytes_builder_test.dart
+++ b/tests/lib_2/typed_data/bytes_builder_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.9
+
 import "dart:typed_data";
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/typed_data/constructor_checks_test.dart b/tests/lib_2/typed_data/constructor_checks_test.dart
index 826a4e0..b208117 100644
--- a/tests/lib_2/typed_data/constructor_checks_test.dart
+++ b/tests/lib_2/typed_data/constructor_checks_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/typed_data/endianness_test.dart b/tests/lib_2/typed_data/endianness_test.dart
index 2bec2d7..7704e3c 100644
--- a/tests/lib_2/typed_data/endianness_test.dart
+++ b/tests/lib_2/typed_data/endianness_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.9
+
 import 'dart:typed_data';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/typed_data/float32x4_clamp_test.dart b/tests/lib_2/typed_data/float32x4_clamp_test.dart
index 2a9fb32..ba05829 100644
--- a/tests/lib_2/typed_data/float32x4_clamp_test.dart
+++ b/tests/lib_2/typed_data/float32x4_clamp_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_clamp_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_cross_test.dart b/tests/lib_2/typed_data/float32x4_cross_test.dart
index 7c905ec..3cfacca 100644
--- a/tests/lib_2/typed_data/float32x4_cross_test.dart
+++ b/tests/lib_2/typed_data/float32x4_cross_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_cross_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_list_test.dart b/tests/lib_2/typed_data/float32x4_list_test.dart
index 4cb29ba..5b36caa 100644
--- a/tests/lib_2/typed_data/float32x4_list_test.dart
+++ b/tests/lib_2/typed_data/float32x4_list_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background_compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_list_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_shuffle_test.dart b/tests/lib_2/typed_data/float32x4_shuffle_test.dart
index 418527f..402836f 100644
--- a/tests/lib_2/typed_data/float32x4_shuffle_test.dart
+++ b/tests/lib_2/typed_data/float32x4_shuffle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_shuffle_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_sign_mask_test.dart b/tests/lib_2/typed_data/float32x4_sign_mask_test.dart
index 06a0bb0..57dac65 100644
--- a/tests/lib_2/typed_data/float32x4_sign_mask_test.dart
+++ b/tests/lib_2/typed_data/float32x4_sign_mask_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_sign_mask;
 
diff --git a/tests/lib_2/typed_data/float32x4_static_test.dart b/tests/lib_2/typed_data/float32x4_static_test.dart
index 15ec048..5072d7b 100644
--- a/tests/lib_2/typed_data/float32x4_static_test.dart
+++ b/tests/lib_2/typed_data/float32x4_static_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.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_static_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_test.dart b/tests/lib_2/typed_data/float32x4_test.dart
index fb8dfe5..e2ca184 100644
--- a/tests/lib_2/typed_data/float32x4_test.dart
+++ b/tests/lib_2/typed_data/float32x4_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 // VMOptions=--no-intrinsify
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_transpose_test.dart b/tests/lib_2/typed_data/float32x4_transpose_test.dart
index 062cb7b..d82711e 100644
--- a/tests/lib_2/typed_data/float32x4_transpose_test.dart
+++ b/tests/lib_2/typed_data/float32x4_transpose_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_transpose_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_two_arg_shuffle_test.dart b/tests/lib_2/typed_data/float32x4_two_arg_shuffle_test.dart
index db6c253..7ae0214 100644
--- a/tests/lib_2/typed_data/float32x4_two_arg_shuffle_test.dart
+++ b/tests/lib_2/typed_data/float32x4_two_arg_shuffle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_two_arg_shuffle_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_unbox_phi_test.dart b/tests/lib_2/typed_data/float32x4_unbox_phi_test.dart
index d96b2cf..d95b0e6 100644
--- a/tests/lib_2/typed_data/float32x4_unbox_phi_test.dart
+++ b/tests/lib_2/typed_data/float32x4_unbox_phi_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_unbox_regress_test;
 
diff --git a/tests/lib_2/typed_data/float32x4_unbox_regress_test.dart b/tests/lib_2/typed_data/float32x4_unbox_regress_test.dart
index 3955990..421355a 100644
--- a/tests/lib_2/typed_data/float32x4_unbox_regress_test.dart
+++ b/tests/lib_2/typed_data/float32x4_unbox_regress_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library float32x4_unbox_regress_test;
 
diff --git a/tests/lib_2/typed_data/float64x2_functional_test.dart b/tests/lib_2/typed_data/float64x2_functional_test.dart
index 69aa96e..ac794cf 100644
--- a/tests/lib_2/typed_data/float64x2_functional_test.dart
+++ b/tests/lib_2/typed_data/float64x2_functional_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 // VMOptions=--no-intrinsify
 
+// @dart = 2.9
+
 library float64x2_functional_test;
 
 import 'dart:typed_data';
diff --git a/tests/lib_2/typed_data/float64x2_typed_list_test.dart b/tests/lib_2/typed_data/float64x2_typed_list_test.dart
index 7c43da8..53fef98 100644
--- a/tests/lib_2/typed_data/float64x2_typed_list_test.dart
+++ b/tests/lib_2/typed_data/float64x2_typed_list_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 library float64x2_typed_list_test;
 
 import 'dart:typed_data';
diff --git a/tests/lib_2/typed_data/int32x4_arithmetic_test.dart b/tests/lib_2/typed_data/int32x4_arithmetic_test.dart
index f9a740e..15cedd8 100644
--- a/tests/lib_2/typed_data/int32x4_arithmetic_test.dart
+++ b/tests/lib_2/typed_data/int32x4_arithmetic_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library uint32x4_arithmetic_test;
 
diff --git a/tests/lib_2/typed_data/int32x4_list_test.dart b/tests/lib_2/typed_data/int32x4_list_test.dart
index 1b03ce6..2a1badc 100644
--- a/tests/lib_2/typed_data/int32x4_list_test.dart
+++ b/tests/lib_2/typed_data/int32x4_list_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library int32x4_list_test;
 
diff --git a/tests/lib_2/typed_data/int32x4_shuffle_test.dart b/tests/lib_2/typed_data/int32x4_shuffle_test.dart
index 6fcad56..15ecdef 100644
--- a/tests/lib_2/typed_data/int32x4_shuffle_test.dart
+++ b/tests/lib_2/typed_data/int32x4_shuffle_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library uint32x4_shuffle_test;
 
diff --git a/tests/lib_2/typed_data/int32x4_sign_mask_test.dart b/tests/lib_2/typed_data/int32x4_sign_mask_test.dart
index 522054d..03ae84d 100644
--- a/tests/lib_2/typed_data/int32x4_sign_mask_test.dart
+++ b/tests/lib_2/typed_data/int32x4_sign_mask_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library int32x4_sign_mask;
 
diff --git a/tests/lib_2/typed_data/int32x4_static_test.dart b/tests/lib_2/typed_data/int32x4_static_test.dart
index 44ce01c..3add57e 100644
--- a/tests/lib_2/typed_data/int32x4_static_test.dart
+++ b/tests/lib_2/typed_data/int32x4_static_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.9
+
 library int32x4_static_test;
 
 import 'dart:typed_data';
diff --git a/tests/lib_2/typed_data/int32x4_test.dart b/tests/lib_2/typed_data/int32x4_test.dart
index 1bb9e16..73fb364 100644
--- a/tests/lib_2/typed_data/int32x4_test.dart
+++ b/tests/lib_2/typed_data/int32x4_test.dart
@@ -4,6 +4,8 @@
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 // VMOptions=--no-intrinsify
 
+// @dart = 2.9
+
 library int32x4_test;
 
 import 'dart:typed_data';
diff --git a/tests/lib_2/typed_data/int64_list_load_store_test.dart b/tests/lib_2/typed_data/int64_list_load_store_test.dart
index 7665f58..1834fcc 100644
--- a/tests/lib_2/typed_data/int64_list_load_store_test.dart
+++ b/tests/lib_2/typed_data/int64_list_load_store_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Test that the compiler's load elimination phase sees interfering writes to
 // the array's buffer.
 
diff --git a/tests/lib_2/typed_data/native_interceptor_no_own_method_to_intercept_test.dart b/tests/lib_2/typed_data/native_interceptor_no_own_method_to_intercept_test.dart
index 6828d6a..09178b0 100644
--- a/tests/lib_2/typed_data/native_interceptor_no_own_method_to_intercept_test.dart
+++ b/tests/lib_2/typed_data/native_interceptor_no_own_method_to_intercept_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.9
+
 import "package:expect/expect.dart";
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/typed_data/setRange_1_test.dart b/tests/lib_2/typed_data/setRange_1_test.dart
index f39515c..b936377 100644
--- a/tests/lib_2/typed_data/setRange_1_test.dart
+++ b/tests/lib_2/typed_data/setRange_1_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 import 'setRange_lib.dart';
diff --git a/tests/lib_2/typed_data/setRange_2_test.dart b/tests/lib_2/typed_data/setRange_2_test.dart
index efd85f5..9e5cb66 100644
--- a/tests/lib_2/typed_data/setRange_2_test.dart
+++ b/tests/lib_2/typed_data/setRange_2_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 import 'setRange_lib.dart';
diff --git a/tests/lib_2/typed_data/setRange_3_test.dart b/tests/lib_2/typed_data/setRange_3_test.dart
index 7ac0e01..a8b9507f 100644
--- a/tests/lib_2/typed_data/setRange_3_test.dart
+++ b/tests/lib_2/typed_data/setRange_3_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 import 'setRange_lib.dart';
diff --git a/tests/lib_2/typed_data/setRange_4_test.dart b/tests/lib_2/typed_data/setRange_4_test.dart
index 5ddb266..ba3ad83 100644
--- a/tests/lib_2/typed_data/setRange_4_test.dart
+++ b/tests/lib_2/typed_data/setRange_4_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 import 'setRange_lib.dart';
diff --git a/tests/lib_2/typed_data/setRange_5_test.dart b/tests/lib_2/typed_data/setRange_5_test.dart
index fb86cb0..052d84d 100644
--- a/tests/lib_2/typed_data/setRange_5_test.dart
+++ b/tests/lib_2/typed_data/setRange_5_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 import 'setRange_lib.dart';
diff --git a/tests/lib_2/typed_data/setRange_lib.dart b/tests/lib_2/typed_data/setRange_lib.dart
index f9b1dfb..2dd9b8e4 100644
--- a/tests/lib_2/typed_data/setRange_lib.dart
+++ b/tests/lib_2/typed_data/setRange_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library setRange_lib;
 
 import 'dart:typed_data';
diff --git a/tests/lib_2/typed_data/simd_store_to_load_forward_test.dart b/tests/lib_2/typed_data/simd_store_to_load_forward_test.dart
index 3a24ecd..d0c98a6 100644
--- a/tests/lib_2/typed_data/simd_store_to_load_forward_test.dart
+++ b/tests/lib_2/typed_data/simd_store_to_load_forward_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library simd_store_to_load_forward_test;
 
diff --git a/tests/lib_2/typed_data/simd_type_check_removal.dart b/tests/lib_2/typed_data/simd_type_check_removal.dart
index 816b546..0eedfd7 100644
--- a/tests/lib_2/typed_data/simd_type_check_removal.dart
+++ b/tests/lib_2/typed_data/simd_type_check_removal.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--max_deoptimization_counter_threshold=1000 --optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library simd_store_to_load_forward_test;
 
diff --git a/tests/lib_2/typed_data/simd_type_null_params_test.dart b/tests/lib_2/typed_data/simd_type_null_params_test.dart
index 72c31f8..c30e4ec 100644
--- a/tests/lib_2/typed_data/simd_type_null_params_test.dart
+++ b/tests/lib_2/typed_data/simd_type_null_params_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.9
+
 import 'dart:typed_data';
 import "package:expect/expect.dart";
 
diff --git a/tests/lib_2/typed_data/typed_data_from_list_test.dart b/tests/lib_2/typed_data/typed_data_from_list_test.dart
index 9548c73..dc8362e 100644
--- a/tests/lib_2/typed_data/typed_data_from_list_test.dart
+++ b/tests/lib_2/typed_data/typed_data_from_list_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.9
+
 import 'dart:collection';
 import 'dart:typed_data';
 
diff --git a/tests/lib_2/typed_data/typed_data_hierarchy_int64_test.dart b/tests/lib_2/typed_data/typed_data_hierarchy_int64_test.dart
index 19142ff..fb2b8c2 100644
--- a/tests/lib_2/typed_data/typed_data_hierarchy_int64_test.dart
+++ b/tests/lib_2/typed_data/typed_data_hierarchy_int64_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library typed_data_hierarchy_int64_test;
 
diff --git a/tests/lib_2/typed_data/typed_data_hierarchy_test.dart b/tests/lib_2/typed_data/typed_data_hierarchy_test.dart
index cdcbec8..20707e5 100644
--- a/tests/lib_2/typed_data/typed_data_hierarchy_test.dart
+++ b/tests/lib_2/typed_data/typed_data_hierarchy_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library typed_data_hierarchy_test;
 
diff --git a/tests/lib_2/typed_data/typed_data_list_test.dart b/tests/lib_2/typed_data/typed_data_list_test.dart
index 890f274..3e512d4 100644
--- a/tests/lib_2/typed_data/typed_data_list_test.dart
+++ b/tests/lib_2/typed_data/typed_data_list_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/typed_data/typed_data_load2_test.dart b/tests/lib_2/typed_data/typed_data_load2_test.dart
index 3775615..013e2c6 100644
--- a/tests/lib_2/typed_data/typed_data_load2_test.dart
+++ b/tests/lib_2/typed_data/typed_data_load2_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.9
+
 // Test that the compiler's load elimination phase sees interfering writes to
 // the array's buffer.
 
diff --git a/tests/lib_2/typed_data/typed_data_load_test.dart b/tests/lib_2/typed_data/typed_data_load_test.dart
index 55a0808..23bfd5d 100644
--- a/tests/lib_2/typed_data/typed_data_load_test.dart
+++ b/tests/lib_2/typed_data/typed_data_load_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.9
+
 // Test that the compiler's load elimination phase does not re-use the
 // value that was stored in a typed array.
 
diff --git a/tests/lib_2/typed_data/typed_data_sublist_type_test.dart b/tests/lib_2/typed_data/typed_data_sublist_type_test.dart
index f52ad9f..ca55ed54 100644
--- a/tests/lib_2/typed_data/typed_data_sublist_type_test.dart
+++ b/tests/lib_2/typed_data/typed_data_sublist_type_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/typed_data/typed_data_view_length_test.dart b/tests/lib_2/typed_data/typed_data_view_length_test.dart
index 2d42595..1c34db4 100644
--- a/tests/lib_2/typed_data/typed_data_view_length_test.dart
+++ b/tests/lib_2/typed_data/typed_data_view_length_test.dart
@@ -4,6 +4,8 @@
 //
 // Regression test for https://github.com/dart-lang/sdk/issues/43204
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/typed_data/typed_data_view_sublist_test.dart b/tests/lib_2/typed_data/typed_data_view_sublist_test.dart
index bcc96cb..5b8aeb5 100644
--- a/tests/lib_2/typed_data/typed_data_view_sublist_test.dart
+++ b/tests/lib_2/typed_data/typed_data_view_sublist_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/typed_data/typed_list_iterable_test.dart b/tests/lib_2/typed_data/typed_list_iterable_test.dart
index 844f535..5f418c0 100644
--- a/tests/lib_2/typed_data/typed_list_iterable_test.dart
+++ b/tests/lib_2/typed_data/typed_list_iterable_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.9
+
 import 'dart:typed_data';
 
 import 'package:expect/expect.dart';
diff --git a/tests/lib_2/typed_data/unmodifiable_typed_data_test.dart b/tests/lib_2/typed_data/unmodifiable_typed_data_test.dart
index 2a04cd7..7c62f50 100644
--- a/tests/lib_2/typed_data/unmodifiable_typed_data_test.dart
+++ b/tests/lib_2/typed_data/unmodifiable_typed_data_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/typed_data/zeroed_allocation_test.dart b/tests/lib_2/typed_data/zeroed_allocation_test.dart
index ee5c229..3e78a53 100644
--- a/tests/lib_2/typed_data/zeroed_allocation_test.dart
+++ b/tests/lib_2/typed_data/zeroed_allocation_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.9
+
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/tests/lib_2/wasm/basic_test.dart b/tests/lib_2/wasm/basic_test.dart
index 309f943..858657e 100644
--- a/tests/lib_2/wasm/basic_test.dart
+++ b/tests/lib_2/wasm/basic_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.9
+
 // Test that we can load a wasm module, find a function, and call it.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/corrupted_error_test.dart b/tests/lib_2/wasm/corrupted_error_test.dart
index 2b8d3fa..ed2cc66 100644
--- a/tests/lib_2/wasm/corrupted_error_test.dart
+++ b/tests/lib_2/wasm/corrupted_error_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.9
+
 // Test error thrown when the wasm module is corrupted.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/fn_call_error_test.dart b/tests/lib_2/wasm/fn_call_error_test.dart
index 641f915..2364605 100644
--- a/tests/lib_2/wasm/fn_call_error_test.dart
+++ b/tests/lib_2/wasm/fn_call_error_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.9
+
 // Test error thrown when a function is called with the wrong args.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/fn_import_error_test.dart b/tests/lib_2/wasm/fn_import_error_test.dart
index aeca278..b15a1be 100644
--- a/tests/lib_2/wasm/fn_import_error_test.dart
+++ b/tests/lib_2/wasm/fn_import_error_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.9
+
 // Test errors thrown by function imports.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/fn_import_exception_test.dart b/tests/lib_2/wasm/fn_import_exception_test.dart
index c97a68a..8199023 100644
--- a/tests/lib_2/wasm/fn_import_exception_test.dart
+++ b/tests/lib_2/wasm/fn_import_exception_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.9
+
 // Test throwing exceptions from an imported function.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/fn_import_test.dart b/tests/lib_2/wasm/fn_import_test.dart
index 3558c17..eac6ac0 100644
--- a/tests/lib_2/wasm/fn_import_test.dart
+++ b/tests/lib_2/wasm/fn_import_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.9
+
 // Test that we can load a wasm module, find a function, and call it.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/hello_wasi_test.dart b/tests/lib_2/wasm/hello_wasi_test.dart
index d862b89..3dd5d43 100644
--- a/tests/lib_2/wasm/hello_wasi_test.dart
+++ b/tests/lib_2/wasm/hello_wasi_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.9
+
 // Variant of hello_world_test that uses the default WASI imports.
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/lib_2/wasm/hello_world_test.dart b/tests/lib_2/wasm/hello_world_test.dart
index b3ef2a5..3c09a5e 100644
--- a/tests/lib_2/wasm/hello_world_test.dart
+++ b/tests/lib_2/wasm/hello_world_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.9
+
 // Test for hello world built using emscripten with WASI.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/import_error_test.dart b/tests/lib_2/wasm/import_error_test.dart
index a06a3a9..a1b6536 100644
--- a/tests/lib_2/wasm/import_error_test.dart
+++ b/tests/lib_2/wasm/import_error_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.9
+
 // Test errors thrown by WasmImports.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/memory_error_test.dart b/tests/lib_2/wasm/memory_error_test.dart
index f02dc6c..34825e7 100644
--- a/tests/lib_2/wasm/memory_error_test.dart
+++ b/tests/lib_2/wasm/memory_error_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.9
+
 // Test errors thrown by WasmMemory.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/memory_test.dart b/tests/lib_2/wasm/memory_test.dart
index 544c6a1..7b58af4 100644
--- a/tests/lib_2/wasm/memory_test.dart
+++ b/tests/lib_2/wasm/memory_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.9
+
 // Test that we can create a WasmMemory, edit it, and grow it.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/numerics_test.dart b/tests/lib_2/wasm/numerics_test.dart
index eba9aaa..2cf73bb 100644
--- a/tests/lib_2/wasm/numerics_test.dart
+++ b/tests/lib_2/wasm/numerics_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.9
+
 // Test numeric types.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/void_test.dart b/tests/lib_2/wasm/void_test.dart
index aba9c65..2281603 100644
--- a/tests/lib_2/wasm/void_test.dart
+++ b/tests/lib_2/wasm/void_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.9
+
 // Test functions with void return type, and functions that take no args.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/wasm/wasi_error_test.dart b/tests/lib_2/wasm/wasi_error_test.dart
index 8418dad..d121681 100644
--- a/tests/lib_2/wasm/wasi_error_test.dart
+++ b/tests/lib_2/wasm/wasi_error_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.9
+
 // Test the errors that can be thrown by WASI.
 
 import "package:expect/expect.dart";
diff --git a/tests/lib_2/web/mirrors_support_test.dart b/tests/lib_2/web/mirrors_support_test.dart
index 78f3648..9f4c0b2 100644
--- a/tests/lib_2/web/mirrors_support_test.dart
+++ b/tests/lib_2/web/mirrors_support_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.9
+
 // 'dart:mirrors' can no longer be imported, doing so produces a static error.
 import 'dart:mirrors';   //# 01: compile-time error
 
diff --git a/tests/standalone_2/array_bounds_check_generalization_test.dart b/tests/standalone_2/array_bounds_check_generalization_test.dart
index 862123c..62e596d 100644
--- a/tests/standalone_2/array_bounds_check_generalization_test.dart
+++ b/tests/standalone_2/array_bounds_check_generalization_test.dart
@@ -6,6 +6,8 @@
 // generated during all phases of compilation and deoptimization.
 // VMOptions=--optimization_counter_threshold=10 --no-use-osr --complete-timeline --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 test1(a, start, step, N) {
diff --git a/tests/standalone_2/assert_assignable_canon_test.dart b/tests/standalone_2/assert_assignable_canon_test.dart
index f32f5c8..0030439 100644
--- a/tests/standalone_2/assert_assignable_canon_test.dart
+++ b/tests/standalone_2/assert_assignable_canon_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--optimization-counter-threshold=10 --no-background-compilation
 
+// @dart = 2.9
+
 abstract class A<T extends A<T>> {
   @pragma('vm:prefer-inline')
   f(x) => new R<T>(x);
diff --git a/tests/standalone_2/byte_array_view_optimized_test.dart b/tests/standalone_2/byte_array_view_optimized_test.dart
index 77b22d3..1de0e7c 100644
--- a/tests/standalone_2/byte_array_view_optimized_test.dart
+++ b/tests/standalone_2/byte_array_view_optimized_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.9
+
 // Test optimization of byte array views on external data.
 
 // Library tag to be able to run in html test framework.
diff --git a/tests/standalone_2/bytedata_test.dart b/tests/standalone_2/bytedata_test.dart
index 7f8acf4..5f9e672 100644
--- a/tests/standalone_2/bytedata_test.dart
+++ b/tests/standalone_2/bytedata_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing typed data.
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library ByteDataTest;
 
diff --git a/tests/standalone_2/causal_async_stack_test.dart b/tests/standalone_2/causal_async_stack_test.dart
index 652edb3..5066215 100644
--- a/tests/standalone_2/causal_async_stack_test.dart
+++ b/tests/standalone_2/causal_async_stack_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--lazy-async-stacks
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 noop() async => Future.value(null);
diff --git a/tests/standalone_2/check_class_cha_test.dart b/tests/standalone_2/check_class_cha_test.dart
index 19ed029..aaf70af 100644
--- a/tests/standalone_2/check_class_cha_test.dart
+++ b/tests/standalone_2/check_class_cha_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.9
+
 import "package:expect/expect.dart";
 
 // Class hierarchy on an abstract class
diff --git a/tests/standalone_2/check_for_aot_snapshot_jit_test.dart b/tests/standalone_2/check_for_aot_snapshot_jit_test.dart
index a1dd29d..dc6dbc1 100644
--- a/tests/standalone_2/check_for_aot_snapshot_jit_test.dart
+++ b/tests/standalone_2/check_for_aot_snapshot_jit_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2020, 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.9
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/check_null_cha_test.dart b/tests/standalone_2/check_null_cha_test.dart
index fc9c17d..79a474c 100644
--- a/tests/standalone_2/check_null_cha_test.dart
+++ b/tests/standalone_2/check_null_cha_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.9
+
 import "package:expect/expect.dart";
 
 // A class the has a getter also provided by Object
diff --git a/tests/standalone_2/constant_left_shift_test.dart b/tests/standalone_2/constant_left_shift_test.dart
index 5f87650..74927da 100644
--- a/tests/standalone_2/constant_left_shift_test.dart
+++ b/tests/standalone_2/constant_left_shift_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing left shifts of a constant.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 shiftLeft0(c) => 0 << c;
diff --git a/tests/standalone_2/deferred/alpha.dart b/tests/standalone_2/deferred/alpha.dart
index 20aac88..12062ea 100644
--- a/tests/standalone_2/deferred/alpha.dart
+++ b/tests/standalone_2/deferred/alpha.dart
@@ -1,2 +1,4 @@
 // beta.dart does not exist!
+
+// @dart = 2.9
 import 'beta.dart';
diff --git a/tests/standalone_2/deferred/exists.dart b/tests/standalone_2/deferred/exists.dart
index 26cc193..4e4b58b 100644
--- a/tests/standalone_2/deferred/exists.dart
+++ b/tests/standalone_2/deferred/exists.dart
@@ -1 +1,3 @@
+
+// @dart = 2.9
 var x = 99;
diff --git a/tests/standalone_2/deferred/transitive_error.dart b/tests/standalone_2/deferred/transitive_error.dart
index e5a9af7..66523fa 100644
--- a/tests/standalone_2/deferred/transitive_error.dart
+++ b/tests/standalone_2/deferred/transitive_error.dart
@@ -1 +1,3 @@
+
+// @dart = 2.9
 import 'alpha.dart';
diff --git a/tests/standalone_2/deferred_transitive_import_error_test.dart b/tests/standalone_2/deferred_transitive_import_error_test.dart
index 585c9cd..85dce33 100644
--- a/tests/standalone_2/deferred_transitive_import_error_test.dart
+++ b/tests/standalone_2/deferred_transitive_import_error_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.9
+
 import "package:expect/expect.dart";
 // A deferred library that doesn't exist.
 import 'package:foo/foo.dart' deferred as foo;
diff --git a/tests/standalone_2/deny_listed_test.dart b/tests/standalone_2/deny_listed_test.dart
index 2516b20..0a64df6 100644
--- a/tests/standalone_2/deny_listed_test.dart
+++ b/tests/standalone_2/deny_listed_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Dart test checking that static/instance field shadowing do not conflict.
 
+// @dart = 2.9
+
 // Test that certain interfaces/classes are denylisted from being
 // implemented or extended (VM corelib only).
 
diff --git a/tests/standalone_2/deoptimization_test.dart b/tests/standalone_2/deoptimization_test.dart
index b60f789..962bac2 100644
--- a/tests/standalone_2/deoptimization_test.dart
+++ b/tests/standalone_2/deoptimization_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test deoptimization.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class SmiCompares {
diff --git a/tests/standalone_2/double_hash_distribution_test.dart b/tests/standalone_2/double_hash_distribution_test.dart
index 1abf107..ac286e2 100644
--- a/tests/standalone_2/double_hash_distribution_test.dart
+++ b/tests/standalone_2/double_hash_distribution_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.9
+
 // Test that the distribution of hash codes for doubles is reasonable.
 
 // VMOptions=--intrinsify
diff --git a/tests/standalone_2/double_smi_comparison_test.dart b/tests/standalone_2/double_smi_comparison_test.dart
index fff6015..4bcbe5d 100644
--- a/tests/standalone_2/double_smi_comparison_test.dart
+++ b/tests/standalone_2/double_smi_comparison_test.dart
@@ -7,6 +7,8 @@
 // double without loss of precision.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 equalityFunc(a, b) => a == b;
diff --git a/tests/standalone_2/double_temp_test.dart b/tests/standalone_2/double_temp_test.dart
index da55ef3..a0f3093 100644
--- a/tests/standalone_2/double_temp_test.dart
+++ b/tests/standalone_2/double_temp_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test correct usage of inlined double temporary objects.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/double_to_int_test.dart b/tests/standalone_2/double_to_int_test.dart
index b798d08..eee93b7 100644
--- a/tests/standalone_2/double_to_int_test.dart
+++ b/tests/standalone_2/double_to_int_test.dart
@@ -6,6 +6,8 @@
 // unless we encounter a non-Smi result, in which case we deoptimize and
 // optimize it later to DoubleToInt.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/dwarf_stack_trace_obfuscate_test.dart b/tests/standalone_2/dwarf_stack_trace_obfuscate_test.dart
index 5750ab5..8614b88 100644
--- a/tests/standalone_2/dwarf_stack_trace_obfuscate_test.dart
+++ b/tests/standalone_2/dwarf_stack_trace_obfuscate_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.9
+
 /// VMOptions=--dwarf-stack-traces --save-debugging-info=dwarf_obfuscate.so --obfuscate
 
 import 'dart:io';
@@ -52,13 +54,13 @@
     DartCallInfo(
         function: "bar",
         filename: "dwarf_stack_trace_obfuscate_test.dart",
-        line: 17,
+        line: 19,
         column: 3,
         inlined: true),
     DartCallInfo(
         function: "foo",
         filename: "dwarf_stack_trace_obfuscate_test.dart",
-        line: 23,
+        line: 25,
         column: 3,
         inlined: false)
   ],
@@ -67,7 +69,7 @@
     DartCallInfo(
         function: "main",
         filename: "dwarf_stack_trace_obfuscate_test.dart",
-        line: 29,
+        line: 31,
         column: 5,
         inlined: false)
   ],
diff --git a/tests/standalone_2/dwarf_stack_trace_test.dart b/tests/standalone_2/dwarf_stack_trace_test.dart
index 9cf2cb0..6624b62 100644
--- a/tests/standalone_2/dwarf_stack_trace_test.dart
+++ b/tests/standalone_2/dwarf_stack_trace_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.9
+
 /// VMOptions=--dwarf-stack-traces --save-debugging-info=dwarf.so
 
 import 'dart:convert';
@@ -138,13 +140,13 @@
     DartCallInfo(
         function: "bar",
         filename: "dwarf_stack_trace_test.dart",
-        line: 17,
+        line: 19,
         column: 3,
         inlined: true),
     DartCallInfo(
         function: "foo",
         filename: "dwarf_stack_trace_test.dart",
-        line: 23,
+        line: 25,
         column: 3,
         inlined: false)
   ],
@@ -153,7 +155,7 @@
     DartCallInfo(
         function: "main",
         filename: "dwarf_stack_trace_test.dart",
-        line: 29,
+        line: 31,
         column: 5,
         inlined: false)
   ],
diff --git a/tests/standalone_2/entrypoints_verification_test.dart b/tests/standalone_2/entrypoints_verification_test.dart
index 048f1f3..dcdc757 100644
--- a/tests/standalone_2/entrypoints_verification_test.dart
+++ b/tests/standalone_2/entrypoints_verification_test.dart
@@ -4,6 +4,8 @@
 //
 // VMOptions=--verify-entry-points=true
 
+// @dart = 2.9
+
 import 'dart:io';
 import 'dart:convert';
 import 'dart:math';
diff --git a/tests/standalone_2/env_test.dart b/tests/standalone_2/env_test.dart
index 6280f60..4e0b7ac 100644
--- a/tests/standalone_2/env_test.dart
+++ b/tests/standalone_2/env_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // SharedOptions=-Dvar -D -D=var -Dvar=invalid -Dvar=valid -Dvar
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/fields_may_be_reset_test.dart b/tests/standalone_2/fields_may_be_reset_test.dart
index 3ab6fc6..7e7f00a 100644
--- a/tests/standalone_2/fields_may_be_reset_test.dart
+++ b/tests/standalone_2/fields_may_be_reset_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.9
+
 // VMOptions=--fields_may_be_reset
 
 main() {
diff --git a/tests/standalone_2/float_array_static_test.dart b/tests/standalone_2/float_array_static_test.dart
index 1c89b96..b520ac7 100644
--- a/tests/standalone_2/float_array_static_test.dart
+++ b/tests/standalone_2/float_array_static_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing native float arrays.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
 // Library tag to be able to run in html test framework.
diff --git a/tests/standalone_2/float_array_test.dart b/tests/standalone_2/float_array_test.dart
index a7e7842..5ba41fd 100644
--- a/tests/standalone_2/float_array_test.dart
+++ b/tests/standalone_2/float_array_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing native float arrays.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
 // Library tag to be able to run in html test framework.
diff --git a/tests/standalone_2/fragmentation_deferred_load_lib1.dart b/tests/standalone_2/fragmentation_deferred_load_lib1.dart
index c561f14..3749f1a 100644
--- a/tests/standalone_2/fragmentation_deferred_load_lib1.dart
+++ b/tests/standalone_2/fragmentation_deferred_load_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.9
+
 foo() {
   return "one!";
 }
diff --git a/tests/standalone_2/fragmentation_deferred_load_lib2.dart b/tests/standalone_2/fragmentation_deferred_load_lib2.dart
index 1f01b0f..01a47db 100644
--- a/tests/standalone_2/fragmentation_deferred_load_lib2.dart
+++ b/tests/standalone_2/fragmentation_deferred_load_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.9
+
 foo() {
   return "two!";
 }
diff --git a/tests/standalone_2/fragmentation_deferred_load_lib3.dart b/tests/standalone_2/fragmentation_deferred_load_lib3.dart
index 77d3264..30095f4 100644
--- a/tests/standalone_2/fragmentation_deferred_load_lib3.dart
+++ b/tests/standalone_2/fragmentation_deferred_load_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.9
+
 foo() {
   return "three!";
 }
diff --git a/tests/standalone_2/fragmentation_deferred_load_test.dart b/tests/standalone_2/fragmentation_deferred_load_test.dart
index 8e0ecc3..998f658 100644
--- a/tests/standalone_2/fragmentation_deferred_load_test.dart
+++ b/tests/standalone_2/fragmentation_deferred_load_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.9
+
 // VMOptions=--use_compactor
 
 // Each loading unit creates more image pages in the heap, which unfortunately
diff --git a/tests/standalone_2/fragmentation_test.dart b/tests/standalone_2/fragmentation_test.dart
index f24ea09..80961dc 100644
--- a/tests/standalone_2/fragmentation_test.dart
+++ b/tests/standalone_2/fragmentation_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.9
+
 // Deliberately fragment the heap and test that GC peformance does not
 // break down.  See https://github.com/dart-lang/sdk/issues/29588
 // Normally runs in about 6-7 seconds on an x64 machine, using about 2.5Gbytes
diff --git a/tests/standalone_2/fragmentation_typed_data_test.dart b/tests/standalone_2/fragmentation_typed_data_test.dart
index 0d00fb2..ce91419 100644
--- a/tests/standalone_2/fragmentation_typed_data_test.dart
+++ b/tests/standalone_2/fragmentation_typed_data_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.9
+
 // See fragmentation_test.dart for more information.
 //
 // VMOptions=--no_concurrent_mark --no_concurrent_sweep
diff --git a/tests/standalone_2/http_launch_data/http_isolate_main.dart b/tests/standalone_2/http_launch_data/http_isolate_main.dart
index ad6306a..61b2f0f 100644
--- a/tests/standalone_2/http_launch_data/http_isolate_main.dart
+++ b/tests/standalone_2/http_launch_data/http_isolate_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.9
+
 import 'dart:isolate';
 
 main(List<String> args, SendPort replyTo) {
diff --git a/tests/standalone_2/http_launch_data/http_spawn_main.dart b/tests/standalone_2/http_launch_data/http_spawn_main.dart
index e6b1a24..c7817c5 100644
--- a/tests/standalone_2/http_launch_data/http_spawn_main.dart
+++ b/tests/standalone_2/http_launch_data/http_spawn_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.9
+
 library http_launch_main;
 
 import 'dart:isolate';
diff --git a/tests/standalone_2/http_launch_data/the_packages/simple/simple.dart b/tests/standalone_2/http_launch_data/the_packages/simple/simple.dart
index 1a7e7e0..1ade2d2 100644
--- a/tests/standalone_2/http_launch_data/the_packages/simple/simple.dart
+++ b/tests/standalone_2/http_launch_data/the_packages/simple/simple.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library simple;
 
 String getSimpleString() => 'hello';
diff --git a/tests/standalone_2/http_launch_test.dart b/tests/standalone_2/http_launch_test.dart
index 62b4966..8a6d37be 100644
--- a/tests/standalone_2/http_launch_test.dart
+++ b/tests/standalone_2/http_launch_test.dart
@@ -17,6 +17,8 @@
 //   *) Automatically resolving package_root when script is fetched over HTTP.
 //   *) Spawning a URI over HTTP.
 
+// @dart = 2.9
+
 library http_launch_test;
 
 import 'dart:async';
diff --git a/tests/standalone_2/int_array_deopt.dart b/tests/standalone_2/int_array_deopt.dart
index 7a2b969..a1b416d 100644
--- a/tests/standalone_2/int_array_deopt.dart
+++ b/tests/standalone_2/int_array_deopt.dart
@@ -4,6 +4,8 @@
 //
 // Dart deoptimization of Uint32Array and Int32Array loads.
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/int_array_load_elimination_test.dart b/tests/standalone_2/int_array_load_elimination_test.dart
index 4e8dea6..2371a53 100644
--- a/tests/standalone_2/int_array_load_elimination_test.dart
+++ b/tests/standalone_2/int_array_load_elimination_test.dart
@@ -4,6 +4,8 @@
 //
 // Test correct load elimination for scalar lists.
 
+// @dart = 2.9
+
 // TODO: remove once bug 2264 fixed.
 library int_array_load_elimination;
 
diff --git a/tests/standalone_2/int_array_test.dart b/tests/standalone_2/int_array_test.dart
index 30d326a..bb79faf 100644
--- a/tests/standalone_2/int_array_test.dart
+++ b/tests/standalone_2/int_array_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing native int arrays.
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library IntArrayTest;
 
diff --git a/tests/standalone_2/int_list_test.dart b/tests/standalone_2/int_list_test.dart
index c719f4d..8fc0a5e 100644
--- a/tests/standalone_2/int_list_test.dart
+++ b/tests/standalone_2/int_list_test.dart
@@ -7,6 +7,8 @@
 //
 // VMOptions=--optimization-counter-threshold=5 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/addlatexhash_test.dart b/tests/standalone_2/io/addlatexhash_test.dart
index cbfc92d..1236bf9 100755
--- a/tests/standalone_2/io/addlatexhash_test.dart
+++ b/tests/standalone_2/io/addlatexhash_test.dart
@@ -3,6 +3,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // testing ../../../tools/addlatexhash.dart
 
 import 'dart:io';
diff --git a/tests/standalone_2/io/address_lookup_test.dart b/tests/standalone_2/io/address_lookup_test.dart
index 74b76c5..594a0c7 100644
--- a/tests/standalone_2/io/address_lookup_test.dart
+++ b/tests/standalone_2/io/address_lookup_test.dart
@@ -5,6 +5,8 @@
 // Verifies that one can provide timeout handler for InternetAddress.lookup,
 // which was reported broken https://github.com/dart-lang/sdk/issues/45542.
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/ansi_supported_test.dart b/tests/standalone_2/io/ansi_supported_test.dart
index 643ae7a..c17820a 100644
--- a/tests/standalone_2/io/ansi_supported_test.dart
+++ b/tests/standalone_2/io/ansi_supported_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/arguments_test.dart b/tests/standalone_2/io/arguments_test.dart
index 9148217..7a93297 100644
--- a/tests/standalone_2/io/arguments_test.dart
+++ b/tests/standalone_2/io/arguments_test.dart
@@ -4,6 +4,8 @@
 //
 // DartOptions=10 arguments_test 20
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main(List<String> args) {
diff --git a/tests/standalone_2/io/async_catch_errors_test.dart b/tests/standalone_2/io/async_catch_errors_test.dart
index c039ad8..b5db4c0 100644
--- a/tests/standalone_2/io/async_catch_errors_test.dart
+++ b/tests/standalone_2/io/async_catch_errors_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/client_socket_add_close_error_test.dart b/tests/standalone_2/io/client_socket_add_close_error_test.dart
index b7ebf2c..e43294d 100644
--- a/tests/standalone_2/io/client_socket_add_close_error_test.dart
+++ b/tests/standalone_2/io/client_socket_add_close_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/client_socket_add_close_no_error_test.dart b/tests/standalone_2/io/client_socket_add_close_no_error_test.dart
index 7b92acc..53f0be7 100644
--- a/tests/standalone_2/io/client_socket_add_close_no_error_test.dart
+++ b/tests/standalone_2/io/client_socket_add_close_no_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/client_socket_add_close_result_error_test.dart b/tests/standalone_2/io/client_socket_add_close_result_error_test.dart
index 58ff72f..be38826 100644
--- a/tests/standalone_2/io/client_socket_add_close_result_error_test.dart
+++ b/tests/standalone_2/io/client_socket_add_close_result_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/client_socket_add_destroy_no_error_test.dart b/tests/standalone_2/io/client_socket_add_destroy_no_error_test.dart
index 66d7da1..2521183 100644
--- a/tests/standalone_2/io/client_socket_add_destroy_no_error_test.dart
+++ b/tests/standalone_2/io/client_socket_add_destroy_no_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/client_socket_destory_no_error_test.dart b/tests/standalone_2/io/client_socket_destory_no_error_test.dart
index 37aaf49..ba92ce1 100644
--- a/tests/standalone_2/io/client_socket_destory_no_error_test.dart
+++ b/tests/standalone_2/io/client_socket_destory_no_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/client_socket_exception_test.dart b/tests/standalone_2/io/client_socket_exception_test.dart
index b6c53a28..7bcccf8 100644
--- a/tests/standalone_2/io/client_socket_exception_test.dart
+++ b/tests/standalone_2/io/client_socket_exception_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/compile_all_test.dart b/tests/standalone_2/io/compile_all_test.dart
index f82e9af..4715afe 100644
--- a/tests/standalone_2/io/compile_all_test.dart
+++ b/tests/standalone_2/io/compile_all_test.dart
@@ -7,6 +7,8 @@
 //
 // VMOptions=--compile_all
 
+// @dart = 2.9
+
 import "dart:io";
 
 main() => null;
diff --git a/tests/standalone_2/io/console_unicode_test.dart b/tests/standalone_2/io/console_unicode_test.dart
index 7284b5f..349afb6 100644
--- a/tests/standalone_2/io/console_unicode_test.dart
+++ b/tests/standalone_2/io/console_unicode_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.9
+
 import 'dart:convert';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/create_recursive_test.dart b/tests/standalone_2/io/create_recursive_test.dart
index a4be850..b9da3db 100644
--- a/tests/standalone_2/io/create_recursive_test.dart
+++ b/tests/standalone_2/io/create_recursive_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.9
+
 import 'dart:io';
 import 'dart:async';
 
diff --git a/tests/standalone_2/io/dart_std_io_pipe_script.dart b/tests/standalone_2/io/dart_std_io_pipe_script.dart
index 1742df8..888a992 100644
--- a/tests/standalone_2/io/dart_std_io_pipe_script.dart
+++ b/tests/standalone_2/io/dart_std_io_pipe_script.dart
@@ -4,6 +4,8 @@
 //
 // Utility script to echo stdin to stdout or stderr or both.
 
+// @dart = 2.9
+
 import "dart:io";
 
 main(List<String> arguments) {
diff --git a/tests/standalone_2/io/dart_std_io_pipe_test.dart b/tests/standalone_2/io/dart_std_io_pipe_test.dart
index 6a7002a..2e63e1a 100644
--- a/tests/standalone_2/io/dart_std_io_pipe_test.dart
+++ b/tests/standalone_2/io/dart_std_io_pipe_test.dart
@@ -10,6 +10,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 import "process_test_util.dart";
diff --git a/tests/standalone_2/io/delete_symlink_test.dart b/tests/standalone_2/io/delete_symlink_test.dart
index 1a8c149..d926db1 100644
--- a/tests/standalone_2/io/delete_symlink_test.dart
+++ b/tests/standalone_2/io/delete_symlink_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/directory_chdir_test.dart b/tests/standalone_2/io/directory_chdir_test.dart
index fe0d1ac..d45fd0a 100644
--- a/tests/standalone_2/io/directory_chdir_test.dart
+++ b/tests/standalone_2/io/directory_chdir_test.dart
@@ -4,6 +4,8 @@
 //
 // Directory listing test.
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/directory_create_race_test.dart b/tests/standalone_2/io/directory_create_race_test.dart
index 973511c..65ca9d8 100644
--- a/tests/standalone_2/io/directory_create_race_test.dart
+++ b/tests/standalone_2/io/directory_create_race_test.dart
@@ -7,6 +7,8 @@
 // issue https://code.google.com/p/dart/issues/detail?id=7679 in revisions
 // without the fix for this issue.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/directory_error_test.dart b/tests/standalone_2/io/directory_error_test.dart
index 892b0a6..5cdd73b 100644
--- a/tests/standalone_2/io/directory_error_test.dart
+++ b/tests/standalone_2/io/directory_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing error handling in directory I/O.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/directory_fuzz_test.dart b/tests/standalone_2/io/directory_fuzz_test.dart
index 9d3dcae..227058d6 100644
--- a/tests/standalone_2/io/directory_fuzz_test.dart
+++ b/tests/standalone_2/io/directory_fuzz_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.9
+
 // 'fuzz' test the directory APIs by providing unexpected type
 // arguments. The test passes if the VM does not crash.
 
diff --git a/tests/standalone_2/io/directory_list_nonexistent_test.dart b/tests/standalone_2/io/directory_list_nonexistent_test.dart
index c3e92f1..ab182f2 100644
--- a/tests/standalone_2/io/directory_list_nonexistent_test.dart
+++ b/tests/standalone_2/io/directory_list_nonexistent_test.dart
@@ -7,6 +7,8 @@
 // TODO(7157): Merge this test into directory_test.dart testListNonExistent()
 // when it no longer crashes on Windows, when issue 7157 is resolved.
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/directory_list_pause_test.dart b/tests/standalone_2/io/directory_list_pause_test.dart
index 159b769..d09528b 100644
--- a/tests/standalone_2/io/directory_list_pause_test.dart
+++ b/tests/standalone_2/io/directory_list_pause_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/directory_list_sync_test.dart b/tests/standalone_2/io/directory_list_sync_test.dart
index 0df5081..ec63715 100644
--- a/tests/standalone_2/io/directory_list_sync_test.dart
+++ b/tests/standalone_2/io/directory_list_sync_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.9
+
 import 'dart:io';
 
 void testList() {
diff --git a/tests/standalone_2/io/directory_non_ascii_sync_test.dart b/tests/standalone_2/io/directory_non_ascii_sync_test.dart
index df2283f..f7902cb 100644
--- a/tests/standalone_2/io/directory_non_ascii_sync_test.dart
+++ b/tests/standalone_2/io/directory_non_ascii_sync_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.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/directory_non_ascii_test.dart b/tests/standalone_2/io/directory_non_ascii_test.dart
index dc2dcb1..18dad1f 100644
--- a/tests/standalone_2/io/directory_non_ascii_test.dart
+++ b/tests/standalone_2/io/directory_non_ascii_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/directory_test.dart b/tests/standalone_2/io/directory_test.dart
index dad3ac5..91acf75 100644
--- a/tests/standalone_2/io/directory_test.dart
+++ b/tests/standalone_2/io/directory_test.dart
@@ -4,6 +4,8 @@
 //
 // Directory listing test.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/directory_uri_test.dart b/tests/standalone_2/io/directory_uri_test.dart
index df94d95..3bc1258 100644
--- a/tests/standalone_2/io/directory_uri_test.dart
+++ b/tests/standalone_2/io/directory_uri_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/disable_exit_test.dart b/tests/standalone_2/io/disable_exit_test.dart
index f9d467d..1582890 100644
--- a/tests/standalone_2/io/disable_exit_test.dart
+++ b/tests/standalone_2/io/disable_exit_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--disable-exit
 
+// @dart = 2.9
+
 import "dart:io" as io;
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/echo_server_stream_test.dart b/tests/standalone_2/io/echo_server_stream_test.dart
index 7b65388..6b0b6c7 100644
--- a/tests/standalone_2/io/echo_server_stream_test.dart
+++ b/tests/standalone_2/io/echo_server_stream_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/file_absolute_path_test.dart b/tests/standalone_2/io/file_absolute_path_test.dart
index bd5d97e..e20d29f 100644
--- a/tests/standalone_2/io/file_absolute_path_test.dart
+++ b/tests/standalone_2/io/file_absolute_path_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing FileSystemEntity.absolute
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/file_blocking_lock_script.dart b/tests/standalone_2/io/file_blocking_lock_script.dart
index 00f8bb5..2975afa 100644
--- a/tests/standalone_2/io/file_blocking_lock_script.dart
+++ b/tests/standalone_2/io/file_blocking_lock_script.dart
@@ -4,6 +4,8 @@
 //
 // Script used by the file_lock_test.dart test.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_blocking_lock_test.dart b/tests/standalone_2/io/file_blocking_lock_test.dart
index 8896fb3..e649ebc 100644
--- a/tests/standalone_2/io/file_blocking_lock_test.dart
+++ b/tests/standalone_2/io/file_blocking_lock_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.9
+
 // OtherResources=file_blocking_lock_script.dart
 
 // This test works by spawning a new process running
diff --git a/tests/standalone_2/io/file_constructor_test.dart b/tests/standalone_2/io/file_constructor_test.dart
index 7a44d9f..8977d3e 100644
--- a/tests/standalone_2/io/file_constructor_test.dart
+++ b/tests/standalone_2/io/file_constructor_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.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/file_copy_test.dart b/tests/standalone_2/io/file_copy_test.dart
index b1c0723..7d040d6 100644
--- a/tests/standalone_2/io/file_copy_test.dart
+++ b/tests/standalone_2/io/file_copy_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing File.copy*
 
+// @dart = 2.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/file_create_test.dart b/tests/standalone_2/io/file_create_test.dart
index 126ac4a..a11c012 100644
--- a/tests/standalone_2/io/file_create_test.dart
+++ b/tests/standalone_2/io/file_create_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing file creation.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/file_error2_test.dart b/tests/standalone_2/io/file_error2_test.dart
index 4317211..2e3a7bf 100644
--- a/tests/standalone_2/io/file_error2_test.dart
+++ b/tests/standalone_2/io/file_error2_test.dart
@@ -11,6 +11,8 @@
 // Environment=MSAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1
 // Environment=TSAN_OPTIONS=handle_segv=0:detect_stack_use_after_return=1:allocator_may_return_null=1
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "file_error_test.dart" show createTestFile;
diff --git a/tests/standalone_2/io/file_error_test.dart b/tests/standalone_2/io/file_error_test.dart
index ee80df4..ee55a05 100644
--- a/tests/standalone_2/io/file_error_test.dart
+++ b/tests/standalone_2/io/file_error_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing error handling in file I/O.
 
+// @dart = 2.9
+
 import "dart:convert";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_fuzz_test.dart b/tests/standalone_2/io/file_fuzz_test.dart
index 21c09c4..60a7e5b 100644
--- a/tests/standalone_2/io/file_fuzz_test.dart
+++ b/tests/standalone_2/io/file_fuzz_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.9
+
 // 'fuzz' test the file APIs by providing unexpected type arguments. The test
 // passes if the VM does not crash.
 
diff --git a/tests/standalone_2/io/file_input_stream_test.dart b/tests/standalone_2/io/file_input_stream_test.dart
index 68c272d..68bebe8 100644
--- a/tests/standalone_2/io/file_input_stream_test.dart
+++ b/tests/standalone_2/io/file_input_stream_test.dart
@@ -7,6 +7,8 @@
 // OtherResources=readline_test1.dat
 // OtherResources=readline_test2.dat
 
+// @dart = 2.9
+
 import "dart:convert";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_lock_test.dart b/tests/standalone_2/io/file_lock_test.dart
index f117223..d2cdefb 100644
--- a/tests/standalone_2/io/file_lock_test.dart
+++ b/tests/standalone_2/io/file_lock_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.9
+
 // OtherResources=file_lock_script.dart
 
 import 'dart:async';
diff --git a/tests/standalone_2/io/file_long_path_test.dart b/tests/standalone_2/io/file_long_path_test.dart
index 454e633d..2b8d307f 100644
--- a/tests/standalone_2/io/file_long_path_test.dart
+++ b/tests/standalone_2/io/file_long_path_test.dart
@@ -4,6 +4,8 @@
 //
 // This test is Windows-only.
 
+// @dart = 2.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/file_non_ascii_sync_test.dart b/tests/standalone_2/io/file_non_ascii_sync_test.dart
index f664797..8e88307 100644
--- a/tests/standalone_2/io/file_non_ascii_sync_test.dart
+++ b/tests/standalone_2/io/file_non_ascii_sync_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.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/file_non_ascii_test.dart b/tests/standalone_2/io/file_non_ascii_test.dart
index cc465d8..7c57875 100644
--- a/tests/standalone_2/io/file_non_ascii_test.dart
+++ b/tests/standalone_2/io/file_non_ascii_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/file_output_stream_test.dart b/tests/standalone_2/io/file_output_stream_test.dart
index dfd9aa0..66e1cfd 100644
--- a/tests/standalone_2/io/file_output_stream_test.dart
+++ b/tests/standalone_2/io/file_output_stream_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing file input stream, VM-only, standalone test.
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/file_read_encoded_test.dart b/tests/standalone_2/io/file_read_encoded_test.dart
index 984b366..a3cc837 100644
--- a/tests/standalone_2/io/file_read_encoded_test.dart
+++ b/tests/standalone_2/io/file_read_encoded_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.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 import 'dart:io';
diff --git a/tests/standalone_2/io/file_read_special_device_test.dart b/tests/standalone_2/io/file_read_special_device_test.dart
index fcfd9cb..3fc3514 100644
--- a/tests/standalone_2/io/file_read_special_device_test.dart
+++ b/tests/standalone_2/io/file_read_special_device_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.9
+
 // OtherResources=file_read_stdio_script.dart
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/file_read_stdio_script.dart b/tests/standalone_2/io/file_read_stdio_script.dart
index 948a0ec..730e4ac 100644
--- a/tests/standalone_2/io/file_read_stdio_script.dart
+++ b/tests/standalone_2/io/file_read_stdio_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.9
+
 import 'dart:io';
 
 void main() {
diff --git a/tests/standalone_2/io/file_relative_long_path_test.dart b/tests/standalone_2/io/file_relative_long_path_test.dart
index 0c53ab3..5f47224 100644
--- a/tests/standalone_2/io/file_relative_long_path_test.dart
+++ b/tests/standalone_2/io/file_relative_long_path_test.dart
@@ -6,6 +6,8 @@
 // representing a long absolute path cannot be used by Windows API. Running this
 // test without proper support on long path will get an error.
 
+// @dart = 2.9
+
 import 'dart:io';
 
 const maxPath = 260;
diff --git a/tests/standalone_2/io/file_stat_test.dart b/tests/standalone_2/io/file_stat_test.dart
index d7f6839..9af5190 100644
--- a/tests/standalone_2/io/file_stat_test.dart
+++ b/tests/standalone_2/io/file_stat_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing dart:io FileSystemEntity.Stat().
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/file_stream_test.dart b/tests/standalone_2/io/file_stream_test.dart
index 2d3577e..64c9d41 100644
--- a/tests/standalone_2/io/file_stream_test.dart
+++ b/tests/standalone_2/io/file_stream_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_system_async_links_test.dart b/tests/standalone_2/io/file_system_async_links_test.dart
index af62ca8..579f57e 100644
--- a/tests/standalone_2/io/file_system_async_links_test.dart
+++ b/tests/standalone_2/io/file_system_async_links_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_system_delete_test.dart b/tests/standalone_2/io/file_system_delete_test.dart
index 7602c69..c469e63 100644
--- a/tests/standalone_2/io/file_system_delete_test.dart
+++ b/tests/standalone_2/io/file_system_delete_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.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/file_system_exists_test.dart b/tests/standalone_2/io/file_system_exists_test.dart
index 12a7f19..2f37ced 100644
--- a/tests/standalone_2/io/file_system_exists_test.dart
+++ b/tests/standalone_2/io/file_system_exists_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/file_system_links_test.dart b/tests/standalone_2/io/file_system_links_test.dart
index 9af7296..fd0bc29 100644
--- a/tests/standalone_2/io/file_system_links_test.dart
+++ b/tests/standalone_2/io/file_system_links_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.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/file_system_uri_test.dart b/tests/standalone_2/io/file_system_uri_test.dart
index c48706d..f7835ea 100644
--- a/tests/standalone_2/io/file_system_uri_test.dart
+++ b/tests/standalone_2/io/file_system_uri_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.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/file_system_watcher_test.dart b/tests/standalone_2/io/file_system_watcher_test.dart
index bcca9a1..478f7077 100644
--- a/tests/standalone_2/io/file_system_watcher_test.dart
+++ b/tests/standalone_2/io/file_system_watcher_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/io/file_test.dart b/tests/standalone_2/io/file_test.dart
index 37967e9..a3a4823 100644
--- a/tests/standalone_2/io/file_test.dart
+++ b/tests/standalone_2/io/file_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing file I/O.
 
+// @dart = 2.9
+
 // OtherResources=empty_file
 // OtherResources=file_test.txt
 // OtherResources=fixed_length_file
diff --git a/tests/standalone_2/io/file_typed_data_test.dart b/tests/standalone_2/io/file_typed_data_test.dart
index 1e46e49..19d25e0 100644
--- a/tests/standalone_2/io/file_typed_data_test.dart
+++ b/tests/standalone_2/io/file_typed_data_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing file I/O.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/io/file_uri_test.dart b/tests/standalone_2/io/file_uri_test.dart
index 3001b70..9ac712d1 100644
--- a/tests/standalone_2/io/file_uri_test.dart
+++ b/tests/standalone_2/io/file_uri_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/file_windows_test.dart b/tests/standalone_2/io/file_windows_test.dart
index d0e2ddc..0533a2a 100644
--- a/tests/standalone_2/io/file_windows_test.dart
+++ b/tests/standalone_2/io/file_windows_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/file_write_as_test.dart b/tests/standalone_2/io/file_write_as_test.dart
index 64b2e11..b202525 100644
--- a/tests/standalone_2/io/file_write_as_test.dart
+++ b/tests/standalone_2/io/file_write_as_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.9
+
 import 'dart:async';
 import 'dart:collection';
 import 'dart:io';
diff --git a/tests/standalone_2/io/file_write_only_test.dart b/tests/standalone_2/io/file_write_only_test.dart
index b2ed67d..4a2d9cb 100644
--- a/tests/standalone_2/io/file_write_only_test.dart
+++ b/tests/standalone_2/io/file_write_only_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing file I/O.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/fuzz_support.dart b/tests/standalone_2/io/fuzz_support.dart
index 4b9d59d..1af4e09 100644
--- a/tests/standalone_2/io/fuzz_support.dart
+++ b/tests/standalone_2/io/fuzz_support.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library fuzz_support;
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/gzip_format_exception_test.dart b/tests/standalone_2/io/gzip_format_exception_test.dart
index 2b00af7..06eb87c 100644
--- a/tests/standalone_2/io/gzip_format_exception_test.dart
+++ b/tests/standalone_2/io/gzip_format_exception_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/http_100_continue_test.dart b/tests/standalone_2/io/http_100_continue_test.dart
index fb7abae..f3ca2d8 100644
--- a/tests/standalone_2/io/http_100_continue_test.dart
+++ b/tests/standalone_2/io/http_100_continue_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.9
+
 import "dart:async";
 import 'dart:convert';
 import "dart:io";
diff --git a/tests/standalone_2/io/http_10_test.dart b/tests/standalone_2/io/http_10_test.dart
index 92ecc6f..68acbf8 100644
--- a/tests/standalone_2/io/http_10_test.dart
+++ b/tests/standalone_2/io/http_10_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.9
+
 // VMOptions=
 // VMOptions=--short_socket_read
 // VMOptions=--short_socket_write
diff --git a/tests/standalone_2/io/http_advanced_test.dart b/tests/standalone_2/io/http_advanced_test.dart
index 62d6b30..c188870 100644
--- a/tests/standalone_2/io/http_advanced_test.dart
+++ b/tests/standalone_2/io/http_advanced_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/http_auth_digest_test.dart b/tests/standalone_2/io/http_auth_digest_test.dart
index 7161cf98..5f708b9 100644
--- a/tests/standalone_2/io/http_auth_digest_test.dart
+++ b/tests/standalone_2/io/http_auth_digest_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.9
+
 import "package:convert/convert.dart";
 import "package:crypto/crypto.dart";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_auth_test.dart b/tests/standalone_2/io/http_auth_test.dart
index 8d4ba43..231b182 100644
--- a/tests/standalone_2/io/http_auth_test.dart
+++ b/tests/standalone_2/io/http_auth_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.9
+
 import "package:crypto/crypto.dart";
 import "package:expect/expect.dart";
 import 'dart:async';
diff --git a/tests/standalone_2/io/http_ban_http_embedder_test.dart b/tests/standalone_2/io/http_ban_http_embedder_test.dart
index 7fd3cb3..d40500f 100644
--- a/tests/standalone_2/io/http_ban_http_embedder_test.dart
+++ b/tests/standalone_2/io/http_ban_http_embedder_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.9
+
 // SharedOptions=-Ddart.library.io.allow_http=false
 
 import 'dart:async';
diff --git a/tests/standalone_2/io/http_ban_http_normal_test.dart b/tests/standalone_2/io/http_ban_http_normal_test.dart
index 118dd4c..adb4708 100644
--- a/tests/standalone_2/io/http_ban_http_normal_test.dart
+++ b/tests/standalone_2/io/http_ban_http_normal_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/http_basic_test.dart b/tests/standalone_2/io/http_basic_test.dart
index 73b9e34..4356479 100644
--- a/tests/standalone_2/io/http_basic_test.dart
+++ b/tests/standalone_2/io/http_basic_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/http_big_header_test.dart b/tests/standalone_2/io/http_big_header_test.dart
index e5d25fb..80acde6 100644
--- a/tests/standalone_2/io/http_big_header_test.dart
+++ b/tests/standalone_2/io/http_big_header_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/http_bind_test.dart b/tests/standalone_2/io/http_bind_test.dart
index 502a012..7e03b64 100644
--- a/tests/standalone_2/io/http_bind_test.dart
+++ b/tests/standalone_2/io/http_bind_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:convert';
diff --git a/tests/standalone_2/io/http_client_connect_test.dart b/tests/standalone_2/io/http_client_connect_test.dart
index 46380f1..884e9de 100644
--- a/tests/standalone_2/io/http_client_connect_test.dart
+++ b/tests/standalone_2/io/http_client_connect_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/io/http_client_exception_test.dart b/tests/standalone_2/io/http_client_exception_test.dart
index 7b5ad9d..2206775 100644
--- a/tests/standalone_2/io/http_client_exception_test.dart
+++ b/tests/standalone_2/io/http_client_exception_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/http_client_parser_crlfs_tolerant_test.dart b/tests/standalone_2/io/http_client_parser_crlfs_tolerant_test.dart
index 1d02c39..3ff5d0b 100644
--- a/tests/standalone_2/io/http_client_parser_crlfs_tolerant_test.dart
+++ b/tests/standalone_2/io/http_client_parser_crlfs_tolerant_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests that CR*LF sequence works as well as CRLF in http client parser.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 
diff --git a/tests/standalone_2/io/http_client_request_test.dart b/tests/standalone_2/io/http_client_request_test.dart
index dae2b2a..f91b1e5 100644
--- a/tests/standalone_2/io/http_client_request_test.dart
+++ b/tests/standalone_2/io/http_client_request_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.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/http_client_stays_alive_test.dart b/tests/standalone_2/io/http_client_stays_alive_test.dart
index 37af33a..ba16535 100644
--- a/tests/standalone_2/io/http_client_stays_alive_test.dart
+++ b/tests/standalone_2/io/http_client_stays_alive_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.9
+
 // OtherResources=http_client_stays_alive_test.dart
 
 import 'dart:io';
diff --git a/tests/standalone_2/io/http_close_stack_overflow_test.dart b/tests/standalone_2/io/http_close_stack_overflow_test.dart
index 27055f8..de4a04e 100644
--- a/tests/standalone_2/io/http_close_stack_overflow_test.dart
+++ b/tests/standalone_2/io/http_close_stack_overflow_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.9
+
 import 'dart:io';
 
 // Test that closing a large amount of servers will not lead to a stack
diff --git a/tests/standalone_2/io/http_close_test.dart b/tests/standalone_2/io/http_close_test.dart
index d07175f..6230e47 100644
--- a/tests/standalone_2/io/http_close_test.dart
+++ b/tests/standalone_2/io/http_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_compression_test.dart b/tests/standalone_2/io/http_compression_test.dart
index ca9f2cf..f9aaacb 100644
--- a/tests/standalone_2/io/http_compression_test.dart
+++ b/tests/standalone_2/io/http_compression_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import 'package:expect/expect.dart';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/io/http_connection_close_test.dart b/tests/standalone_2/io/http_connection_close_test.dart
index df6d3ea..d6efbfb 100644
--- a/tests/standalone_2/io/http_connection_close_test.dart
+++ b/tests/standalone_2/io/http_connection_close_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_connection_header_test.dart b/tests/standalone_2/io/http_connection_header_test.dart
index a42e458..6e87fd4 100644
--- a/tests/standalone_2/io/http_connection_header_test.dart
+++ b/tests/standalone_2/io/http_connection_header_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:isolate";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_connection_info_test.dart b/tests/standalone_2/io/http_connection_info_test.dart
index 81199dd..c91e377 100644
--- a/tests/standalone_2/io/http_connection_info_test.dart
+++ b/tests/standalone_2/io/http_connection_info_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/http_content_length_test.dart b/tests/standalone_2/io/http_content_length_test.dart
index 15d6520..7b81398 100644
--- a/tests/standalone_2/io/http_content_length_test.dart
+++ b/tests/standalone_2/io/http_content_length_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:isolate";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_cookie_test.dart b/tests/standalone_2/io/http_cookie_test.dart
index 5aa1cf9..25a389e 100644
--- a/tests/standalone_2/io/http_cookie_test.dart
+++ b/tests/standalone_2/io/http_cookie_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_cross_process_test.dart b/tests/standalone_2/io/http_cross_process_test.dart
index 598ac68..7a5c1b3 100644
--- a/tests/standalone_2/io/http_cross_process_test.dart
+++ b/tests/standalone_2/io/http_cross_process_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_date_test.dart b/tests/standalone_2/io/http_date_test.dart
index baa879f..1c365f3 100644
--- a/tests/standalone_2/io/http_date_test.dart
+++ b/tests/standalone_2/io/http_date_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.9
+
 import "dart:async";
 import "dart:math";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_detach_socket_test.dart b/tests/standalone_2/io/http_detach_socket_test.dart
index 4bdbba5..bb33690 100644
--- a/tests/standalone_2/io/http_detach_socket_test.dart
+++ b/tests/standalone_2/io/http_detach_socket_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "package:async_helper/async_helper.dart";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_force_staggered_ipv6_lookup_test.dart b/tests/standalone_2/io/http_force_staggered_ipv6_lookup_test.dart
index c644488..c3354b5 100644
--- a/tests/standalone_2/io/http_force_staggered_ipv6_lookup_test.dart
+++ b/tests/standalone_2/io/http_force_staggered_ipv6_lookup_test.dart
@@ -5,6 +5,8 @@
 // SharedOptions=-Ddart.library.io.force_staggered_ipv6_lookup=true
 //
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/http_head_test.dart b/tests/standalone_2/io/http_head_test.dart
index de19182..47950c4 100644
--- a/tests/standalone_2/io/http_head_test.dart
+++ b/tests/standalone_2/io/http_head_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.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/http_headers_content_length_test.dart b/tests/standalone_2/io/http_headers_content_length_test.dart
index 523ac69..6679db2 100644
--- a/tests/standalone_2/io/http_headers_content_length_test.dart
+++ b/tests/standalone_2/io/http_headers_content_length_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_headers_state_test.dart b/tests/standalone_2/io/http_headers_state_test.dart
index 43447ef..65e2aef 100644
--- a/tests/standalone_2/io/http_headers_state_test.dart
+++ b/tests/standalone_2/io/http_headers_state_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "dart:isolate";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_ipv6_test.dart b/tests/standalone_2/io/http_ipv6_test.dart
index 4c1c1df..34d755d 100644
--- a/tests/standalone_2/io/http_ipv6_test.dart
+++ b/tests/standalone_2/io/http_ipv6_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.9
+
 // VMOptions=
 // VMOptions=--short_socket_read
 // VMOptions=--short_socket_write
diff --git a/tests/standalone_2/io/http_keep_alive_test.dart b/tests/standalone_2/io/http_keep_alive_test.dart
index a0a0d81..c56e5eb 100644
--- a/tests/standalone_2/io/http_keep_alive_test.dart
+++ b/tests/standalone_2/io/http_keep_alive_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_linklocal_ipv6_test.dart b/tests/standalone_2/io/http_linklocal_ipv6_test.dart
index e99162b..b301afd 100644
--- a/tests/standalone_2/io/http_linklocal_ipv6_test.dart
+++ b/tests/standalone_2/io/http_linklocal_ipv6_test.dart
@@ -1,6 +1,8 @@
 // Copyright (c) 2019, 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.9
 import 'dart:async';
 import 'dart:io';
 import 'package:async_helper/async_helper.dart';
diff --git a/tests/standalone_2/io/http_loopback_test.dart b/tests/standalone_2/io/http_loopback_test.dart
index 2667091..a30a409 100644
--- a/tests/standalone_2/io/http_loopback_test.dart
+++ b/tests/standalone_2/io/http_loopback_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.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_no_reason_phrase_test.dart b/tests/standalone_2/io/http_no_reason_phrase_test.dart
index 2a1558e..85b800b 100644
--- a/tests/standalone_2/io/http_no_reason_phrase_test.dart
+++ b/tests/standalone_2/io/http_no_reason_phrase_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.9
+
 // VMOptions=
 // VMOptions=--short_socket_read
 // VMOptions=--short_socket_write
diff --git a/tests/standalone_2/io/http_outgoing_size_test.dart b/tests/standalone_2/io/http_outgoing_size_test.dart
index 06a33a8..f8eac1f 100644
--- a/tests/standalone_2/io/http_outgoing_size_test.dart
+++ b/tests/standalone_2/io/http_outgoing_size_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import 'dart:io';
 import 'dart:typed_data';
 
diff --git a/tests/standalone_2/io/http_override_test.dart b/tests/standalone_2/io/http_override_test.dart
index 25d4598..668263b 100644
--- a/tests/standalone_2/io/http_override_test.dart
+++ b/tests/standalone_2/io/http_override_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/http_parser_connect_method_test.dart b/tests/standalone_2/io/http_parser_connect_method_test.dart
index 03bda12..2a924d7 100644
--- a/tests/standalone_2/io/http_parser_connect_method_test.dart
+++ b/tests/standalone_2/io/http_parser_connect_method_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/http_parser_header_add_test.dart b/tests/standalone_2/io/http_parser_header_add_test.dart
index 4421733..7c86ff2 100644
--- a/tests/standalone_2/io/http_parser_header_add_test.dart
+++ b/tests/standalone_2/io/http_parser_header_add_test.dart
@@ -5,6 +5,8 @@
 // Verify that FormatException is thrown when HttpClient userAgent has
 // invalid value.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/http_proxy_advanced_test.dart b/tests/standalone_2/io/http_proxy_advanced_test.dart
index 231d7ab..a25f774 100644
--- a/tests/standalone_2/io/http_proxy_advanced_test.dart
+++ b/tests/standalone_2/io/http_proxy_advanced_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/http_proxy_close_test.dart b/tests/standalone_2/io/http_proxy_close_test.dart
index 2fd39f2..ea07ff5 100644
--- a/tests/standalone_2/io/http_proxy_close_test.dart
+++ b/tests/standalone_2/io/http_proxy_close_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.9
+
 import "dart:io";
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/http_proxy_configuration_test.dart b/tests/standalone_2/io/http_proxy_configuration_test.dart
index c94826a..19edb82 100644
--- a/tests/standalone_2/io/http_proxy_configuration_test.dart
+++ b/tests/standalone_2/io/http_proxy_configuration_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.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/http_proxy_test.dart b/tests/standalone_2/io/http_proxy_test.dart
index a302eb0..c3ec4e9 100644
--- a/tests/standalone_2/io/http_proxy_test.dart
+++ b/tests/standalone_2/io/http_proxy_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/http_read_test.dart b/tests/standalone_2/io/http_read_test.dart
index 4b6d50e..0cc4575 100644
--- a/tests/standalone_2/io/http_read_test.dart
+++ b/tests/standalone_2/io/http_read_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/http_redirect_test.dart b/tests/standalone_2/io/http_redirect_test.dart
index ccb95c5..e168b11 100644
--- a/tests/standalone_2/io/http_redirect_test.dart
+++ b/tests/standalone_2/io/http_redirect_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_request_pipeling_test.dart b/tests/standalone_2/io/http_request_pipeling_test.dart
index 4acb06f..9d04174 100644
--- a/tests/standalone_2/io/http_request_pipeling_test.dart
+++ b/tests/standalone_2/io/http_request_pipeling_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/http_requested_uri_test.dart b/tests/standalone_2/io/http_requested_uri_test.dart
index 17fb889..f35f24d 100644
--- a/tests/standalone_2/io/http_requested_uri_test.dart
+++ b/tests/standalone_2/io/http_requested_uri_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.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_response_deadline_test.dart b/tests/standalone_2/io/http_response_deadline_test.dart
index 757ec51..dd7f9f9 100644
--- a/tests/standalone_2/io/http_response_deadline_test.dart
+++ b/tests/standalone_2/io/http_response_deadline_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_reuse_server_port_test.dart b/tests/standalone_2/io/http_reuse_server_port_test.dart
index afcaf61..57535f3 100644
--- a/tests/standalone_2/io/http_reuse_server_port_test.dart
+++ b/tests/standalone_2/io/http_reuse_server_port_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/http_server_close_response_after_error_client.dart b/tests/standalone_2/io/http_server_close_response_after_error_client.dart
index beee23a..7f9e408 100644
--- a/tests/standalone_2/io/http_server_close_response_after_error_client.dart
+++ b/tests/standalone_2/io/http_server_close_response_after_error_client.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/http_server_close_response_after_error_test.dart b/tests/standalone_2/io/http_server_close_response_after_error_test.dart
index eb45423a..1945cba 100644
--- a/tests/standalone_2/io/http_server_close_response_after_error_test.dart
+++ b/tests/standalone_2/io/http_server_close_response_after_error_test.dart
@@ -8,6 +8,8 @@
 // VMOptions=--short_socket_read --short_socket_write
 // OtherResources=http_server_close_response_after_error_client.dart
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/http_server_early_client_close2_test.dart b/tests/standalone_2/io/http_server_early_client_close2_test.dart
index 1a84dfd..be3c6a7 100644
--- a/tests/standalone_2/io/http_server_early_client_close2_test.dart
+++ b/tests/standalone_2/io/http_server_early_client_close2_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/http_server_early_client_close_test.dart b/tests/standalone_2/io/http_server_early_client_close_test.dart
index 59841f0..f7028bb 100644
--- a/tests/standalone_2/io/http_server_early_client_close_test.dart
+++ b/tests/standalone_2/io/http_server_early_client_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/http_server_idle_timeout_test.dart b/tests/standalone_2/io/http_server_idle_timeout_test.dart
index 247bb6f..e889b03 100644
--- a/tests/standalone_2/io/http_server_idle_timeout_test.dart
+++ b/tests/standalone_2/io/http_server_idle_timeout_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/http_server_response_test.dart b/tests/standalone_2/io/http_server_response_test.dart
index 2f2e657..bddcc08 100644
--- a/tests/standalone_2/io/http_server_response_test.dart
+++ b/tests/standalone_2/io/http_server_response_test.dart
@@ -8,6 +8,8 @@
 // VMOptions=--short_socket_read --short_socket_write
 // OtherResources=http_server_response_test.dart
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_server_test.dart b/tests/standalone_2/io/http_server_test.dart
index c9910af..c30c141 100644
--- a/tests/standalone_2/io/http_server_test.dart
+++ b/tests/standalone_2/io/http_server_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.9
+
 import "dart:async";
 import "dart:typed_data";
 import "dart:io";
diff --git a/tests/standalone_2/io/http_session_test.dart b/tests/standalone_2/io/http_session_test.dart
index fa8270d..11e658f 100644
--- a/tests/standalone_2/io/http_session_test.dart
+++ b/tests/standalone_2/io/http_session_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.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:io';
diff --git a/tests/standalone_2/io/http_shutdown_test.dart b/tests/standalone_2/io/http_shutdown_test.dart
index c04a537..21cbc50 100644
--- a/tests/standalone_2/io/http_shutdown_test.dart
+++ b/tests/standalone_2/io/http_shutdown_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/http_stream_close_test.dart b/tests/standalone_2/io/http_stream_close_test.dart
index 06b9572..cd58b1a 100644
--- a/tests/standalone_2/io/http_stream_close_test.dart
+++ b/tests/standalone_2/io/http_stream_close_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "dart:io";
 
 main() {
diff --git a/tests/standalone_2/io/https_bad_certificate_test.dart b/tests/standalone_2/io/https_bad_certificate_test.dart
index 96b0144..dbbc3ab 100644
--- a/tests/standalone_2/io/https_bad_certificate_test.dart
+++ b/tests/standalone_2/io/https_bad_certificate_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/https_client_certificate_test.dart b/tests/standalone_2/io/https_client_certificate_test.dart
index 93d0f7f..f2da08a 100644
--- a/tests/standalone_2/io/https_client_certificate_test.dart
+++ b/tests/standalone_2/io/https_client_certificate_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/https_client_exception_test.dart b/tests/standalone_2/io/https_client_exception_test.dart
index 6735909..2820a2e 100644
--- a/tests/standalone_2/io/https_client_exception_test.dart
+++ b/tests/standalone_2/io/https_client_exception_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.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/https_connection_closed_during_handshake_test.dart b/tests/standalone_2/io/https_connection_closed_during_handshake_test.dart
index 0d82100..d31a163 100644
--- a/tests/standalone_2/io/https_connection_closed_during_handshake_test.dart
+++ b/tests/standalone_2/io/https_connection_closed_during_handshake_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.9
+
 // VMOptions=--long-ssl-cert-evaluation
 // OtherResources=localhost.key
 // OtherResources=localhost.crt
diff --git a/tests/standalone_2/io/https_nonblocking_trust_evaluation_test.dart b/tests/standalone_2/io/https_nonblocking_trust_evaluation_test.dart
index 402b260..7818313 100644
--- a/tests/standalone_2/io/https_nonblocking_trust_evaluation_test.dart
+++ b/tests/standalone_2/io/https_nonblocking_trust_evaluation_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.9
+
 // VMOptions=--long-ssl-cert-evaluation
 
 // This test verifies that dart isolate is not getting blocked during
diff --git a/tests/standalone_2/io/https_server_test.dart b/tests/standalone_2/io/https_server_test.dart
index fe151bc..14b0578 100644
--- a/tests/standalone_2/io/https_server_test.dart
+++ b/tests/standalone_2/io/https_server_test.dart
@@ -6,6 +6,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/https_unauthorized_client.dart b/tests/standalone_2/io/https_unauthorized_client.dart
index 6b7e8f6..4b4c8e4 100644
--- a/tests/standalone_2/io/https_unauthorized_client.dart
+++ b/tests/standalone_2/io/https_unauthorized_client.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Client that makes HttpClient secure gets from a server that replies with
 // a certificate that can't be authenticated.  This checks that all the
 // futures returned from these connection attempts complete (with errors).
diff --git a/tests/standalone_2/io/https_unauthorized_test.dart b/tests/standalone_2/io/https_unauthorized_test.dart
index ea172be..ebb17f7 100644
--- a/tests/standalone_2/io/https_unauthorized_test.dart
+++ b/tests/standalone_2/io/https_unauthorized_test.dart
@@ -9,6 +9,8 @@
 // OtherResources=certificates/trusted_certs.pem
 // OtherResources=https_unauthorized_client.dart
 
+// @dart = 2.9
+
 // This test verifies that secure connections that fail due to
 // unauthenticated certificates throw exceptions in HttpClient.
 
diff --git a/tests/standalone_2/io/internet_address_test.dart b/tests/standalone_2/io/internet_address_test.dart
index e7af9cd..d65b510 100644
--- a/tests/standalone_2/io/internet_address_test.dart
+++ b/tests/standalone_2/io/internet_address_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.9
+
 import 'dart:io';
 import 'dart:convert';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/io/io_override_test.dart b/tests/standalone_2/io/io_override_test.dart
index 3ddb73d..54f0eb4 100644
--- a/tests/standalone_2/io/io_override_test.dart
+++ b/tests/standalone_2/io/io_override_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.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/io/io_sink_test.dart b/tests/standalone_2/io/io_sink_test.dart
index daeb997..66f6c47 100644
--- a/tests/standalone_2/io/io_sink_test.dart
+++ b/tests/standalone_2/io/io_sink_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.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/issue_22636_test.dart b/tests/standalone_2/io/issue_22636_test.dart
index 4bfa9dc..adfa9ff 100644
--- a/tests/standalone_2/io/issue_22636_test.dart
+++ b/tests/standalone_2/io/issue_22636_test.dart
@@ -6,6 +6,8 @@
 // closed for read (the other end has closed for write) does not send
 // an additional READ_CLOSED event.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/issue_22637_test.dart b/tests/standalone_2/io/issue_22637_test.dart
index 0524ce9..a32db42 100644
--- a/tests/standalone_2/io/issue_22637_test.dart
+++ b/tests/standalone_2/io/issue_22637_test.dart
@@ -6,6 +6,8 @@
 // when the other end is already closed, does not discard unread data
 // that remains in the connection.
 
+// @dart = 2.9
+
 import "dart:io";
 import "dart:async";
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/issue_26954_test.dart b/tests/standalone_2/io/issue_26954_test.dart
index f5fca78..2c4f0ce 100644
--- a/tests/standalone_2/io/issue_26954_test.dart
+++ b/tests/standalone_2/io/issue_26954_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.9
+
 import 'dart:convert';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/issue_30687_test.dart b/tests/standalone_2/io/issue_30687_test.dart
index 96b514d..1392012 100644
--- a/tests/standalone_2/io/issue_30687_test.dart
+++ b/tests/standalone_2/io/issue_30687_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/issue_31492_test.dart b/tests/standalone_2/io/issue_31492_test.dart
index ed3c67e..836c8aa 100644
--- a/tests/standalone_2/io/issue_31492_test.dart
+++ b/tests/standalone_2/io/issue_31492_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.9
+
 // Testing that HttpClient throws an exception if a connection is opened after
 // the client is closed. https://github.com/dart-lang/sdk/issues/31492
 
diff --git a/tests/standalone_2/io/issue_32052_test.dart b/tests/standalone_2/io/issue_32052_test.dart
index b39f816..d179195 100644
--- a/tests/standalone_2/io/issue_32052_test.dart
+++ b/tests/standalone_2/io/issue_32052_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/large_file_read_small_file_test.dart b/tests/standalone_2/io/large_file_read_small_file_test.dart
index 2f4c276..0f62b12 100644
--- a/tests/standalone_2/io/large_file_read_small_file_test.dart
+++ b/tests/standalone_2/io/large_file_read_small_file_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/link_async_test.dart b/tests/standalone_2/io/link_async_test.dart
index 1884abc..37ccd11 100644
--- a/tests/standalone_2/io/link_async_test.dart
+++ b/tests/standalone_2/io/link_async_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/link_test.dart b/tests/standalone_2/io/link_test.dart
index 3e36111..e2793b0 100644
--- a/tests/standalone_2/io/link_test.dart
+++ b/tests/standalone_2/io/link_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.9
+
 import "package:async_helper/async_helper.dart";
 import "package:expect/expect.dart";
 import "package:path/path.dart";
diff --git a/tests/standalone_2/io/link_uri_test.dart b/tests/standalone_2/io/link_uri_test.dart
index 755812b..dd71edd 100644
--- a/tests/standalone_2/io/link_uri_test.dart
+++ b/tests/standalone_2/io/link_uri_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/locale_name_test.dart b/tests/standalone_2/io/locale_name_test.dart
index 7298ca7..a94bc18 100644
--- a/tests/standalone_2/io/locale_name_test.dart
+++ b/tests/standalone_2/io/locale_name_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/many_directory_operations_test.dart b/tests/standalone_2/io/many_directory_operations_test.dart
index 7e33403..319e7b3 100644
--- a/tests/standalone_2/io/many_directory_operations_test.dart
+++ b/tests/standalone_2/io/many_directory_operations_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing using a lot of native port operations.
 
+// @dart = 2.9
+
 import "dart:io";
 
 main() {
diff --git a/tests/standalone_2/io/many_file_operations_test.dart b/tests/standalone_2/io/many_file_operations_test.dart
index 294e9c6..e688b20 100644
--- a/tests/standalone_2/io/many_file_operations_test.dart
+++ b/tests/standalone_2/io/many_file_operations_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing using a lot of native port operations.
 
+// @dart = 2.9
+
 import "dart:io";
 
 main() {
diff --git a/tests/standalone_2/io/namespace_test.dart b/tests/standalone_2/io/namespace_test.dart
index 601278f..c8190fb 100644
--- a/tests/standalone_2/io/namespace_test.dart
+++ b/tests/standalone_2/io/namespace_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/network_interface_test.dart b/tests/standalone_2/io/network_interface_test.dart
index bfdd20e..55dbfce 100644
--- a/tests/standalone_2/io/network_interface_test.dart
+++ b/tests/standalone_2/io/network_interface_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/network_policy_test.dart b/tests/standalone_2/io/network_policy_test.dart
index 2f9878d..108f1d4 100644
--- a/tests/standalone_2/io/network_policy_test.dart
+++ b/tests/standalone_2/io/network_policy_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/non_utf8_directory_test.dart b/tests/standalone_2/io/non_utf8_directory_test.dart
index 1c58f3f..380041e 100644
--- a/tests/standalone_2/io/non_utf8_directory_test.dart
+++ b/tests/standalone_2/io/non_utf8_directory_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/io/non_utf8_file_test.dart b/tests/standalone_2/io/non_utf8_file_test.dart
index 3bdafa1..21900c5 100644
--- a/tests/standalone_2/io/non_utf8_file_test.dart
+++ b/tests/standalone_2/io/non_utf8_file_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/io/non_utf8_link_test.dart b/tests/standalone_2/io/non_utf8_link_test.dart
index aadd30a..33c6972 100644
--- a/tests/standalone_2/io/non_utf8_link_test.dart
+++ b/tests/standalone_2/io/non_utf8_link_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.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/io/non_utf8_output_test.dart b/tests/standalone_2/io/non_utf8_output_test.dart
index 241d91b..10ffcec 100644
--- a/tests/standalone_2/io/non_utf8_output_test.dart
+++ b/tests/standalone_2/io/non_utf8_output_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.9
+
 // This test emits non-UTF-8 formatted data.
 // It should have the test expectation: NonUtf8Output.
 
diff --git a/tests/standalone_2/io/parent_test.dart b/tests/standalone_2/io/parent_test.dart
index ab1117a..cc49664 100644
--- a/tests/standalone_2/io/parent_test.dart
+++ b/tests/standalone_2/io/parent_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing file I/O.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:collection';
 import 'dart:convert';
diff --git a/tests/standalone_2/io/pipe_server_test.dart b/tests/standalone_2/io/pipe_server_test.dart
index a77eeeb..56253d5 100644
--- a/tests/standalone_2/io/pipe_server_test.dart
+++ b/tests/standalone_2/io/pipe_server_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/platform_os_version_test.dart b/tests/standalone_2/io/platform_os_version_test.dart
index fff7335..dde94c4 100644
--- a/tests/standalone_2/io/platform_os_version_test.dart
+++ b/tests/standalone_2/io/platform_os_version_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/platform_resolved_executable_test.dart b/tests/standalone_2/io/platform_resolved_executable_test.dart
index a1db366..8a6a68f 100644
--- a/tests/standalone_2/io/platform_resolved_executable_test.dart
+++ b/tests/standalone_2/io/platform_resolved_executable_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test process communication.
 
+// @dart = 2.9
+
 library PlatformExecutableTest;
 
 import "dart:io";
diff --git a/tests/standalone_2/io/platform_test.dart b/tests/standalone_2/io/platform_test.dart
index a9a96f2..c91fdb5 100644
--- a/tests/standalone_2/io/platform_test.dart
+++ b/tests/standalone_2/io/platform_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/io/print_env.dart b/tests/standalone_2/io/print_env.dart
index 4337451..d9c9f7e 100644
--- a/tests/standalone_2/io/print_env.dart
+++ b/tests/standalone_2/io/print_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.9
+
 import "dart:io";
 
 main(List<String> arguments) {
diff --git a/tests/standalone_2/io/print_sync_script.dart b/tests/standalone_2/io/print_sync_script.dart
index ea42729..fa371fb 100644
--- a/tests/standalone_2/io/print_sync_script.dart
+++ b/tests/standalone_2/io/print_sync_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.9
+
 import 'dart:io';
 
 String get bigString {
diff --git a/tests/standalone_2/io/print_sync_test.dart b/tests/standalone_2/io/print_sync_test.dart
index bf8865f..5028871 100644
--- a/tests/standalone_2/io/print_sync_test.dart
+++ b/tests/standalone_2/io/print_sync_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.9
+
 // OtherResources=print_sync_script.dart
 
 import 'dart:io';
diff --git a/tests/standalone_2/io/process_broken_pipe_test.dart b/tests/standalone_2/io/process_broken_pipe_test.dart
index 7791fd4..a4cc238 100644
--- a/tests/standalone_2/io/process_broken_pipe_test.dart
+++ b/tests/standalone_2/io/process_broken_pipe_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test closed stdin from child process.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/process_check_arguments_script.dart b/tests/standalone_2/io/process_check_arguments_script.dart
index 4c19479..a2c7cb7 100644
--- a/tests/standalone_2/io/process_check_arguments_script.dart
+++ b/tests/standalone_2/io/process_check_arguments_script.dart
@@ -4,6 +4,8 @@
 //
 // Utility script to check that arguments are correctly passed from
 // one dart process to another using the dart:io process interface.
+
+// @dart = 2.9
 import "dart:io";
 import "dart:math";
 
diff --git a/tests/standalone_2/io/process_check_arguments_test.dart b/tests/standalone_2/io/process_check_arguments_test.dart
index 366223d..74f3cac 100644
--- a/tests/standalone_2/io/process_check_arguments_test.dart
+++ b/tests/standalone_2/io/process_check_arguments_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 import "process_test_util.dart";
diff --git a/tests/standalone_2/io/process_detached_test.dart b/tests/standalone_2/io/process_detached_test.dart
index 28b4d0c..e73cfc2 100644
--- a/tests/standalone_2/io/process_detached_test.dart
+++ b/tests/standalone_2/io/process_detached_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.9
+
 // OtherResources=process_detached_script.dart
 
 // Process test program to test detached processes.
diff --git a/tests/standalone_2/io/process_echo_util.dart b/tests/standalone_2/io/process_echo_util.dart
index 1c6d17e..9cf2e52 100644
--- a/tests/standalone_2/io/process_echo_util.dart
+++ b/tests/standalone_2/io/process_echo_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.9
+
 import "dart:io";
 
 void main(List<String> arguments) {
diff --git a/tests/standalone_2/io/process_environment_test.dart b/tests/standalone_2/io/process_environment_test.dart
index 92bdc58..962d686 100644
--- a/tests/standalone_2/io/process_environment_test.dart
+++ b/tests/standalone_2/io/process_environment_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.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/process_exit_test.dart b/tests/standalone_2/io/process_exit_test.dart
index bba1869..f25bf53 100644
--- a/tests/standalone_2/io/process_exit_test.dart
+++ b/tests/standalone_2/io/process_exit_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test process communication.
 
+// @dart = 2.9
+
 library ProcessExitTest;
 
 import "dart:io";
diff --git a/tests/standalone_2/io/process_info_test.dart b/tests/standalone_2/io/process_info_test.dart
index 72f2260..c6e6b78 100644
--- a/tests/standalone_2/io/process_info_test.dart
+++ b/tests/standalone_2/io/process_info_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/process_inherit_stdio_script.dart b/tests/standalone_2/io/process_inherit_stdio_script.dart
index c771dab..3edd968 100644
--- a/tests/standalone_2/io/process_inherit_stdio_script.dart
+++ b/tests/standalone_2/io/process_inherit_stdio_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:isolate';
diff --git a/tests/standalone_2/io/process_inherit_stdio_test.dart b/tests/standalone_2/io/process_inherit_stdio_test.dart
index 964440f..1d48171 100644
--- a/tests/standalone_2/io/process_inherit_stdio_test.dart
+++ b/tests/standalone_2/io/process_inherit_stdio_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.9
+
 // OtherResources=process_inherit_stdio_script.dart
 
 // Process test program to test 'inherit stdio' processes.
diff --git a/tests/standalone_2/io/process_kill_test.dart b/tests/standalone_2/io/process_kill_test.dart
index 9816d41..c487421 100644
--- a/tests/standalone_2/io/process_kill_test.dart
+++ b/tests/standalone_2/io/process_kill_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test process communication.
 
+// @dart = 2.9
+
 library ProcessKillTest;
 
 import 'dart:io';
diff --git a/tests/standalone_2/io/process_non_ascii_test.dart b/tests/standalone_2/io/process_non_ascii_test.dart
index 8944eda..60b826b 100644
--- a/tests/standalone_2/io/process_non_ascii_test.dart
+++ b/tests/standalone_2/io/process_non_ascii_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.9
+
 import 'dart:io';
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/process_path_environment_test.dart b/tests/standalone_2/io/process_path_environment_test.dart
index ba9e805..e9076c9 100644
--- a/tests/standalone_2/io/process_path_environment_test.dart
+++ b/tests/standalone_2/io/process_path_environment_test.dart
@@ -5,6 +5,8 @@
 // Test that the executable is looked up on the user's PATH when spawning a
 // process and environment variables are passed in.
 
+// @dart = 2.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/process_path_test.dart b/tests/standalone_2/io/process_path_test.dart
index 59fd488..12261f4 100644
--- a/tests/standalone_2/io/process_path_test.dart
+++ b/tests/standalone_2/io/process_path_test.dart
@@ -5,6 +5,8 @@
 // Test that the executable is looked up on the user's PATH when spawning a
 // process.
 
+// @dart = 2.9
+
 import "dart:io";
 import "package:expect/expect.dart";
 
diff --git a/tests/standalone_2/io/process_pid_test.dart b/tests/standalone_2/io/process_pid_test.dart
index a965421..7bb3b8d 100644
--- a/tests/standalone_2/io/process_pid_test.dart
+++ b/tests/standalone_2/io/process_pid_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test process communication.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/process_run_output_test.dart b/tests/standalone_2/io/process_run_output_test.dart
index 08d9bda..5318642 100644
--- a/tests/standalone_2/io/process_run_output_test.dart
+++ b/tests/standalone_2/io/process_run_output_test.dart
@@ -5,6 +5,8 @@
 // Test script for testing that output is handled correctly for
 // non-interactive processes started with Process.run.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:convert";
 import "dart:io";
diff --git a/tests/standalone_2/io/process_run_test.dart b/tests/standalone_2/io/process_run_test.dart
index a4a470a..5dfe13c 100644
--- a/tests/standalone_2/io/process_run_test.dart
+++ b/tests/standalone_2/io/process_run_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/process_segfault_test.dart b/tests/standalone_2/io/process_segfault_test.dart
index b7cfa72..9214b19 100644
--- a/tests/standalone_2/io/process_segfault_test.dart
+++ b/tests/standalone_2/io/process_segfault_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to test process communication.
 
+// @dart = 2.9
+
 library ProcessSegfaultTest;
 
 import "dart:io";
diff --git a/tests/standalone_2/io/process_set_exit_code_script.dart b/tests/standalone_2/io/process_set_exit_code_script.dart
index 38a8075..492527c 100644
--- a/tests/standalone_2/io/process_set_exit_code_script.dart
+++ b/tests/standalone_2/io/process_set_exit_code_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.9
+
 import "dart:io";
 
 main() {
diff --git a/tests/standalone_2/io/process_set_exit_code_test.dart b/tests/standalone_2/io/process_set_exit_code_test.dart
index b67d56c..f09865c 100644
--- a/tests/standalone_2/io/process_set_exit_code_test.dart
+++ b/tests/standalone_2/io/process_set_exit_code_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.9
+
 // OtherResources=process_set_exit_code_script.dart
 
 // Process test program to test process communication.
diff --git a/tests/standalone_2/io/process_shell_test.dart b/tests/standalone_2/io/process_shell_test.dart
index e561315..2107601 100644
--- a/tests/standalone_2/io/process_shell_test.dart
+++ b/tests/standalone_2/io/process_shell_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.9
+
 // OtherResources=process_echo_util.dart
 
 import "dart:async";
diff --git a/tests/standalone_2/io/process_start_exception_test.dart b/tests/standalone_2/io/process_start_exception_test.dart
index 96d150e..fd0a849 100644
--- a/tests/standalone_2/io/process_start_exception_test.dart
+++ b/tests/standalone_2/io/process_start_exception_test.dart
@@ -4,6 +4,8 @@
 //
 // Process test program to errors during startup of the process.
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/process_std_io_script.dart b/tests/standalone_2/io/process_std_io_script.dart
index 8aee620..458a105 100644
--- a/tests/standalone_2/io/process_std_io_script.dart
+++ b/tests/standalone_2/io/process_std_io_script.dart
@@ -4,6 +4,8 @@
 //
 // Utility script to echo stdin to stdout or stderr or both.
 
+// @dart = 2.9
+
 import "dart:io";
 
 main(List<String> arguments) {
diff --git a/tests/standalone_2/io/process_std_io_script2.dart b/tests/standalone_2/io/process_std_io_script2.dart
index 9dc4674..480d7a4 100644
--- a/tests/standalone_2/io/process_std_io_script2.dart
+++ b/tests/standalone_2/io/process_std_io_script2.dart
@@ -5,6 +5,8 @@
 // Utility script to echo strings in various formats to stdout or
 // stderr.
 
+// @dart = 2.9
+
 import "dart:convert";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/process_stderr_test.dart b/tests/standalone_2/io/process_stderr_test.dart
index 0492fe2..07ca9c5a 100644
--- a/tests/standalone_2/io/process_stderr_test.dart
+++ b/tests/standalone_2/io/process_stderr_test.dart
@@ -9,6 +9,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:io';
diff --git a/tests/standalone_2/io/process_stdin_transform_unsubscribe_script.dart b/tests/standalone_2/io/process_stdin_transform_unsubscribe_script.dart
index 6bb3695..978372b 100644
--- a/tests/standalone_2/io/process_stdin_transform_unsubscribe_script.dart
+++ b/tests/standalone_2/io/process_stdin_transform_unsubscribe_script.dart
@@ -4,6 +4,8 @@
 //
 // Utility script to echo stdin to stdout or stderr or both.
 
+// @dart = 2.9
+
 import "dart:convert";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/process_stdin_transform_unsubscribe_test.dart b/tests/standalone_2/io/process_stdin_transform_unsubscribe_test.dart
index fa36a06..4efc963 100644
--- a/tests/standalone_2/io/process_stdin_transform_unsubscribe_test.dart
+++ b/tests/standalone_2/io/process_stdin_transform_unsubscribe_test.dart
@@ -9,6 +9,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:io';
diff --git a/tests/standalone_2/io/process_stdout_test.dart b/tests/standalone_2/io/process_stdout_test.dart
index 7d3bc7f..a7a19d4 100644
--- a/tests/standalone_2/io/process_stdout_test.dart
+++ b/tests/standalone_2/io/process_stdout_test.dart
@@ -9,6 +9,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:io';
diff --git a/tests/standalone_2/io/process_sync_script.dart b/tests/standalone_2/io/process_sync_script.dart
index e89d1a9..7014e3a 100644
--- a/tests/standalone_2/io/process_sync_script.dart
+++ b/tests/standalone_2/io/process_sync_script.dart
@@ -4,6 +4,8 @@
 //
 // Utility script to generate some output on stdout and stderr.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:math";
diff --git a/tests/standalone_2/io/process_sync_test.dart b/tests/standalone_2/io/process_sync_test.dart
index 90e2335..0361e3f 100644
--- a/tests/standalone_2/io/process_sync_test.dart
+++ b/tests/standalone_2/io/process_sync_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.9
+
 // OtherResources=process_sync_script.dart
 
 import "dart:io";
diff --git a/tests/standalone_2/io/process_test_util.dart b/tests/standalone_2/io/process_test_util.dart
index 3def7a2..2d727fc 100644
--- a/tests/standalone_2/io/process_test_util.dart
+++ b/tests/standalone_2/io/process_test_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.9
+
 library process_test_util;
 
 import "dart:io";
diff --git a/tests/standalone_2/io/process_working_directory_test.dart b/tests/standalone_2/io/process_working_directory_test.dart
index 2643fc0..983938f 100644
--- a/tests/standalone_2/io/process_working_directory_test.dart
+++ b/tests/standalone_2/io/process_working_directory_test.dart
@@ -4,6 +4,8 @@
 //
 // Process working directory test.
 
+// @dart = 2.9
+
 library ProcessWorkingDirectoryTest;
 
 import "dart:io";
diff --git a/tests/standalone_2/io/raw_datagram_read_all_test.dart b/tests/standalone_2/io/raw_datagram_read_all_test.dart
index 9d3b8ef..d8f9fab 100644
--- a/tests/standalone_2/io/raw_datagram_read_all_test.dart
+++ b/tests/standalone_2/io/raw_datagram_read_all_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.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/raw_datagram_socket_test.dart b/tests/standalone_2/io/raw_datagram_socket_test.dart
index 848861b..bd382a4 100644
--- a/tests/standalone_2/io/raw_datagram_socket_test.dart
+++ b/tests/standalone_2/io/raw_datagram_socket_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.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/raw_datagram_zero_length_test.dart b/tests/standalone_2/io/raw_datagram_zero_length_test.dart
index 2993635..989d8df 100644
--- a/tests/standalone_2/io/raw_datagram_zero_length_test.dart
+++ b/tests/standalone_2/io/raw_datagram_zero_length_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.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/raw_secure_server_closing_test.dart b/tests/standalone_2/io/raw_secure_server_closing_test.dart
index 8ad7c10..c96a2e9 100644
--- a/tests/standalone_2/io/raw_secure_server_closing_test.dart
+++ b/tests/standalone_2/io/raw_secure_server_closing_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/raw_secure_server_socket_test.dart b/tests/standalone_2/io/raw_secure_server_socket_test.dart
index 51afb74..7c1c749 100644
--- a/tests/standalone_2/io/raw_secure_server_socket_test.dart
+++ b/tests/standalone_2/io/raw_secure_server_socket_test.dart
@@ -12,6 +12,8 @@
 // OtherResources=certificates/untrusted_server_chain.pem
 // OtherResources=certificates/untrusted_server_key.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/raw_secure_socket_pause_test.dart b/tests/standalone_2/io/raw_secure_socket_pause_test.dart
index 34cbfe4..9f91fcb 100644
--- a/tests/standalone_2/io/raw_secure_socket_pause_test.dart
+++ b/tests/standalone_2/io/raw_secure_socket_pause_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/raw_secure_socket_test.dart b/tests/standalone_2/io/raw_secure_socket_test.dart
index c2ab9fc..8a95a87 100644
--- a/tests/standalone_2/io/raw_secure_socket_test.dart
+++ b/tests/standalone_2/io/raw_secure_socket_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/raw_server_socket_cancel_test.dart b/tests/standalone_2/io/raw_server_socket_cancel_test.dart
index ccdb93b..ff2f82b 100644
--- a/tests/standalone_2/io/raw_server_socket_cancel_test.dart
+++ b/tests/standalone_2/io/raw_server_socket_cancel_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/raw_socket_cross_process_test.dart b/tests/standalone_2/io/raw_socket_cross_process_test.dart
index 4ad4d04..34684ed 100644
--- a/tests/standalone_2/io/raw_socket_cross_process_test.dart
+++ b/tests/standalone_2/io/raw_socket_cross_process_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import 'dart:async';
 import 'dart:io';
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/raw_socket_test.dart b/tests/standalone_2/io/raw_socket_test.dart
index 385b720..97a7d03b 100644
--- a/tests/standalone_2/io/raw_socket_test.dart
+++ b/tests/standalone_2/io/raw_socket_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/raw_socket_typed_data_test.dart b/tests/standalone_2/io/raw_socket_typed_data_test.dart
index df31f73..7d5b715 100644
--- a/tests/standalone_2/io/raw_socket_typed_data_test.dart
+++ b/tests/standalone_2/io/raw_socket_typed_data_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/raw_socket_write_destroy_test.dart b/tests/standalone_2/io/raw_socket_write_destroy_test.dart
index 557163e..96810da 100644
--- a/tests/standalone_2/io/raw_socket_write_destroy_test.dart
+++ b/tests/standalone_2/io/raw_socket_write_destroy_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/raw_synchronous_socket_test.dart b/tests/standalone_2/io/raw_synchronous_socket_test.dart
index 61eaab3..1aa56d8 100644
--- a/tests/standalone_2/io/raw_synchronous_socket_test.dart
+++ b/tests/standalone_2/io/raw_synchronous_socket_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/io/read_into_const_list_test.dart b/tests/standalone_2/io/read_into_const_list_test.dart
index 14f1d8f..715031b 100644
--- a/tests/standalone_2/io/read_into_const_list_test.dart
+++ b/tests/standalone_2/io/read_into_const_list_test.dart
@@ -4,6 +4,8 @@
 //
 // OtherResources=readline_test1.dat
 
+// @dart = 2.9
+
 // Regression test for missing immutability check in the ListSet
 // methods in the API. This allowed overwriting const Lists.
 
diff --git a/tests/standalone_2/io/regress_10026_test.dart b/tests/standalone_2/io/regress_10026_test.dart
index 3a527a3..c159061 100644
--- a/tests/standalone_2/io/regress_10026_test.dart
+++ b/tests/standalone_2/io/regress_10026_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.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/io/regress_21160_test.dart b/tests/standalone_2/io/regress_21160_test.dart
index 94d5f6c..f32433c 100644
--- a/tests/standalone_2/io/regress_21160_test.dart
+++ b/tests/standalone_2/io/regress_21160_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/regress_21987_test.dart b/tests/standalone_2/io/regress_21987_test.dart
index 7cc6308f..932937b 100644
--- a/tests/standalone_2/io/regress_21987_test.dart
+++ b/tests/standalone_2/io/regress_21987_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.9
+
 import 'dart:io';
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/regress_7191_script.dart b/tests/standalone_2/io/regress_7191_script.dart
index 4387bb8..b0542c2 100644
--- a/tests/standalone_2/io/regress_7191_script.dart
+++ b/tests/standalone_2/io/regress_7191_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.9
+
 import 'dart:io';
 import 'dart:isolate';
 
diff --git a/tests/standalone_2/io/regress_7191_test.dart b/tests/standalone_2/io/regress_7191_test.dart
index 8477956..8c40f36 100644
--- a/tests/standalone_2/io/regress_7191_test.dart
+++ b/tests/standalone_2/io/regress_7191_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.9
+
 // OtherResources=regress_7191_script.dart
 
 // Regression test for http://dartbug.com/7191.
diff --git a/tests/standalone_2/io/regress_7679_test.dart b/tests/standalone_2/io/regress_7679_test.dart
index 720e607..47008cd 100644
--- a/tests/standalone_2/io/regress_7679_test.dart
+++ b/tests/standalone_2/io/regress_7679_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.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/regress_8828_test.dart b/tests/standalone_2/io/regress_8828_test.dart
index 22225c8..a4a23dd 100644
--- a/tests/standalone_2/io/regress_8828_test.dart
+++ b/tests/standalone_2/io/regress_8828_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.9
+
 // VMOptions=
 // VMOptions=--short_socket_read
 // VMOptions=--short_socket_write
diff --git a/tests/standalone_2/io/regress_9194_test.dart b/tests/standalone_2/io/regress_9194_test.dart
index c6ca92f..2423347 100644
--- a/tests/standalone_2/io/regress_9194_test.dart
+++ b/tests/standalone_2/io/regress_9194_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.9
+
 import "package:expect/expect.dart";
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/regress_flutter_57125_test.dart b/tests/standalone_2/io/regress_flutter_57125_test.dart
index 1e71b83..ef1f5c7 100644
--- a/tests/standalone_2/io/regress_flutter_57125_test.dart
+++ b/tests/standalone_2/io/regress_flutter_57125_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.9
+
 /// Tests that an exception on a non-socket _NativeSocket, e.g. a pipe to
 /// another process, is properly thrown as a SocketException. This test confirms
 /// the absence of a regression during the dart:io null safety migration where
diff --git a/tests/standalone_2/io/resolve_symbolic_links_test.dart b/tests/standalone_2/io/resolve_symbolic_links_test.dart
index 57561db..58ddf69 100644
--- a/tests/standalone_2/io/resolve_symbolic_links_test.dart
+++ b/tests/standalone_2/io/resolve_symbolic_links_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing FileSystemEntity.resolveSymbolicLinks
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "package:path/path.dart";
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/secure_bad_certificate_test.dart b/tests/standalone_2/io/secure_bad_certificate_test.dart
index e002313..4fec059 100644
--- a/tests/standalone_2/io/secure_bad_certificate_test.dart
+++ b/tests/standalone_2/io/secure_bad_certificate_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/bad_server_chain.pem
diff --git a/tests/standalone_2/io/secure_builtin_roots_test.dart b/tests/standalone_2/io/secure_builtin_roots_test.dart
index 2b1ddee..858fcde 100644
--- a/tests/standalone_2/io/secure_builtin_roots_test.dart
+++ b/tests/standalone_2/io/secure_builtin_roots_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.9
+
 import "dart:io";
 import "dart:async";
 
diff --git a/tests/standalone_2/io/secure_client_raw_server_test.dart b/tests/standalone_2/io/secure_client_raw_server_test.dart
index 6f3a6bf..1ee4cb6 100644
--- a/tests/standalone_2/io/secure_client_raw_server_test.dart
+++ b/tests/standalone_2/io/secure_client_raw_server_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_client_server_test.dart b/tests/standalone_2/io/secure_client_server_test.dart
index c8cb48e..3190c98 100644
--- a/tests/standalone_2/io/secure_client_server_test.dart
+++ b/tests/standalone_2/io/secure_client_server_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_multiple_client_server_test.dart b/tests/standalone_2/io/secure_multiple_client_server_test.dart
index 1f53af8..d2b6f6b 100644
--- a/tests/standalone_2/io/secure_multiple_client_server_test.dart
+++ b/tests/standalone_2/io/secure_multiple_client_server_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_server_client_certificate_test.dart b/tests/standalone_2/io/secure_server_client_certificate_test.dart
index 7c7da85..6b1b0e0 100644
--- a/tests/standalone_2/io/secure_server_client_certificate_test.dart
+++ b/tests/standalone_2/io/secure_server_client_certificate_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.9
+
 // OtherResources=certificates/server_chain.pem
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/secure_server_closing_test.dart b/tests/standalone_2/io/secure_server_closing_test.dart
index 7068d0e..82440fa 100644
--- a/tests/standalone_2/io/secure_server_closing_test.dart
+++ b/tests/standalone_2/io/secure_server_closing_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_server_socket_test.dart b/tests/standalone_2/io/secure_server_socket_test.dart
index 933cc16..010b8ac6 100644
--- a/tests/standalone_2/io/secure_server_socket_test.dart
+++ b/tests/standalone_2/io/secure_server_socket_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_session_resume_test.dart b/tests/standalone_2/io/secure_session_resume_test.dart
index 8f7ae8a..fee24da 100644
--- a/tests/standalone_2/io/secure_session_resume_test.dart
+++ b/tests/standalone_2/io/secure_session_resume_test.dart
@@ -19,6 +19,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 import "dart:isolate";
diff --git a/tests/standalone_2/io/secure_socket_alpn_test.dart b/tests/standalone_2/io/secure_socket_alpn_test.dart
index 5fbc814..b6321bb 100644
--- a/tests/standalone_2/io/secure_socket_alpn_test.dart
+++ b/tests/standalone_2/io/secure_socket_alpn_test.dart
@@ -6,6 +6,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import 'dart:io';
 import 'dart:convert';
 
diff --git a/tests/standalone_2/io/secure_socket_argument_test.dart b/tests/standalone_2/io/secure_socket_argument_test.dart
index 676801e..f887109 100644
--- a/tests/standalone_2/io/secure_socket_argument_test.dart
+++ b/tests/standalone_2/io/secure_socket_argument_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/secure_socket_renegotiate_client.dart b/tests/standalone_2/io/secure_socket_renegotiate_client.dart
index 9986c3e..c8ae0bb 100644
--- a/tests/standalone_2/io/secure_socket_renegotiate_client.dart
+++ b/tests/standalone_2/io/secure_socket_renegotiate_client.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Client for secure_socket_renegotiate_test, that runs in a subprocess.
 // The test verifies that client certificates work, if the client and server
 // are in separate processes, and that connection renegotiation can request
diff --git a/tests/standalone_2/io/secure_socket_renegotiate_test.dart b/tests/standalone_2/io/secure_socket_renegotiate_test.dart
index 5ef9edf..36cb3a2 100644
--- a/tests/standalone_2/io/secure_socket_renegotiate_test.dart
+++ b/tests/standalone_2/io/secure_socket_renegotiate_test.dart
@@ -6,6 +6,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=secure_socket_renegotiate_client.dart
 
+// @dart = 2.9
+
 // This test verifies that client certificates work, if the client and server
 // are in separate processes, and that connection renegotiation works, and
 // can request a client certificate to be sent.
diff --git a/tests/standalone_2/io/secure_socket_test.dart b/tests/standalone_2/io/secure_socket_test.dart
index 442fa19..2845518 100644
--- a/tests/standalone_2/io/secure_socket_test.dart
+++ b/tests/standalone_2/io/secure_socket_test.dart
@@ -13,6 +13,8 @@
 // OtherResources=certificates/server_key.p12
 // OtherResources=certificates/trusted_certs.p12
 
+// @dart = 2.9
+
 import "package:async_helper/async_helper.dart";
 import "package:expect/expect.dart";
 import "package:path/path.dart";
diff --git a/tests/standalone_2/io/secure_unauthorized_client.dart b/tests/standalone_2/io/secure_unauthorized_client.dart
index c830c96..1199e92 100644
--- a/tests/standalone_2/io/secure_unauthorized_client.dart
+++ b/tests/standalone_2/io/secure_unauthorized_client.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 // Client for secure_bad_certificate_test, that runs in a subprocess.
 // The test verifies that the client bad certificate callback works.
 
diff --git a/tests/standalone_2/io/secure_unauthorized_test.dart b/tests/standalone_2/io/secure_unauthorized_test.dart
index 2ea739b..f61ffdc 100644
--- a/tests/standalone_2/io/secure_unauthorized_test.dart
+++ b/tests/standalone_2/io/secure_unauthorized_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.9
+
 // OtherResources=certificates/untrusted_server_chain.pem
 // OtherResources=certificates/untrusted_server_key.pem
 // OtherResources=certificates/trusted_certs.pem
diff --git a/tests/standalone_2/io/server_socket_close_listen_test.dart b/tests/standalone_2/io/server_socket_close_listen_test.dart
index cfeb11a..f9ffe23 100644
--- a/tests/standalone_2/io/server_socket_close_listen_test.dart
+++ b/tests/standalone_2/io/server_socket_close_listen_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/server_socket_exception_test.dart b/tests/standalone_2/io/server_socket_exception_test.dart
index 16d1c34..e8b306b 100644
--- a/tests/standalone_2/io/server_socket_exception_test.dart
+++ b/tests/standalone_2/io/server_socket_exception_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/server_socket_listen_close_test.dart b/tests/standalone_2/io/server_socket_listen_close_test.dart
index 5a1fb71..4acb074 100644
--- a/tests/standalone_2/io/server_socket_listen_close_test.dart
+++ b/tests/standalone_2/io/server_socket_listen_close_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/shared_socket_test.dart b/tests/standalone_2/io/shared_socket_test.dart
index 67be964..e4248bd 100644
--- a/tests/standalone_2/io/shared_socket_test.dart
+++ b/tests/standalone_2/io/shared_socket_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/io/signal_test_script.dart b/tests/standalone_2/io/signal_test_script.dart
index 772c2af..add04da 100644
--- a/tests/standalone_2/io/signal_test_script.dart
+++ b/tests/standalone_2/io/signal_test_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.9
+
 import "dart:io";
 import "dart:async";
 
diff --git a/tests/standalone_2/io/signals_exception_test.dart b/tests/standalone_2/io/signals_exception_test.dart
index 28f552e..09c6a02 100644
--- a/tests/standalone_2/io/signals_exception_test.dart
+++ b/tests/standalone_2/io/signals_exception_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/signals_test.dart b/tests/standalone_2/io/signals_test.dart
index 2c1620e..36943b4 100644
--- a/tests/standalone_2/io/signals_test.dart
+++ b/tests/standalone_2/io/signals_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.9
+
 // OtherResources=signal_test_script.dart
 // OtherResources=signals_test_script.dart
 
diff --git a/tests/standalone_2/io/signals_test_script.dart b/tests/standalone_2/io/signals_test_script.dart
index b5b5210..e15cf12 100644
--- a/tests/standalone_2/io/signals_test_script.dart
+++ b/tests/standalone_2/io/signals_test_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.9
+
 import "dart:io";
 
 void main(args) {
diff --git a/tests/standalone_2/io/sleep_test.dart b/tests/standalone_2/io/sleep_test.dart
index ef5d20c..03a186d 100644
--- a/tests/standalone_2/io/sleep_test.dart
+++ b/tests/standalone_2/io/sleep_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.9
+
 import 'dart:io';
 import 'package:expect/expect.dart';
 
diff --git a/tests/standalone_2/io/snapshot_fail_script.dart b/tests/standalone_2/io/snapshot_fail_script.dart
index 86099d8..2fd8809 100644
--- a/tests/standalone_2/io/snapshot_fail_script.dart
+++ b/tests/standalone_2/io/snapshot_fail_script.dart
@@ -2,5 +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.9
+
 main() {
   print("Oops!");
diff --git a/tests/standalone_2/io/snapshot_fail_test.dart b/tests/standalone_2/io/snapshot_fail_test.dart
index ca4a6d0..47595ff 100644
--- a/tests/standalone_2/io/snapshot_fail_test.dart
+++ b/tests/standalone_2/io/snapshot_fail_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.9
+
 // Dart test making sure we don't create an empty snapshot file when there
 // is an error in the script.
 
diff --git a/tests/standalone_2/io/socket_arguments_test.dart b/tests/standalone_2/io/socket_arguments_test.dart
index 251adc6..bf30a75b 100644
--- a/tests/standalone_2/io/socket_arguments_test.dart
+++ b/tests/standalone_2/io/socket_arguments_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_bind_test.dart b/tests/standalone_2/io/socket_bind_test.dart
index 0cc540e..3328830 100644
--- a/tests/standalone_2/io/socket_bind_test.dart
+++ b/tests/standalone_2/io/socket_bind_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/socket_cancel_connect_test.dart b/tests/standalone_2/io/socket_cancel_connect_test.dart
index 7a2e112..aecacdd 100644
--- a/tests/standalone_2/io/socket_cancel_connect_test.dart
+++ b/tests/standalone_2/io/socket_cancel_connect_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_close_test.dart b/tests/standalone_2/io/socket_close_test.dart
index 6568923..16a285a 100644
--- a/tests/standalone_2/io/socket_close_test.dart
+++ b/tests/standalone_2/io/socket_close_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/socket_connect_consume_close_test.dart b/tests/standalone_2/io/socket_connect_consume_close_test.dart
index 20a078e..956353a 100644
--- a/tests/standalone_2/io/socket_connect_consume_close_test.dart
+++ b/tests/standalone_2/io/socket_connect_consume_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_consume_write_close_test.dart b/tests/standalone_2/io/socket_connect_consume_write_close_test.dart
index 3dc0ab5..28a253b 100644
--- a/tests/standalone_2/io/socket_connect_consume_write_close_test.dart
+++ b/tests/standalone_2/io/socket_connect_consume_write_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_immediate_destory_test.dart b/tests/standalone_2/io/socket_connect_immediate_destory_test.dart
index 955f373..611eaf8 100644
--- a/tests/standalone_2/io/socket_connect_immediate_destory_test.dart
+++ b/tests/standalone_2/io/socket_connect_immediate_destory_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_stream_close_test.dart b/tests/standalone_2/io/socket_connect_stream_close_test.dart
index 6c9fcc2..9ca3dfc 100644
--- a/tests/standalone_2/io/socket_connect_stream_close_test.dart
+++ b/tests/standalone_2/io/socket_connect_stream_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_stream_data_close_cancel_test.dart b/tests/standalone_2/io/socket_connect_stream_data_close_cancel_test.dart
index fa921d7..833a223 100644
--- a/tests/standalone_2/io/socket_connect_stream_data_close_cancel_test.dart
+++ b/tests/standalone_2/io/socket_connect_stream_data_close_cancel_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_stream_data_close_test.dart b/tests/standalone_2/io/socket_connect_stream_data_close_test.dart
index ddce584..34ade73 100644
--- a/tests/standalone_2/io/socket_connect_stream_data_close_test.dart
+++ b/tests/standalone_2/io/socket_connect_stream_data_close_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_connect_timeout_test.dart b/tests/standalone_2/io/socket_connect_timeout_test.dart
index d507a2a..4f07d24 100644
--- a/tests/standalone_2/io/socket_connect_timeout_test.dart
+++ b/tests/standalone_2/io/socket_connect_timeout_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_cross_process_test.dart b/tests/standalone_2/io/socket_cross_process_test.dart
index 295f216..e2355dc 100644
--- a/tests/standalone_2/io/socket_cross_process_test.dart
+++ b/tests/standalone_2/io/socket_cross_process_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import 'dart:async';
 import 'dart:io';
diff --git a/tests/standalone_2/io/socket_finalizer_test.dart b/tests/standalone_2/io/socket_finalizer_test.dart
index e973a38..a0cf894 100644
--- a/tests/standalone_2/io/socket_finalizer_test.dart
+++ b/tests/standalone_2/io/socket_finalizer_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/socket_from_raw_path_test.dart b/tests/standalone_2/io/socket_from_raw_path_test.dart
index 794f075..1102a3c 100644
--- a/tests/standalone_2/io/socket_from_raw_path_test.dart
+++ b/tests/standalone_2/io/socket_from_raw_path_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.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/io/socket_hang_test.dart b/tests/standalone_2/io/socket_hang_test.dart
index 810d2a1..96dedb4 100644
--- a/tests/standalone_2/io/socket_hang_test.dart
+++ b/tests/standalone_2/io/socket_hang_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/socket_info_ipv4_test.dart b/tests/standalone_2/io/socket_info_ipv4_test.dart
index 64e373f..5be32f8 100644
--- a/tests/standalone_2/io/socket_info_ipv4_test.dart
+++ b/tests/standalone_2/io/socket_info_ipv4_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_info_ipv6_test.dart b/tests/standalone_2/io/socket_info_ipv6_test.dart
index 7c15b7d..90e1761 100644
--- a/tests/standalone_2/io/socket_info_ipv6_test.dart
+++ b/tests/standalone_2/io/socket_info_ipv6_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.9
+
 import "dart:async";
 import "dart:io";
 import "dart:typed_data";
diff --git a/tests/standalone_2/io/socket_invalid_arguments_test.dart b/tests/standalone_2/io/socket_invalid_arguments_test.dart
index 3e8b889..691538d 100644
--- a/tests/standalone_2/io/socket_invalid_arguments_test.dart
+++ b/tests/standalone_2/io/socket_invalid_arguments_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.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/socket_invalid_bind_test.dart b/tests/standalone_2/io/socket_invalid_bind_test.dart
index f19d551..efa9e65 100644
--- a/tests/standalone_2/io/socket_invalid_bind_test.dart
+++ b/tests/standalone_2/io/socket_invalid_bind_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_ipv6_test.dart b/tests/standalone_2/io/socket_ipv6_test.dart
index 4fb14cd..6366d0c 100644
--- a/tests/standalone_2/io/socket_ipv6_test.dart
+++ b/tests/standalone_2/io/socket_ipv6_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.9
+
 import 'dart:io';
 import 'dart:async';
 
diff --git a/tests/standalone_2/io/socket_many_connections_test.dart b/tests/standalone_2/io/socket_many_connections_test.dart
index fd20d34..0f53fe2 100644
--- a/tests/standalone_2/io/socket_many_connections_test.dart
+++ b/tests/standalone_2/io/socket_many_connections_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/socket_port_test.dart b/tests/standalone_2/io/socket_port_test.dart
index e7a24ec..29c856a 100644
--- a/tests/standalone_2/io/socket_port_test.dart
+++ b/tests/standalone_2/io/socket_port_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_simple_bind_test.dart b/tests/standalone_2/io/socket_simple_bind_test.dart
index 661815d..9a06094 100644
--- a/tests/standalone_2/io/socket_simple_bind_test.dart
+++ b/tests/standalone_2/io/socket_simple_bind_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_source_address_test.dart b/tests/standalone_2/io/socket_source_address_test.dart
index 4fe8b39..57efc5af 100644
--- a/tests/standalone_2/io/socket_source_address_test.dart
+++ b/tests/standalone_2/io/socket_source_address_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/socket_upgrade_to_secure_test.dart b/tests/standalone_2/io/socket_upgrade_to_secure_test.dart
index 9209f34..9bcb379 100644
--- a/tests/standalone_2/io/socket_upgrade_to_secure_test.dart
+++ b/tests/standalone_2/io/socket_upgrade_to_secure_test.dart
@@ -10,6 +10,8 @@
 // OtherResources=certificates/server_key.pem
 // OtherResources=certificates/trusted_certs.pem
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/stdin_has_terminal_test.dart b/tests/standalone_2/io/stdin_has_terminal_test.dart
index 2b9cae1..675eeb9 100644
--- a/tests/standalone_2/io/stdin_has_terminal_test.dart
+++ b/tests/standalone_2/io/stdin_has_terminal_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/stdin_sync_test.dart b/tests/standalone_2/io/stdin_sync_test.dart
index 612b8a5..9976e60 100644
--- a/tests/standalone_2/io/stdin_sync_test.dart
+++ b/tests/standalone_2/io/stdin_sync_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.9
+
 // OtherResources=stdin_sync_script.dart
 
 import "dart:convert";
diff --git a/tests/standalone_2/io/stdio_implicit_close_script.dart b/tests/standalone_2/io/stdio_implicit_close_script.dart
index 2b09e2f..cbb8519c 100644
--- a/tests/standalone_2/io/stdio_implicit_close_script.dart
+++ b/tests/standalone_2/io/stdio_implicit_close_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.9
+
 import "dart:io";
 
 void main(List<String> arguments) {
diff --git a/tests/standalone_2/io/stdio_implicit_close_test.dart b/tests/standalone_2/io/stdio_implicit_close_test.dart
index f283417..787ee73 100644
--- a/tests/standalone_2/io/stdio_implicit_close_test.dart
+++ b/tests/standalone_2/io/stdio_implicit_close_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.9
+
 // OtherResources=stdio_implicit_close_script.dart
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/stdio_nonblocking_script.dart b/tests/standalone_2/io/stdio_nonblocking_script.dart
index fa608c4..a398a10 100644
--- a/tests/standalone_2/io/stdio_nonblocking_script.dart
+++ b/tests/standalone_2/io/stdio_nonblocking_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/stdio_nonblocking_test.dart b/tests/standalone_2/io/stdio_nonblocking_test.dart
index 22d65de..41f2117 100644
--- a/tests/standalone_2/io/stdio_nonblocking_test.dart
+++ b/tests/standalone_2/io/stdio_nonblocking_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.9
+
 // OtherResources=stdio_nonblocking_script.dart
 
 import "dart:convert";
diff --git a/tests/standalone_2/io/stdio_socket_finalizer_test.dart b/tests/standalone_2/io/stdio_socket_finalizer_test.dart
index e458c55..b42a023 100644
--- a/tests/standalone_2/io/stdio_socket_finalizer_test.dart
+++ b/tests/standalone_2/io/stdio_socket_finalizer_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/io/stdout_close_test.dart b/tests/standalone_2/io/stdout_close_test.dart
index 128c230..0e771a1 100644
--- a/tests/standalone_2/io/stdout_close_test.dart
+++ b/tests/standalone_2/io/stdout_close_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.9
+
 import "package:expect/expect.dart";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/stdout_stderr_non_blocking_test.dart b/tests/standalone_2/io/stdout_stderr_non_blocking_test.dart
index 2be201f..5c546d7 100644
--- a/tests/standalone_2/io/stdout_stderr_non_blocking_test.dart
+++ b/tests/standalone_2/io/stdout_stderr_non_blocking_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.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:convert";
diff --git a/tests/standalone_2/io/stdout_stderr_terminal_test.dart b/tests/standalone_2/io/stdout_stderr_terminal_test.dart
index 9de52d64..c65b627 100644
--- a/tests/standalone_2/io/stdout_stderr_terminal_test.dart
+++ b/tests/standalone_2/io/stdout_stderr_terminal_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/io/stdout_stderr_test.dart b/tests/standalone_2/io/stdout_stderr_test.dart
index a6a7657..5d8f9b8 100644
--- a/tests/standalone_2/io/stdout_stderr_test.dart
+++ b/tests/standalone_2/io/stdout_stderr_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.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:convert";
diff --git a/tests/standalone_2/io/stream_pipe_test.dart b/tests/standalone_2/io/stream_pipe_test.dart
index de11c0a..a8e4454 100644
--- a/tests/standalone_2/io/stream_pipe_test.dart
+++ b/tests/standalone_2/io/stream_pipe_test.dart
@@ -9,6 +9,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:io";
 
 import "package:async_helper/async_helper.dart";
diff --git a/tests/standalone_2/io/system_encoding_test.dart b/tests/standalone_2/io/system_encoding_test.dart
index 40a6bf6..5ec13ad 100644
--- a/tests/standalone_2/io/system_encoding_test.dart
+++ b/tests/standalone_2/io/system_encoding_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.9
+
 import 'dart:io';
 import 'dart:convert';
 
diff --git a/tests/standalone_2/io/test_extension.dart b/tests/standalone_2/io/test_extension.dart
index beed87c..2cf249a 100644
--- a/tests/standalone_2/io/test_extension.dart
+++ b/tests/standalone_2/io/test_extension.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library test_extension;
 
 import "dart-ext:test_extension";
diff --git a/tests/standalone_2/io/test_extension_fail_test.dart b/tests/standalone_2/io/test_extension_fail_test.dart
index d6941e3..e4f664c 100644
--- a/tests/standalone_2/io/test_extension_fail_test.dart
+++ b/tests/standalone_2/io/test_extension_fail_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing native extensions.
 
+// @dart = 2.9
+
 // OtherResources=test_extension.dart
 // OtherResources=test_extension_fail_tester.dart
 // OtherResources=test_relative_extension.dart
diff --git a/tests/standalone_2/io/test_extension_test.dart b/tests/standalone_2/io/test_extension_test.dart
index e2a11e6..9e0babad 100644
--- a/tests/standalone_2/io/test_extension_test.dart
+++ b/tests/standalone_2/io/test_extension_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing native extensions.
 
+// @dart = 2.9
+
 // OtherResources=test_extension.dart
 // OtherResources=test_extension_tester.dart
 
diff --git a/tests/standalone_2/io/test_relative_extension.dart b/tests/standalone_2/io/test_relative_extension.dart
index 79f9489..85a2c37 100644
--- a/tests/standalone_2/io/test_relative_extension.dart
+++ b/tests/standalone_2/io/test_relative_extension.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library test_extension;
 
 import "dart-ext:extension/test_extension";
diff --git a/tests/standalone_2/io/test_relative_extension_fail_tester.dart b/tests/standalone_2/io/test_relative_extension_fail_tester.dart
index ad37cf0..0afdd44 100644
--- a/tests/standalone_2/io/test_relative_extension_fail_tester.dart
+++ b/tests/standalone_2/io/test_relative_extension_fail_tester.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library test_extension_test;
 
 import "dart:async";
diff --git a/tests/standalone_2/io/test_utils.dart b/tests/standalone_2/io/test_utils.dart
index fb3b3ef..0a36318 100644
--- a/tests/standalone_2/io/test_utils.dart
+++ b/tests/standalone_2/io/test_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/io/testing_server.dart b/tests/standalone_2/io/testing_server.dart
index 1899399..7ee3a10 100644
--- a/tests/standalone_2/io/testing_server.dart
+++ b/tests/standalone_2/io/testing_server.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 part of ServerTest;
 
 abstract class TestingServer {
diff --git a/tests/standalone_2/io/unix_socket_test.dart b/tests/standalone_2/io/unix_socket_test.dart
index 05f672c..4e558c8 100644
--- a/tests/standalone_2/io/unix_socket_test.dart
+++ b/tests/standalone_2/io/unix_socket_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:convert';
diff --git a/tests/standalone_2/io/unknown_host_test.dart b/tests/standalone_2/io/unknown_host_test.dart
index 636bdfb..4142e7d 100644
--- a/tests/standalone_2/io/unknown_host_test.dart
+++ b/tests/standalone_2/io/unknown_host_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests socket exceptions.
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/uri_platform_test.dart b/tests/standalone_2/io/uri_platform_test.dart
index f2d26dc..bb2c6e9 100644
--- a/tests/standalone_2/io/uri_platform_test.dart
+++ b/tests/standalone_2/io/uri_platform_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.9
+
 import "package:expect/expect.dart";
 import 'package:path/path.dart' as path;
 import "dart:io";
diff --git a/tests/standalone_2/io/wait_for_error_test.dart b/tests/standalone_2/io/wait_for_error_test.dart
index a3b71c5..adcfd69 100644
--- a/tests/standalone_2/io/wait_for_error_test.dart
+++ b/tests/standalone_2/io/wait_for_error_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_helper.dart b/tests/standalone_2/io/wait_for_event_helper.dart
index e79ff13..9ce312a 100644
--- a/tests/standalone_2/io/wait_for_event_helper.dart
+++ b/tests/standalone_2/io/wait_for_event_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.9
+
 import 'dart:async';
 import 'dart:mirrors';
 import 'dart:cli';
diff --git a/tests/standalone_2/io/wait_for_event_isolate_test.dart b/tests/standalone_2/io/wait_for_event_isolate_test.dart
index 15b970f..f3638ec 100644
--- a/tests/standalone_2/io/wait_for_event_isolate_test.dart
+++ b/tests/standalone_2/io/wait_for_event_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/io/wait_for_event_microtask_test.dart b/tests/standalone_2/io/wait_for_event_microtask_test.dart
index b707265..39c430a 100644
--- a/tests/standalone_2/io/wait_for_event_microtask_test.dart
+++ b/tests/standalone_2/io/wait_for_event_microtask_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_nested_microtask_test.dart b/tests/standalone_2/io/wait_for_event_nested_microtask_test.dart
index cb11bf9..4ecd9cd 100644
--- a/tests/standalone_2/io/wait_for_event_nested_microtask_test.dart
+++ b/tests/standalone_2/io/wait_for_event_nested_microtask_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_nested_timer_microtask_test.dart b/tests/standalone_2/io/wait_for_event_nested_timer_microtask_test.dart
index 7fbac17..3496dd3 100644
--- a/tests/standalone_2/io/wait_for_event_nested_timer_microtask_test.dart
+++ b/tests/standalone_2/io/wait_for_event_nested_timer_microtask_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_nested_timer_test.dart b/tests/standalone_2/io/wait_for_event_nested_timer_test.dart
index 6971952..b457906 100644
--- a/tests/standalone_2/io/wait_for_event_nested_timer_test.dart
+++ b/tests/standalone_2/io/wait_for_event_nested_timer_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_nested_waits_test.dart b/tests/standalone_2/io/wait_for_event_nested_waits_test.dart
index 0701996..91ec2c3 100644
--- a/tests/standalone_2/io/wait_for_event_nested_waits_test.dart
+++ b/tests/standalone_2/io/wait_for_event_nested_waits_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_timer_test.dart b/tests/standalone_2/io/wait_for_event_timer_test.dart
index 5ce0a64..336e414 100644
--- a/tests/standalone_2/io/wait_for_event_timer_test.dart
+++ b/tests/standalone_2/io/wait_for_event_timer_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_zone_caught_error_test.dart b/tests/standalone_2/io/wait_for_event_zone_caught_error_test.dart
index 90484e0..8119ebe 100644
--- a/tests/standalone_2/io/wait_for_event_zone_caught_error_test.dart
+++ b/tests/standalone_2/io/wait_for_event_zone_caught_error_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_event_zone_test.dart b/tests/standalone_2/io/wait_for_event_zone_test.dart
index b6a7825..7e7224a 100644
--- a/tests/standalone_2/io/wait_for_event_zone_test.dart
+++ b/tests/standalone_2/io/wait_for_event_zone_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_exception_test.dart b/tests/standalone_2/io/wait_for_exception_test.dart
index 6c83553..9167920 100644
--- a/tests/standalone_2/io/wait_for_exception_test.dart
+++ b/tests/standalone_2/io/wait_for_exception_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/wait_for_test.dart b/tests/standalone_2/io/wait_for_test.dart
index a8ac543..11ccee8 100644
--- a/tests/standalone_2/io/wait_for_test.dart
+++ b/tests/standalone_2/io/wait_for_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.9
+
 import 'dart:async';
 import 'dart:mirrors';
 import 'dart:cli';
diff --git a/tests/standalone_2/io/wait_for_timeout_test.dart b/tests/standalone_2/io/wait_for_timeout_test.dart
index 2b239fa..de1b246 100644
--- a/tests/standalone_2/io/wait_for_timeout_test.dart
+++ b/tests/standalone_2/io/wait_for_timeout_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.9
+
 import 'dart:async';
 import 'dart:cli';
 
diff --git a/tests/standalone_2/io/web_socket_compression_test.dart b/tests/standalone_2/io/web_socket_compression_test.dart
index 7ea3baa..5931062 100644
--- a/tests/standalone_2/io/web_socket_compression_test.dart
+++ b/tests/standalone_2/io/web_socket_compression_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:convert";
 import "dart:io";
diff --git a/tests/standalone_2/io/web_socket_pipe_test.dart b/tests/standalone_2/io/web_socket_pipe_test.dart
index 7705c34..9805b70 100644
--- a/tests/standalone_2/io/web_socket_pipe_test.dart
+++ b/tests/standalone_2/io/web_socket_pipe_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/web_socket_protocol_test.dart b/tests/standalone_2/io/web_socket_protocol_test.dart
index edbb1b2..a7fe64d 100644
--- a/tests/standalone_2/io/web_socket_protocol_test.dart
+++ b/tests/standalone_2/io/web_socket_protocol_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/web_socket_test.dart b/tests/standalone_2/io/web_socket_test.dart
index 11cd47f..a931549 100644
--- a/tests/standalone_2/io/web_socket_test.dart
+++ b/tests/standalone_2/io/web_socket_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "dart:async";
 import "dart:convert";
 import "dart:io";
diff --git a/tests/standalone_2/io/web_socket_typed_data_test.dart b/tests/standalone_2/io/web_socket_typed_data_test.dart
index 595ca60..903797b 100644
--- a/tests/standalone_2/io/web_socket_typed_data_test.dart
+++ b/tests/standalone_2/io/web_socket_typed_data_test.dart
@@ -7,6 +7,8 @@
 // VMOptions=--short_socket_write
 // VMOptions=--short_socket_read --short_socket_write
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:async";
 import "dart:io";
diff --git a/tests/standalone_2/io/windows_environment_script.dart b/tests/standalone_2/io/windows_environment_script.dart
index f142163..a5d19f8 100644
--- a/tests/standalone_2/io/windows_environment_script.dart
+++ b/tests/standalone_2/io/windows_environment_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.9
+
 import "dart:io";
 
 main() {
diff --git a/tests/standalone_2/io/windows_environment_test.dart b/tests/standalone_2/io/windows_environment_test.dart
index f5fbe55..d7b5173 100644
--- a/tests/standalone_2/io/windows_environment_test.dart
+++ b/tests/standalone_2/io/windows_environment_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.9
+
 // OtherResources=windows_environment_script.dart
 
 import 'package:path/path.dart';
diff --git a/tests/standalone_2/io/windows_file_system_async_links_test.dart b/tests/standalone_2/io/windows_file_system_async_links_test.dart
index 4810d25..d654e24 100644
--- a/tests/standalone_2/io/windows_file_system_async_links_test.dart
+++ b/tests/standalone_2/io/windows_file_system_async_links_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.9
+
 import "dart:async";
 import "dart:io";
 
diff --git a/tests/standalone_2/io/windows_file_system_links_test.dart b/tests/standalone_2/io/windows_file_system_links_test.dart
index dcbc571..c7b1027 100644
--- a/tests/standalone_2/io/windows_file_system_links_test.dart
+++ b/tests/standalone_2/io/windows_file_system_links_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.9
+
 import "dart:io";
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/io/zlib_test.dart b/tests/standalone_2/io/zlib_test.dart
index 55dc44d..64335ab 100644
--- a/tests/standalone_2/io/zlib_test.dart
+++ b/tests/standalone_2/io/zlib_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.9
+
 import 'dart:async';
 import 'dart:io';
 import 'dart:typed_data';
diff --git a/tests/standalone_2/left_shift_bit_and_op_test.dart b/tests/standalone_2/left_shift_bit_and_op_test.dart
index 9140ceb..1f96dbe 100644
--- a/tests/standalone_2/left_shift_bit_and_op_test.dart
+++ b/tests/standalone_2/left_shift_bit_and_op_test.dart
@@ -4,6 +4,8 @@
 //
 // Tests optimizing (a << b) & c if c is a Smi constant.
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/link_natives_lazily_test.dart b/tests/standalone_2/link_natives_lazily_test.dart
index 35a53a1..3bcfd88 100644
--- a/tests/standalone_2/link_natives_lazily_test.dart
+++ b/tests/standalone_2/link_natives_lazily_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.9
+
 // VMOptions=--link_natives_lazily
 
 main() {
diff --git a/tests/standalone_2/map_insert_remove_oom_test.dart b/tests/standalone_2/map_insert_remove_oom_test.dart
index 143fd18..2248302 100644
--- a/tests/standalone_2/map_insert_remove_oom_test.dart
+++ b/tests/standalone_2/map_insert_remove_oom_test.dart
@@ -12,6 +12,8 @@
 //
 // Test that compaction does occur on repeated add/remove.
 
+// @dart = 2.9
+
 main() {
   var x = {};
   for (int i = 0; i < 1000000; i++) {
diff --git a/tests/standalone_2/medium_integer_test.dart b/tests/standalone_2/medium_integer_test.dart
index 28532f9..302da26 100644
--- a/tests/standalone_2/medium_integer_test.dart
+++ b/tests/standalone_2/medium_integer_test.dart
@@ -4,6 +4,8 @@
 // Testing Mints. Note that the tests may not work on 64-bit machines,
 // as Smi's would be used to represent many of the numbers.
 
+// @dart = 2.9
+
 library MediumIntegerTest;
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/no_allow_absolute_addresses_test.dart b/tests/standalone_2/no_allow_absolute_addresses_test.dart
index e013c5e..11ba033 100644
--- a/tests/standalone_2/no_allow_absolute_addresses_test.dart
+++ b/tests/standalone_2/no_allow_absolute_addresses_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.9
+
 // VMOptions=--no_allow_absolute_addresses
 
 main() {
diff --git a/tests/standalone_2/no_lazy_dispatchers_test.dart b/tests/standalone_2/no_lazy_dispatchers_test.dart
index f45ba1c..96a4c5e 100644
--- a/tests/standalone_2/no_lazy_dispatchers_test.dart
+++ b/tests/standalone_2/no_lazy_dispatchers_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.9
+
 // VMOptions=--no_lazy_dispatchers
 
 main() {
diff --git a/tests/standalone_2/no_profiler_test.dart b/tests/standalone_2/no_profiler_test.dart
index 0b612d1..46028fa 100644
--- a/tests/standalone_2/no_profiler_test.dart
+++ b/tests/standalone_2/no_profiler_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.9
+
 // VMOptions=--no_profiler
 
 main() {
diff --git a/tests/standalone_2/no_such_method_error_with_invocation_test.dart b/tests/standalone_2/no_such_method_error_with_invocation_test.dart
index 9d8dc17..b72b3c0 100644
--- a/tests/standalone_2/no_such_method_error_with_invocation_test.dart
+++ b/tests/standalone_2/no_such_method_error_with_invocation_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/no_support_ast_printer_test.dart b/tests/standalone_2/no_support_ast_printer_test.dart
index bbffe22..0bfd5e3 100644
--- a/tests/standalone_2/no_support_ast_printer_test.dart
+++ b/tests/standalone_2/no_support_ast_printer_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.9
+
 // VMOptions=--no-support_ast_printer
 
 main() {
diff --git a/tests/standalone_2/no_support_debugger_test.dart b/tests/standalone_2/no_support_debugger_test.dart
index fb20c9a..943b592 100644
--- a/tests/standalone_2/no_support_debugger_test.dart
+++ b/tests/standalone_2/no_support_debugger_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.9
+
 // VMOptions=--no-support_debugger
 
 main() {
diff --git a/tests/standalone_2/no_support_disassembler_test.dart b/tests/standalone_2/no_support_disassembler_test.dart
index 2f0aca0..621f7e6 100644
--- a/tests/standalone_2/no_support_disassembler_test.dart
+++ b/tests/standalone_2/no_support_disassembler_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.9
+
 // VMOptions=--no_support_disassembler
 
 main() {
diff --git a/tests/standalone_2/no_support_il_printer_test.dart b/tests/standalone_2/no_support_il_printer_test.dart
index 4ebba33..3f31e40 100644
--- a/tests/standalone_2/no_support_il_printer_test.dart
+++ b/tests/standalone_2/no_support_il_printer_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.9
+
 // VMOptions=--no-support_il_printer
 
 main() {
diff --git a/tests/standalone_2/no_support_service_test.dart b/tests/standalone_2/no_support_service_test.dart
index 2431dbc..1b9a8c7 100644
--- a/tests/standalone_2/no_support_service_test.dart
+++ b/tests/standalone_2/no_support_service_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.9
+
 // VMOptions=--no-support_service
 
 main() {
diff --git a/tests/standalone_2/no_support_timeline_test.dart b/tests/standalone_2/no_support_timeline_test.dart
index c15a441..e7d1c8b 100644
--- a/tests/standalone_2/no_support_timeline_test.dart
+++ b/tests/standalone_2/no_support_timeline_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.9
+
 // VMOptions=--no-support_timeline
 
 main() {
diff --git a/tests/standalone_2/number_identity_test.dart b/tests/standalone_2/number_identity_test.dart
index ce9cbfe..62febf2 100644
--- a/tests/standalone_2/number_identity_test.dart
+++ b/tests/standalone_2/number_identity_test.dart
@@ -6,6 +6,8 @@
 // Tests 'identical' for cases that not supported in dart2js (bigint,
 // disambiguation int/double).
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tests/standalone_2/oom_error_stacktrace_test.dart b/tests/standalone_2/oom_error_stacktrace_test.dart
index ffa33ae..388444f 100644
--- a/tests/standalone_2/oom_error_stacktrace_test.dart
+++ b/tests/standalone_2/oom_error_stacktrace_test.dart
@@ -4,6 +4,8 @@
 // Dart test program for testing throw statement
 // VMOptions=--old_gen_heap_size=512
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class Helper1 {
diff --git a/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart b/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart
index 2157fa7..a6be625 100644
--- a/tests/standalone_2/out_of_memory_recovery_synchronous_test.dart
+++ b/tests/standalone_2/out_of_memory_recovery_synchronous_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.9
+
 // VMOptions=--old_gen_heap_size=20
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/out_of_memory_recovery_test.dart b/tests/standalone_2/out_of_memory_recovery_test.dart
index 05aa4db..85f7d3d 100644
--- a/tests/standalone_2/out_of_memory_recovery_test.dart
+++ b/tests/standalone_2/out_of_memory_recovery_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.9
+
 // VMOptions=--old_gen_heap_size=20
 
 import "dart:io";
diff --git a/tests/standalone_2/out_of_memory_slow_growth_test.dart b/tests/standalone_2/out_of_memory_slow_growth_test.dart
index e534dc6..f624f10 100644
--- a/tests/standalone_2/out_of_memory_slow_growth_test.dart
+++ b/tests/standalone_2/out_of_memory_slow_growth_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.9
+
 // VMOptions=--old_gen_heap_size=20
 // VMOptions=--old_gen_heap_size=20 --enable_vm_service --pause_isolates_on_unhandled_exceptions
 
diff --git a/tests/standalone_2/out_of_memory_test.dart b/tests/standalone_2/out_of_memory_test.dart
index ce5224b..73407cb 100644
--- a/tests/standalone_2/out_of_memory_test.dart
+++ b/tests/standalone_2/out_of_memory_test.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // VMOptions=--old_gen_heap_size=512
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 void main() {
diff --git a/tests/standalone_2/out_of_memory_unhandled_exception_test.dart b/tests/standalone_2/out_of_memory_unhandled_exception_test.dart
index 7a5935d..5f43522 100644
--- a/tests/standalone_2/out_of_memory_unhandled_exception_test.dart
+++ b/tests/standalone_2/out_of_memory_unhandled_exception_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.9
+
 import "dart:io";
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/package/invalid_uri_test.dart b/tests/standalone_2/package/invalid_uri_test.dart
index c081860..57fb5e2 100644
--- a/tests/standalone_2/package/invalid_uri_test.dart
+++ b/tests/standalone_2/package/invalid_uri_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.9
+
 library invalid_uri_test;
 
  // Should not contain "//".
diff --git a/tests/standalone_2/package/package1_test.dart b/tests/standalone_2/package/package1_test.dart
index 53c8828..3000ca3 100644
--- a/tests/standalone_2/package/package1_test.dart
+++ b/tests/standalone_2/package/package1_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.9
+
 // Packages=none
 
 library package1_test;
diff --git a/tests/standalone_2/package/package_isolate_test.dart b/tests/standalone_2/package/package_isolate_test.dart
index 2a30cb5..bfee62b 100644
--- a/tests/standalone_2/package/package_isolate_test.dart
+++ b/tests/standalone_2/package/package_isolate_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.9
+
 library package_isolate_test;
 
 import 'packages/shared.dart' as shared;
diff --git a/tests/standalone_2/package/package_test.dart b/tests/standalone_2/package/package_test.dart
index 4f7e52b..761493e 100644
--- a/tests/standalone_2/package/package_test.dart
+++ b/tests/standalone_2/package/package_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.9
+
 // Packages=none
 
 library package_test;
diff --git a/tests/standalone_2/package/packages/lib1.dart b/tests/standalone_2/package/packages/lib1.dart
index f5175a2..1954e5a 100644
--- a/tests/standalone_2/package/packages/lib1.dart
+++ b/tests/standalone_2/package/packages/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.9
+
 library lib1;
 
 import 'package:shared.dart';
diff --git a/tests/standalone_2/package/packages/lib2/lib2.dart b/tests/standalone_2/package/packages/lib2/lib2.dart
index b649a27..0571d3f 100644
--- a/tests/standalone_2/package/packages/lib2/lib2.dart
+++ b/tests/standalone_2/package/packages/lib2/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.9
+
 library lib2;
 
 import 'package:shared.dart';
diff --git a/tests/standalone_2/package/packages/lib3/sub/lib3.dart b/tests/standalone_2/package/packages/lib3/sub/lib3.dart
index 16bd99f..0b35298 100644
--- a/tests/standalone_2/package/packages/lib3/sub/lib3.dart
+++ b/tests/standalone_2/package/packages/lib3/sub/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.9
+
 library lib3;
 
 import 'package:shared.dart';
diff --git a/tests/standalone_2/package/packages/package1.dart b/tests/standalone_2/package/packages/package1.dart
index d0a6081..f66fb5b 100644
--- a/tests/standalone_2/package/packages/package1.dart
+++ b/tests/standalone_2/package/packages/package1.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library package1;
 
 import 'package2.dart' as p1;
diff --git a/tests/standalone_2/package/packages/package2.dart b/tests/standalone_2/package/packages/package2.dart
index 135e16d..8c91e96 100644
--- a/tests/standalone_2/package/packages/package2.dart
+++ b/tests/standalone_2/package/packages/package2.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library package2;
 
 class X {
diff --git a/tests/standalone_2/package/packages/shared.dart b/tests/standalone_2/package/packages/shared.dart
index 5145c42..579d13b 100644
--- a/tests/standalone_2/package/packages/shared.dart
+++ b/tests/standalone_2/package/packages/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.9
+
 library shared;
 
 var output = '';
diff --git a/tests/standalone_2/package/scenarios/both_dir_and_file/both_dir_and_file_noimports_test.dart b/tests/standalone_2/package/scenarios/both_dir_and_file/both_dir_and_file_noimports_test.dart
index 53195a7..03fa700 100644
--- a/tests/standalone_2/package/scenarios/both_dir_and_file/both_dir_and_file_noimports_test.dart
+++ b/tests/standalone_2/package/scenarios/both_dir_and_file/both_dir_and_file_noimports_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.9
+
 // Packages=none
 
 library both_dir_and_file_noimports_test;
diff --git a/tests/standalone_2/package/scenarios/both_dir_and_file/foo/foo.dart b/tests/standalone_2/package/scenarios/both_dir_and_file/foo/foo.dart
index 8e60bcd..6c5627a 100644
--- a/tests/standalone_2/package/scenarios/both_dir_and_file/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/both_dir_and_file/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String bar = 'good';
diff --git a/tests/standalone_2/package/scenarios/both_dir_and_file/packages/foo/foo.dart b/tests/standalone_2/package/scenarios/both_dir_and_file/packages/foo/foo.dart
index 53fc2a4..6e23092 100644
--- a/tests/standalone_2/package/scenarios/both_dir_and_file/packages/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/both_dir_and_file/packages/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String bar = 'bad';
diff --git a/tests/standalone_2/package/scenarios/both_dir_and_file/prefers_packages_file_test.dart b/tests/standalone_2/package/scenarios/both_dir_and_file/prefers_packages_file_test.dart
index f06fc56..fb5d6db 100644
--- a/tests/standalone_2/package/scenarios/both_dir_and_file/prefers_packages_file_test.dart
+++ b/tests/standalone_2/package/scenarios/both_dir_and_file/prefers_packages_file_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.9
+
 // Packages=none
 
 library prefers_packages_file_test;
diff --git a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_discovery_test.dart b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_discovery_test.dart
index 898a519..eb53520 100644
--- a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_discovery_test.dart
+++ b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_discovery_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.9
+
 // Packages=none
 
 library empty_packages_file_discovery_test;
diff --git a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_noimports_test.dart b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_noimports_test.dart
index af76de8..d539707 100644
--- a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_noimports_test.dart
+++ b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_noimports_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.9
+
 // Packages=.packages
 
 // We expect this to not cause any errors. An empty packages file is valid,
diff --git a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_option_test.dart b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_option_test.dart
index fbde79f..708d8bb 100644
--- a/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_option_test.dart
+++ b/tests/standalone_2/package/scenarios/empty_packages_file/empty_packages_file_option_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.9
+
 // Packages=.packages
 
 library empty_packages_file_option_test;
diff --git a/tests/standalone_2/package/scenarios/invalid/foo/foo.dart b/tests/standalone_2/package/scenarios/invalid/foo/foo.dart
index 8c5c046..45d5368 100644
--- a/tests/standalone_2/package/scenarios/invalid/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/invalid/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String foo = 'foo';
diff --git a/tests/standalone_2/package/scenarios/invalid/invalid_package_name_test.dart b/tests/standalone_2/package/scenarios/invalid/invalid_package_name_test.dart
index 4c278c9..36945794 100644
--- a/tests/standalone_2/package/scenarios/invalid/invalid_package_name_test.dart
+++ b/tests/standalone_2/package/scenarios/invalid/invalid_package_name_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.9
+
 // Packages=invalid_package_name.packages
 
 library invalid_package_name_test;
diff --git a/tests/standalone_2/package/scenarios/invalid/invalid_utf8_test.dart b/tests/standalone_2/package/scenarios/invalid/invalid_utf8_test.dart
index 224fc88..3ed940c 100644
--- a/tests/standalone_2/package/scenarios/invalid/invalid_utf8_test.dart
+++ b/tests/standalone_2/package/scenarios/invalid/invalid_utf8_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.9
+
 // Packages=invalid_utf8.packages
 
 library invalid_utf8_test;
diff --git a/tests/standalone_2/package/scenarios/invalid/non_existent_packages_file_test.dart b/tests/standalone_2/package/scenarios/invalid/non_existent_packages_file_test.dart
index dc7380c..329a3b7 100644
--- a/tests/standalone_2/package/scenarios/invalid/non_existent_packages_file_test.dart
+++ b/tests/standalone_2/package/scenarios/invalid/non_existent_packages_file_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.9
+
 // Packages=non_existent.packages
 
 library non_existent_packages_file_test;
diff --git a/tests/standalone_2/package/scenarios/invalid/same_package_twice_test.dart b/tests/standalone_2/package/scenarios/invalid/same_package_twice_test.dart
index acedb40..5d9a24e 100644
--- a/tests/standalone_2/package/scenarios/invalid/same_package_twice_test.dart
+++ b/tests/standalone_2/package/scenarios/invalid/same_package_twice_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.9
+
 // Packages=same_package_twice.packages
 
 library same_package_twice_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_in_parent/foo/foo.dart b/tests/standalone_2/package/scenarios/packages_file_in_parent/foo/foo.dart
index fed9bd7..a446b4a 100644
--- a/tests/standalone_2/package/scenarios/packages_file_in_parent/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_in_parent/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String bar = 'hello';
diff --git a/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_noimports_test.dart b/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_noimports_test.dart
index d5194f1..b448cfd 100644
--- a/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_noimports_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_noimports_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.9
+
 // Packages=none
 
 library packages_file_in_parent_noimports_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test.dart b/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test.dart
index 0151f19..54cf994 100644
--- a/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_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.9
+
 // Packages=none
 
 library packages_file_in_parent_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_only/foo/foo.dart b/tests/standalone_2/package/scenarios/packages_file_only/foo/foo.dart
index fed9bd7..a446b4a 100644
--- a/tests/standalone_2/package/scenarios/packages_file_only/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_only/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String bar = 'hello';
diff --git a/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_noimports_test.dart b/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_noimports_test.dart
index e495256..35be09b 100644
--- a/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_noimports_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_noimports_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.9
+
 // Packages=none
 
 library packages_file_only_noimports_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_test.dart b/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_test.dart
index 554f3b7..b57e091 100644
--- a/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_only/packages_file_only_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.9
+
 // Packages=none
 
 library packages_file_only_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/bar/bar.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/bar/bar.dart
index 7ff2cb0..6180ca0 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/bar/bar.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/bar/bar.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library bar;
 
 String bar = 'bar';
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/baz/baz.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/baz/baz.dart
index 54059cb..597ee72 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/baz/baz.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/baz/baz.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library baz;
 
 String baz = 'baz';
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_lines_test.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_lines_test.dart
index 665597a..09c5366 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_lines_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_lines_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.9
+
 // Packages=empty_lines.packages
 
 library empty_lines_test;
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_package_dir_test.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_package_dir_test.dart
index 2cf07c9..854de5d 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_package_dir_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/empty_package_dir_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.9
+
 // Packages=empty_package_dir.packages
 
 // In this test, we give a packages file that associates the package 'foo' with
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/foo/foo.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/foo/foo.dart
index 8c5c046..45d5368 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String foo = 'foo';
diff --git a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/mixed_line_ends_test.dart b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/mixed_line_ends_test.dart
index 3e9ec48..6753ec6 100644
--- a/tests/standalone_2/package/scenarios/packages_file_strange_formatting/mixed_line_ends_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_file_strange_formatting/mixed_line_ends_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.9
+
 // Packages=mixed_line_ends.packages
 
 library mixed_line_ends_test;
diff --git a/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_noimports_test.dart b/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_noimports_test.dart
index 92e1cac..f4368e7 100644
--- a/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_noimports_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_noimports_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.9
+
 // Packages=sub/.packages
 
 library packages_option_only_noimports_test;
diff --git a/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_test.dart b/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_test.dart
index 47fdcde..c2f3701 100644
--- a/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_test.dart
+++ b/tests/standalone_2/package/scenarios/packages_option_only/packages_option_only_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.9
+
 // Packages=sub/.packages
 
 library packages_option_only_test;
diff --git a/tests/standalone_2/package/scenarios/packages_option_only/sub/foo/foo.dart b/tests/standalone_2/package/scenarios/packages_option_only/sub/foo/foo.dart
index fed9bd7..a446b4a 100644
--- a/tests/standalone_2/package/scenarios/packages_option_only/sub/foo/foo.dart
+++ b/tests/standalone_2/package/scenarios/packages_option_only/sub/foo/foo.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library foo;
 
 String bar = 'hello';
diff --git a/tests/standalone_2/package/sibling_isolate.dart b/tests/standalone_2/package/sibling_isolate.dart
index 134196e..594f549 100644
--- a/tests/standalone_2/package/sibling_isolate.dart
+++ b/tests/standalone_2/package/sibling_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library sibling_isolate;
 
 import 'package:shared.dart' as shared;
diff --git a/tests/standalone_2/package/test_folder/folder_isolate.dart b/tests/standalone_2/package/test_folder/folder_isolate.dart
index 4a56448..862d7f3 100644
--- a/tests/standalone_2/package/test_folder/folder_isolate.dart
+++ b/tests/standalone_2/package/test_folder/folder_isolate.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library folder_isolate;
 
 // This is a package that's not available to the main isolate
diff --git a/tests/standalone_2/package/test_folder/packages/folder_lib.dart b/tests/standalone_2/package/test_folder/packages/folder_lib.dart
index 006fe71..2af36b8 100644
--- a/tests/standalone_2/package/test_folder/packages/folder_lib.dart
+++ b/tests/standalone_2/package/test_folder/packages/folder_lib.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+// @dart = 2.9
+
 library folder_lib;
 
 // This is a library that's available to folder_isolate.dart
diff --git a/tests/standalone_2/packages_file_test.dart b/tests/standalone_2/packages_file_test.dart
index d39c6dc..94132d6 100644
--- a/tests/standalone_2/packages_file_test.dart
+++ b/tests/standalone_2/packages_file_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/pair_location_remapping_test.dart b/tests/standalone_2/pair_location_remapping_test.dart
index 1ee80e3..a5cf8c9 100644
--- a/tests/standalone_2/pair_location_remapping_test.dart
+++ b/tests/standalone_2/pair_location_remapping_test.dart
@@ -4,6 +4,8 @@
 // Test that pair locations are remaped in slow path environments.
 // VMOptions=--optimization_counter_threshold=10 --no-use-osr --no-background_compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 
 class A {
diff --git a/tests/standalone_2/pow_test.dart b/tests/standalone_2/pow_test.dart
index 2d6a8e2..4c86aad 100644
--- a/tests/standalone_2/pow_test.dart
+++ b/tests/standalone_2/pow_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing math's pow.
 
+// @dart = 2.9
+
 library pow_test;
 
 import "package:expect/expect.dart";
diff --git a/tests/standalone_2/priority_queue_stress_test.dart b/tests/standalone_2/priority_queue_stress_test.dart
index 76119b7..8b3e6b8 100644
--- a/tests/standalone_2/priority_queue_stress_test.dart
+++ b/tests/standalone_2/priority_queue_stress_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.9
+
 library priority_queue;
 
 import 'dart:collection';
diff --git a/tests/standalone_2/regress31114_test.dart b/tests/standalone_2/regress31114_test.dart
index 2977a21..44ec839 100644
--- a/tests/standalone_2/regress31114_test.dart
+++ b/tests/standalone_2/regress31114_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.9
+
 /// VMOptions=--background-compilation=false --optimization-counter-threshold=20
 
 import 'pow_test.dart' as test;
diff --git a/tests/standalone_2/regress_25335_test.dart b/tests/standalone_2/regress_25335_test.dart
index 500cc7f..ecfca48 100644
--- a/tests/standalone_2/regress_25335_test.dart
+++ b/tests/standalone_2/regress_25335_test.dart
@@ -5,6 +5,8 @@
 // Test that canonicalization inserts constants with correct representation.
 // VMOptions=--optimization-counter-threshold=10 --optimization-filter=bar --no-background-compilation
 
+// @dart = 2.9
+
 import 'dart:typed_data';
 
 toSigned(v, width) {
diff --git a/tests/standalone_2/regress_26031_test.dart b/tests/standalone_2/regress_26031_test.dart
index c25454e..fc161c8 100644
--- a/tests/standalone_2/regress_26031_test.dart
+++ b/tests/standalone_2/regress_26031_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/regress_28854_1_test.dart b/tests/standalone_2/regress_28854_1_test.dart
index 9c2faa6..7b35e32 100644
--- a/tests/standalone_2/regress_28854_1_test.dart
+++ b/tests/standalone_2/regress_28854_1_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/regress_28854_2_test.dart b/tests/standalone_2/regress_28854_2_test.dart
index e2919ea..23c26eb 100644
--- a/tests/standalone_2/regress_28854_2_test.dart
+++ b/tests/standalone_2/regress_28854_2_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 
diff --git a/tests/standalone_2/regress_29350_test.dart b/tests/standalone_2/regress_29350_test.dart
index fe3b534..721d28d 100644
--- a/tests/standalone_2/regress_29350_test.dart
+++ b/tests/standalone_2/regress_29350_test.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 /*
  * Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
  * for details. All rights reserved. Use of this source code is governed by a
diff --git a/tests/standalone_2/regress_29695_test.dart b/tests/standalone_2/regress_29695_test.dart
index 2d8ae75..30970d0 100644
--- a/tests/standalone_2/regress_29695_test.dart
+++ b/tests/standalone_2/regress_29695_test.dart
@@ -5,6 +5,8 @@
 // Test that type tests are not misoptimized.
 // VMOptions=--optimization-counter-threshold=1000 --optimization-filter=IsAnInt
 
+// @dart = 2.9
+
 main() {
   train();
   if (IsAnInt("This is not an int")) throw "oops";
diff --git a/tests/standalone_2/regress_41329_absolute_test.dart b/tests/standalone_2/regress_41329_absolute_test.dart
index 5798cbc..f56ecf6 100644
--- a/tests/standalone_2/regress_41329_absolute_test.dart
+++ b/tests/standalone_2/regress_41329_absolute_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/regress_41329_relative_test.dart b/tests/standalone_2/regress_41329_relative_test.dart
index e35e126..1d16994 100644
--- a/tests/standalone_2/regress_41329_relative_test.dart
+++ b/tests/standalone_2/regress_41329_relative_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.9
+
 import 'dart:io';
 
 import 'package:expect/expect.dart';
diff --git a/tests/standalone_2/regress_42092_script.dart b/tests/standalone_2/regress_42092_script.dart
index da357ad..5b925e9 100644
--- a/tests/standalone_2/regress_42092_script.dart
+++ b/tests/standalone_2/regress_42092_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.9
+
 import 'dart:async';
 import 'dart:io';
 
diff --git a/tests/standalone_2/regress_42092_test.dart b/tests/standalone_2/regress_42092_test.dart
index a33d91f..ba742d6 100644
--- a/tests/standalone_2/regress_42092_test.dart
+++ b/tests/standalone_2/regress_42092_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.9
+
 import 'dart:async';
 import 'dart:convert';
 import 'dart:io';
diff --git a/tests/standalone_2/slowpath_safepoints_test.dart b/tests/standalone_2/slowpath_safepoints_test.dart
index c983e62..b8f0f2a 100644
--- a/tests/standalone_2/slowpath_safepoints_test.dart
+++ b/tests/standalone_2/slowpath_safepoints_test.dart
@@ -5,6 +5,8 @@
 // alive.
 // VMOptions=--optimization-counter-threshold=5 --no-inline_alloc --no-background-compilation
 
+// @dart = 2.9
+
 class C {
   final next;
   C(this.next);
diff --git a/tests/standalone_2/typed_array_int64_uint64_test.dart b/tests/standalone_2/typed_array_int64_uint64_test.dart
index fb6bd2d..3153df9 100644
--- a/tests/standalone_2/typed_array_int64_uint64_test.dart
+++ b/tests/standalone_2/typed_array_int64_uint64_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/typed_array_test.dart b/tests/standalone_2/typed_array_test.dart
index d443da9..0f08a80 100644
--- a/tests/standalone_2/typed_array_test.dart
+++ b/tests/standalone_2/typed_array_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/typed_data_isolate_test.dart b/tests/standalone_2/typed_data_isolate_test.dart
index 80efe40..bf2eaa4 100644
--- a/tests/standalone_2/typed_data_isolate_test.dart
+++ b/tests/standalone_2/typed_data_isolate_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.9
+
 // VMOptions=--enable-isolate-groups --experimental-enable-isolate-groups-jit
 // VMOptions=--no-enable-isolate-groups
 //
diff --git a/tests/standalone_2/typed_data_test.dart b/tests/standalone_2/typed_data_test.dart
index 9e263bc..b966210 100644
--- a/tests/standalone_2/typed_data_test.dart
+++ b/tests/standalone_2/typed_data_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing typed data.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=10 --no-background_compilation
 
 // Library tag to be able to run in html test framework.
diff --git a/tests/standalone_2/typed_data_view_test.dart b/tests/standalone_2/typed_data_view_test.dart
index cfcfb73..f8f2eeb 100644
--- a/tests/standalone_2/typed_data_view_test.dart
+++ b/tests/standalone_2/typed_data_view_test.dart
@@ -4,6 +4,8 @@
 //
 // Dart test program for testing typed data.
 
+// @dart = 2.9
+
 // Library tag to be able to run in html test framework.
 library TypedDataTest;
 
diff --git a/tests/standalone_2/unboxed_int_converter_test.dart b/tests/standalone_2/unboxed_int_converter_test.dart
index 5cbaa4d..28fb003 100644
--- a/tests/standalone_2/unboxed_int_converter_test.dart
+++ b/tests/standalone_2/unboxed_int_converter_test.dart
@@ -4,6 +4,8 @@
 // Test UnboxedIntConverter for int32.
 // VMOptions=--optimization-counter-threshold=10 --no-use-osr --no-background-compilation
 
+// @dart = 2.9
+
 import "package:expect/expect.dart";
 import "dart:typed_data";
 
diff --git a/tests/standalone_2/verbose_gc_to_bmu_script.dart b/tests/standalone_2/verbose_gc_to_bmu_script.dart
index 33e488c..af3728f 100644
--- a/tests/standalone_2/verbose_gc_to_bmu_script.dart
+++ b/tests/standalone_2/verbose_gc_to_bmu_script.dart
@@ -3,6 +3,8 @@
 // BSD-style license that can be found in the LICENSE file.
 // Testing GC, issue 1469.
 
+// @dart = 2.9
+
 main() {
   var div;
   for (int i = 0; i < 200; ++i) {
diff --git a/tests/standalone_2/verbose_gc_to_bmu_test.dart b/tests/standalone_2/verbose_gc_to_bmu_test.dart
index 860e5eb0..73fa2e2 100644
--- a/tests/standalone_2/verbose_gc_to_bmu_test.dart
+++ b/tests/standalone_2/verbose_gc_to_bmu_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.9
+
 // OtherResources=verbose_gc_to_bmu_script.dart
 
 // This test forks a second vm process that runs the BMU tool and verifies that
diff --git a/tests/web_2/42088_test.dart b/tests/web_2/42088_test.dart
index 2a63dfb..3537917 100644
--- a/tests/web_2/42088_test.dart
+++ b/tests/web_2/42088_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.9
+
 // Regression test for issue 42088.
 
 class Foo<T> {}
diff --git a/tests/web_2/42501_test.dart b/tests/web_2/42501_test.dart
index ae89413..7babd8c 100644
--- a/tests/web_2/42501_test.dart
+++ b/tests/web_2/42501_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.9
+
 import 'package:expect/expect.dart';
 
 typedef F = num Function();
diff --git a/tests/web_2/42531_test.dart b/tests/web_2/42531_test.dart
index 7bc9b58..aee4ec5 100644
--- a/tests/web_2/42531_test.dart
+++ b/tests/web_2/42531_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.9
+
 import 'package:expect/expect.dart';
 
 // Regression test for badly named generator body.
diff --git a/tests/web_2/constant_folding2_test.dart b/tests/web_2/constant_folding2_test.dart
index b8fbee4..3fc8e719 100644
--- a/tests/web_2/constant_folding2_test.dart
+++ b/tests/web_2/constant_folding2_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.9
+
 import 'dart:async';
 import 'package:expect/expect.dart';
 
@@ -63,4 +65,4 @@
   test(d0, d1, d2, d3, d4);
   test(e0, e1, e2, e3, e4);
   test(f0, f1, f2, f3, f4);
-}
\ No newline at end of file
+}
diff --git a/tests/web_2/constant_truncate_test.dart b/tests/web_2/constant_truncate_test.dart
index 9d2c4de..8fbe6b4 100644
--- a/tests/web_2/constant_truncate_test.dart
+++ b/tests/web_2/constant_truncate_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.9
+
 const a0 = 0 ~/ 0; //# a0: compile-time error
 const a1 = 0.0 ~/ 0; //# a1: compile-time error
 const a2 = -0.0 ~/ 0; //# a2: compile-time error
diff --git a/tests/web_2/deferred_inheritance_lib1.dart b/tests/web_2/deferred_inheritance_lib1.dart
index 8e7e9a5f..27d7c8b 100644
--- a/tests/web_2/deferred_inheritance_lib1.dart
+++ b/tests/web_2/deferred_inheritance_lib1.dart
@@ -1,3 +1,5 @@
+
+// @dart = 2.9
 import 'deferred_inheritance_lib2.dart';
 
 class C extends A {}
diff --git a/tests/web_2/deferred_inheritance_lib2.dart b/tests/web_2/deferred_inheritance_lib2.dart
index a869c28..c2ba23be 100644
--- a/tests/web_2/deferred_inheritance_lib2.dart
+++ b/tests/web_2/deferred_inheritance_lib2.dart
@@ -1 +1,3 @@
+
+// @dart = 2.9
 class A {}
diff --git a/tests/web_2/internal/platform_environment_variable1_test.dart b/tests/web_2/internal/platform_environment_variable1_test.dart
index 35d67bd..204c6ea 100644
--- a/tests/web_2/internal/platform_environment_variable1_test.dart
+++ b/tests/web_2/internal/platform_environment_variable1_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.9
+
 // SharedOptions=-Ddart2js.test.platform.environment.variable=hello
 
 import 'dart:_js_helper' show testingGetPlatformEnvironmentVariable;
diff --git a/tests/web_2/internal/platform_environment_variable2_test.dart b/tests/web_2/internal/platform_environment_variable2_test.dart
index 5cb56e9..b8ad8aa 100644
--- a/tests/web_2/internal/platform_environment_variable2_test.dart
+++ b/tests/web_2/internal/platform_environment_variable2_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.9
+
 // No -D options.
 
 import 'dart:_js_helper' show testingGetPlatformEnvironmentVariable;
diff --git a/tests/web_2/internal/rti/required_named_parameters_test.dart b/tests/web_2/internal/rti/required_named_parameters_test.dart
index ccf3f7d..eee8630 100644
--- a/tests/web_2/internal/rti/required_named_parameters_test.dart
+++ b/tests/web_2/internal/rti/required_named_parameters_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.9
+
 // Requirements=nnbd
 
 import 'dart:_rti' as rti;
diff --git a/tests/web_2/regress/41781_test.dart b/tests/web_2/regress/41781_test.dart
index f4f6ac8..ac62844 100644
--- a/tests/web_2/regress/41781_test.dart
+++ b/tests/web_2/regress/41781_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.9
+
 @pragma('dart2js:noInline')
 test(List a, List b) {
   return [
diff --git a/tests/web_2/regress/44818_test.dart b/tests/web_2/regress/44818_test.dart
index 22f2491..24b252f 100644
--- a/tests/web_2/regress/44818_test.dart
+++ b/tests/web_2/regress/44818_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.9
+
 import 'package:expect/expect.dart';
 
 // Regression test for mis-optimized (a / b).runtimeType.
diff --git a/tests/web_2/regress/if_method_call_test.dart b/tests/web_2/regress/if_method_call_test.dart
index 2938c70..62f20ed 100644
--- a/tests/web_2/regress/if_method_call_test.dart
+++ b/tests/web_2/regress/if_method_call_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.9
+
 // Regression test for bug in dart2js type promotion.
 
 import 'package:expect/expect.dart';
diff --git a/tests/web_2/regress_42281_test.dart b/tests/web_2/regress_42281_test.dart
index 8b8ce2e..30714f54 100644
--- a/tests/web_2/regress_42281_test.dart
+++ b/tests/web_2/regress_42281_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.9
+
 class ComponentFactory<T> {
   @pragma('dart2js:noInline')
   Type get componentType => T;
diff --git a/tests/web_2/sync_star_element_rti_need_test.dart b/tests/web_2/sync_star_element_rti_need_test.dart
index d82ee28..b532eaa 100644
--- a/tests/web_2/sync_star_element_rti_need_test.dart
+++ b/tests/web_2/sync_star_element_rti_need_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.9
+
 import "package:expect/expect.dart";
 
 main() {
diff --git a/tools/VERSION b/tools/VERSION
index 8e39ebb..1c0c045 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 46
+PRERELEASE 47
 PRERELEASE_PATCH 0
\ No newline at end of file