Remove obsolete tools and tests from package:dev_compiler

Change-Id: I28fcd5832d89a0531961daac8f94a97a8b5ec68c
Reviewed-on: https://dart-review.googlesource.com/64824
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
diff --git a/pkg/dev_compiler/karma.conf.js b/pkg/dev_compiler/karma.conf.js
deleted file mode 100644
index f43a6ca..0000000
--- a/pkg/dev_compiler/karma.conf.js
+++ /dev/null
@@ -1,105 +0,0 @@
-// Karma configuration
-// Generated on Mon Apr 20 2015 06:33:20 GMT-0700 (PDT)
-
-module.exports = function(config) {
-  var configuration = {
-
-    // base path that will be used to resolve all patterns (eg. files, exclude)
-    basePath: '',
-
-    // frameworks to use
-    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
-    frameworks: ['mocha', 'requirejs', 'chai'],
-
-    // list of files / patterns to load in the browser
-    files: [
-      {pattern: 'lib/js/amd/dart_sdk.js', included: false},
-      {pattern: 'gen/codegen_output/*.js', included: false},
-      {pattern: 'gen/codegen_output/pkg/*.js', included: false},
-      {pattern: 'gen/codegen_output/language/**/*.js', included: false},
-      {pattern: 'gen/codegen_output/corelib/**/*.js', included: false},
-      {pattern: 'gen/codegen_output/lib/**/*.js', included: false},
-      {pattern: 'gen/codegen_tests/lib/**/*.txt', included: false},
-      {pattern: 'test/browser/*.js', included: false},
-      {pattern: 'node_modules/is_js/*.js', included: false},
-      'test-main.js',
-    ],
-
-    // list of files to exclude
-    exclude: [],
-
-    // preprocess matching files before serving them to the browser
-    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
-    preprocessors: {
-    },
-
-    client: {
-      captureConsole: false,
-      mocha: {
-        ui: 'tdd',
-        timeout : 6000
-      },
-    },
-
-    // test results reporter to use
-    // possible values: 'dots', 'progress'
-    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-    reporters: ['progress'],
-
-    // web server port
-    port: 9876,
-
-    // Proxy required to serve resources needed by tests.
-    proxies: {
-      '/root_dart/tests/lib/': '/base/gen/codegen_tests/lib/'
-    },
-
-    // enable / disable colors in the output (reporters and logs)
-    colors: true,
-
-    // level of logging
-    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-    logLevel: config.LOG_INFO,
-
-    // enable / disable watching file and executing tests whenever any file changes
-    autoWatch: true,
-
-    browserNoActivityTimeout: 60000,
-    browserDisconnectTolerance: 5,
-
-    // start these browsers
-    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-    customLaunchers: {
-      ChromeTravis: {
-        base: 'Chrome',
-        flags: [ '--no-sandbox' ]
-      },
-
-      ChromeCanaryTravis: {
-        base: 'ChromeCanary',
-        flags: [ '--no-sandbox' ]
-      },
-    },
-
-    browsers: ['Chrome'],
-
-    // Continuous Integration mode
-    // if true, Karma captures browsers, runs the tests and exits
-    singleRun: false,
-  };
-
-  if (process.env.TRAVIS) {
-    configuration.browsers = ['ChromeTravis'];
-    configuration.autoWatch = false;
-    // Enable this for more logging on Travis.  It is too much for Travis to
-    // automatically display, but still results in a downloadable raw log.
-    // configuration.logLevel = config.LOG_DEBUG;
-    configuration.client.captureConsole = true;
-  }
-
-  if (process.env.DDC_BROWSERS) {
-    configuration.browsers = process.env.DDC_BROWSERS.split(':');
-  }
-
-  config.set(configuration);
-};
diff --git a/pkg/dev_compiler/package.json b/pkg/dev_compiler/package.json
deleted file mode 100644
index 0abdbd3..0000000
--- a/pkg/dev_compiler/package.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-  "name": "dev_compiler",
-  "version": "0.1.24",
-  "description": "Dart Development Compiler",
-  "homepage": "https://github.com/dart-lang/dev_compiler",
-  "bugs": "https://github.com/dart-lang/dev_compiler/issues",
-  "contributors": {
-    "Dart Team": "dev-compiler@dartlang.org"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/dart-lang/dev_compiler.git"
-  },
-  "scripts": {
-    "postinstall": "./node_modules/.bin/webdriver-manager update",
-    "test": "./node_modules/.bin/karma start --single-run"
-  },
-  "devDependencies": {
-    "chai": "^2.2.0",
-    "electron-prebuilt": "^0.36.0",
-    "is_js": "^0.9.0",
-    "karma": "^1.5.0",
-    "karma-chai": "^0.1.0",
-    "karma-chrome-launcher": "^0.1.8",
-    "karma-electron-launcher": "^0.0.5",
-    "karma-firefox-launcher": "~0.1",
-    "karma-mocha": "^0.1.10",
-    "karma-requirejs": "^0.2.2",
-    "karma-safari-launcher": "^1.0.0",
-    "mocha": "^2.2.4",
-    "requirejs": "^2.3.3",
-    "webdriver-manager": "8.0.0"
-  }
-}
diff --git a/pkg/dev_compiler/test-main.js b/pkg/dev_compiler/test-main.js
deleted file mode 100644
index 68b3ad1..0000000
--- a/pkg/dev_compiler/test-main.js
+++ /dev/null
@@ -1,65 +0,0 @@
-var allTestFiles = [];
-var TEST_REGEXP = /(_test|_multi)\.js$/i;
-
-var pathToModule = function(path) {
-  return path.replace(/^\/base\//, '').replace(/\.js$/, '');
-};
-
-var testsToSkip = [
-  // syntax error in DDC's generated code (related to break/continue labels):
-  '/base/gen/codegen_output/language/execute_finally6_test.js',
-  '/base/gen/codegen_output/language/switch_label2_test.js',
-  '/base/gen/codegen_output/language/infinite_switch_label_test.js',
-  '/base/gen/codegen_output/language/switch_label_test.js',
-  '/base/gen/codegen_output/language/nested_switch_label_test.js',
-  '/base/gen/codegen_output/language/switch_try_catch_test.js',
-
-  // module code execution error in DDC's generated code
-  // (types are initialized incorrectly):
-  '/base/gen/codegen_output/language/f_bounded_quantification3_test.js',
-  '/base/gen/codegen_output/language/regress_16640_test.js',
-  '/base/gen/codegen_output/language/cyclic_type_test_02_multi.js',
-  '/base/gen/codegen_output/language/cyclic_type_test_03_multi.js',
-  '/base/gen/codegen_output/language/cyclic_type_test_04_multi.js',
-  '/base/gen/codegen_output/language/cyclic_type2_test.js',
-  '/base/gen/codegen_output/language/least_upper_bound_expansive_test_none_multi.js'
-];
-
-Object.keys(window.__karma__.files).forEach(function(file) {
-  if (TEST_REGEXP.test(file) && testsToSkip.indexOf(file) == -1) {
-    // Normalize paths to RequireJS module names.
-    allTestFiles.push(pathToModule(file));
-  }
-});
-
-allTestFiles.push('test/browser/language_tests');
-allTestFiles.push('test/browser/runtime_tests');
-
-require.config({
-  // Karma serves files under /base.
-  baseUrl: '/base',
-
-  // Travis bots take a bit longer to load all ~2k test files.
-  waitSeconds: 30,
-
-  paths: {
-    dart_sdk: 'lib/js/amd/dart_sdk',
-    async_helper: 'gen/codegen_output/pkg/async_helper',
-    expect: 'gen/codegen_output/pkg/expect',
-    js: 'gen/codegen_output/pkg/js',
-    matcher: 'gen/codegen_output/pkg/matcher',
-    meta: 'gen/codegen_output/pkg/meta',
-    minitest: 'gen/codegen_output/pkg/minitest',
-    path: 'gen/codegen_output/pkg/path',
-    stack_trace: 'gen/codegen_output/pkg/stack_trace',
-    unittest: 'gen/codegen_output/pkg/unittest',
-    is: 'node_modules/is_js/is',
-    test_status: 'gen/codegen_output/test_status'
-  },
-
-  // Require all test files before starting tests.
-  deps: allTestFiles,
-
-  // We have to kickoff jasmine, as it is asynchronous
-  callback: window.__karma__.start
-});
diff --git a/pkg/dev_compiler/test/all_tests.dart b/pkg/dev_compiler/test/all_tests.dart
deleted file mode 100644
index 963e55c..0000000
--- a/pkg/dev_compiler/test/all_tests.dart
+++ /dev/null
@@ -1,26 +0,0 @@
-// 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.
-
-/// Meta-test that runs all tests we have written.
-library dev_compiler.test.all_tests;
-
-import 'package:test/test.dart';
-
-import 'closure/closure_annotation_test.dart' as closure_annotation_test;
-import 'closure/closure_type_test.dart' as closure_type_test;
-import 'codegen_test.dart' as codegen_test;
-import 'js/builder_test.dart' as builder_test;
-import 'options/options_test.dart' as options_test;
-import 'worker/worker_test.dart' as worker_test;
-
-void main() {
-  group('options', options_test.main);
-  group('codegen', () => codegen_test.main([]));
-  group('closure', () {
-    closure_annotation_test.main();
-    closure_type_test.main();
-  });
-  group('js', builder_test.main);
-  group('worker', worker_test.main);
-}
diff --git a/pkg/dev_compiler/test/child_server_process.dart b/pkg/dev_compiler/test/child_server_process.dart
deleted file mode 100644
index 1ea1a00..0000000
--- a/pkg/dev_compiler/test/child_server_process.dart
+++ /dev/null
@@ -1,82 +0,0 @@
-// 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.
-
-import 'dart:io';
-import 'dart:async';
-
-class ChildServerProcess {
-  /// [IOSink]s like [stdout] don't like to be piped more than one [Stream], but
-  /// we want to pipe many of them (basically, every standard output and error
-  /// of every child process we open), so we pipe to an accommodating consumer.
-  static final _consoleOut = _MultipleStreamConsumer(stdout);
-
-  final Process process;
-  final String host;
-  final int port;
-  ChildServerProcess._(this.process, this.host, this.port);
-
-  get httpUri => Uri.parse('http://$host:$port');
-
-  static build(Future<Process> builder(String host, int port),
-      {int defaultPort = 1024,
-      int maxPort = 65535,
-      String host = '0.0.0.0'}) async {
-    var port = await _findUnusedPort(defaultPort, maxPort);
-    var p = (await builder(host, port))
-      ..stdout.pipe(_consoleOut)
-      ..stderr.pipe(_consoleOut);
-    await _waitForServer(host, port);
-    return ChildServerProcess._(p, host, port);
-  }
-
-  static _waitForServer(String host, int port,
-      {int attempts = 10,
-      Duration retryDelay = const Duration(seconds: 1)}) async {
-    var lastError;
-    for (int i = 0; i < attempts; i++) {
-      try {
-        await (await Socket.connect(host, port)).close();
-        return;
-      } catch (e) {
-        lastError = e;
-        await Future.delayed(retryDelay);
-      }
-    }
-    throw StateError(
-        'Failed to connect to $host:$port after $attempts attempts; '
-        'Last error:\n$lastError');
-  }
-
-  static Future<int> _findUnusedPort(int fromPort, int toPort) async {
-    var lastError;
-    for (int port = fromPort; port <= toPort; port++) {
-      try {
-        await (await ServerSocket.bind(InternetAddress.anyIPv4, port)).close();
-        return port;
-      } catch (e) {
-        lastError = e;
-      }
-    }
-    throw StateError(
-        'Failed to find an unused port between $fromPort and $toPort; '
-        'Last error:\n$lastError');
-  }
-}
-
-/// A consumer into which we can pipe as many streams as we want, that forwards
-/// everything to an [IOSink] (such as [stdout]).
-class _MultipleStreamConsumer extends StreamConsumer<List<int>> {
-  final IOSink _sink;
-  _MultipleStreamConsumer(this._sink);
-
-  @override
-  Future addStream(Stream<List<int>> stream) async {
-    await for (var data in stream) {
-      _sink.add(data);
-    }
-  }
-
-  @override
-  close() {}
-}
diff --git a/pkg/dev_compiler/test/codegen/BenchmarkBase.dart b/pkg/dev_compiler/test/codegen/BenchmarkBase.dart
deleted file mode 100644
index 05dde11..0000000
--- a/pkg/dev_compiler/test/codegen/BenchmarkBase.dart
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2011 Google Inc. All Rights Reserved.
-
-library BenchmarkBase;
-
-class Expect {
-  static void equals(var expected, var actual) {
-    if (expected != actual) {
-      throw "Values not equal: $expected vs $actual";
-    }
-  }
-
-  static void listEquals(List expected, List actual) {
-    if (expected.length != actual.length) {
-      throw "Lists have different lengths: ${expected.length} vs ${actual.length}";
-    }
-    for (int i = 0; i < actual.length; i++) {
-      equals(expected[i], actual[i]);
-    }
-  }
-
-  fail(message) {
-    throw message;
-  }
-}
-
-class BenchmarkBase {
-  final String name;
-
-  // Empty constructor.
-  const BenchmarkBase(String name) : this.name = name;
-
-  // The benchmark code.
-  // This function is not used, if both [warmup] and [exercise] are overwritten.
-  void run() {}
-
-  // Runs a short version of the benchmark. By default invokes [run] once.
-  void warmup() {
-    run();
-  }
-
-  // Exercises the benchmark. By default invokes [run] 10 times.
-  void exercise() {
-    for (int i = 0; i < 10; i++) {
-      run();
-    }
-  }
-
-  // Not measured setup code executed prior to the benchmark runs.
-  void setup() {}
-
-  // Not measures teardown code executed after the benchmark runs.
-  void teardown() {}
-
-  // Measures the score for this benchmark by executing it repeately until
-  // time minimum has been reached.
-  static double measureFor(Function f, int timeMinimum) {
-    int time = 0;
-    int iter = 0;
-    Stopwatch watch = Stopwatch();
-    watch.start();
-    int elapsed = 0;
-    while (elapsed < timeMinimum) {
-      f();
-      elapsed = watch.elapsedMilliseconds;
-      iter++;
-    }
-    return 1000.0 * elapsed / iter;
-  }
-
-  // Measures the score for the benchmark and returns it.
-  double measure() {
-    setup();
-    // Warmup for at least 100ms. Discard result.
-    measureFor(() {
-      this.warmup();
-    }, 100);
-    // Run the benchmark for at least 2000ms.
-    double result = measureFor(() {
-      this.exercise();
-    }, 2000);
-    teardown();
-    return result;
-  }
-
-  void report() {
-    double score = measure();
-    print("$name(RunTime): $score us.");
-  }
-}
diff --git a/pkg/dev_compiler/test/codegen/closure.dart b/pkg/dev_compiler/test/codegen/closure.dart
deleted file mode 100644
index 9d3294b..0000000
--- a/pkg/dev_compiler/test/codegen/closure.dart
+++ /dev/null
@@ -1,70 +0,0 @@
-// compile options: --closure-experimental --destructure-named-params --modules=es6
-library test;
-
-import 'dart:js';
-
-List<T> generic_function<T>(List<T> items, T seed) {
-  var strings = items.map((i) => "$i").toList();
-  return items;
-}
-
-typedef void Callback({int i});
-
-class Foo<T> {
-  final int i;
-  bool b;
-  String s;
-  T v;
-
-  Foo(this.i, this.v);
-
-  factory Foo.build() => Foo(1, null);
-
-  untyped_method(a, b) {}
-
-  T pass(T t) => t;
-
-  String typed_method(Foo foo, List list, int i, num n, double d, bool b,
-      String s, JsArray a, JsObject o, JsFunction f) {
-    return '';
-  }
-
-  optional_params(a, [b, int c]) {}
-
-  static named_params(a, {b, int c}) {}
-
-  nullary_method() {}
-
-  function_params(int f(x, [y]), g(x, {String y, z}), Callback cb) {
-    cb(i: i);
-  }
-
-  run(List a, String b, List c(String d), List<int> e(f(g)),
-      {Map<Map, Map> h}) {}
-
-  String get prop => null;
-  set prop(String value) {}
-
-  static String get staticProp => null;
-  static set staticProp(String value) {}
-
-  static const String some_static_constant = "abc";
-  static final String some_static_final = "abc";
-  static String some_static_var = "abc";
-}
-
-class Bar {}
-
-class Baz extends Foo<int> with Bar {
-  Baz(int i) : super(i, 123);
-}
-
-void main(args) {}
-
-var closure = () {
-  return;
-};
-
-const String some_top_level_constant = "abc";
-final String some_top_level_final = "abc";
-String some_top_level_var = "abc";
diff --git a/pkg/dev_compiler/test/codegen/destructuring.dart b/pkg/dev_compiler/test/codegen/destructuring.dart
deleted file mode 100644
index dd8745e..0000000
--- a/pkg/dev_compiler/test/codegen/destructuring.dart
+++ /dev/null
@@ -1,47 +0,0 @@
-// compile options: --destructure-named-params
-import 'dart-ext:foo';
-import 'package:js/src/varargs.dart';
-
-f(int a, b, [c = 1]) {
-  f(a, b, c);
-}
-
-external f_ext(int a, b, [c = 1]);
-f_nat(int a, b, [c = 1]) native "f_nat";
-f_sync(int a, b, [c = 1]) sync* {}
-f_async(int a, b, [c = 1]) async* {}
-
-g(int a, b, {c = 1}) {
-  f(a, b, c);
-}
-
-external g_ext(int a, b, {c = 1});
-g_nat(int a, b, {c = 1}) native "g_nat";
-g_sync(int a, b, {c = 1}) sync* {}
-g_async(int a, b, {c = 1}) async* {}
-
-r(int a, @rest others) {
-  r(a, spread(others));
-}
-
-external r_ext(int a, @rest others);
-r_nat(int a, @rest others) native "r_nat";
-r_sync(int a, @rest others) sync* {}
-r_async(int a, @rest others) async* {}
-
-invalid_names1(int let, function, arguments) {
-  f(let, function, arguments);
-}
-
-invalid_names2([int let, function = 1, arguments]) {
-  f(let, function, arguments);
-}
-
-invalid_names3({int let, function, arguments = 2}) {
-  f(let, function, arguments);
-}
-
-names_clashing_with_object_props(
-    {int constructor, valueOf, hasOwnProperty = 2}) {
-  f(constructor, valueOf, hasOwnProperty);
-}
diff --git a/pkg/dev_compiler/test/codegen/equality_test.dart b/pkg/dev_compiler/test/codegen/equality_test.dart
deleted file mode 100644
index cd1d90d7..0000000
--- a/pkg/dev_compiler/test/codegen/equality_test.dart
+++ /dev/null
@@ -1,1279 +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.
-
-import 'package:expect/minitest.dart';
-
-/// Both kinds.
-enum Music { country, western }
-
-class BluesBrother {}
-
-// This class does not override object equality
-class _Jake extends BluesBrother {}
-
-/// This class overrides object equality
-class _Elwood extends BluesBrother {
-  bool operator ==(Object other) {
-    return (other is _Elwood);
-  }
-}
-
-/// Mock BluesBrother
-class _Norman extends BluesBrother {}
-
-/// Hide nullability from the simple minded null analysis
-T hideNull<T>(T x) => x;
-
-/// Generate undefined at a type
-T getUndefined<T>() => (List(1))[0];
-
-main() {
-  group('Enum equality', () {
-    // Test equality of two enums, various types, nullable
-    test('Equal enum/enum (nullable)', () {
-      Music e1 = hideNull(Music.country);
-      Music e2 = hideNull(Music.western);
-      dynamic d1 = hideNull(Music.country);
-      dynamic d2 = hideNull(Music.western);
-      Object o1 = hideNull(Music.country);
-      Object o2 = hideNull(Music.western);
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two enums, various types, non-nullable
-    test('Equal enum/enum (non-null)', () {
-      Music e1 = Music.country;
-      Music e2 = Music.western;
-      dynamic d1 = Music.country;
-      dynamic d2 = Music.western;
-      Object o1 = Music.country;
-      Object o2 = Music.western;
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of enum and other types (static, nullable)
-    test('Equal enum/other (static, nullable)', () {
-      Music e1 = hideNull(Music.country);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of enum and other types (static, non-null)
-    test('Equal enum/other (static, non-null)', () {
-      Music e1 = Music.country;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of enum and other types (dynamic, nullable)
-    test('Equal enum/other (dynamic, nullable)', () {
-      Music e1 = hideNull(Music.country);
-      dynamic d1 = hideNull(Music.country);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of enum and other types (dynamic, non-null)
-    test('Equal enum/other (dynamic, non-null)', () {
-      Music e1 = Music.country;
-      dynamic d1 = Music.country;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  group('String equality', () {
-    // Test equality of two strings, various types, nullable
-    test('Equal string/string (nullable)', () {
-      String e1 = hideNull("The");
-      String e2 = hideNull("Band");
-      dynamic d1 = hideNull("The");
-      dynamic d2 = hideNull("Band");
-      Object o1 = hideNull("The");
-      Object o2 = hideNull("Band");
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two strings, various types, non-nullable
-    test('Equal string/string (non-null)', () {
-      String e1 = "The";
-      String e2 = "Band";
-      dynamic d1 = "The";
-      dynamic d2 = "Band";
-      Object o1 = "The";
-      Object o2 = "Band";
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of string and other types (static, nullable)
-    test('Equal string/other (static, nullable)', () {
-      String e1 = hideNull("The");
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of string and other types (static, non-null)
-    test('Equal string/other (static, non-null)', () {
-      String e1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of string and other types (dynamic, nullable)
-    test('Equal string/other (dynamic, nullable)', () {
-      String e1 = hideNull("The");
-      dynamic d1 = hideNull("The");
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of string and other types (dynamic, non-null)
-    test('Equal string/other (dynamic, non-null)', () {
-      String e1 = "The";
-      dynamic d1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  group('Boolean equality', () {
-    // Test equality of two bools, various types, nullable
-    test('Equal bool/bool (nullable)', () {
-      bool e1 = hideNull(true);
-      bool e2 = hideNull(false);
-      dynamic d1 = hideNull(true);
-      dynamic d2 = hideNull(false);
-      Object o1 = hideNull(true);
-      Object o2 = hideNull(false);
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two bools, various types, non-nullable
-    test('Equal bool/bool (non-null)', () {
-      bool e1 = true;
-      bool e2 = false;
-      dynamic d1 = true;
-      dynamic d2 = false;
-      Object o1 = true;
-      Object o2 = false;
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of bool and other types (static, nullable)
-    test('Equal bool/other (static, nullable)', () {
-      bool e1 = hideNull(true);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of bool and other types (static, non-null)
-    test('Equal bool/other (static, non-null)', () {
-      bool e1 = true;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of bool and other types (dynamic, nullable)
-    test('Equal bool/other (dynamic, nullable)', () {
-      bool e1 = hideNull(true);
-      dynamic d1 = hideNull(true);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of bool and other types (dynamic, non-null)
-    test('Equal bool/other (dynamic, non-null)', () {
-      bool e1 = true;
-      dynamic d1 = true;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  group('String equality', () {
-    // Test equality of two strings, various types, nullable
-    test('Equal string/string (nullable)', () {
-      String e1 = hideNull("The");
-      String e2 = hideNull("Band");
-      dynamic d1 = hideNull("The");
-      dynamic d2 = hideNull("Band");
-      Object o1 = hideNull("The");
-      Object o2 = hideNull("Band");
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two strings, various types, non-nullable
-    test('Equal string/string (non-null)', () {
-      String e1 = "The";
-      String e2 = "Band";
-      dynamic d1 = "The";
-      dynamic d2 = "Band";
-      Object o1 = "The";
-      Object o2 = "Band";
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of string and other types (static, nullable)
-    test('Equal string/other (static, nullable)', () {
-      String e1 = hideNull("The");
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of string and other types (static, non-null)
-    test('Equal string/other (static, non-null)', () {
-      String e1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of string and other types (dynamic, nullable)
-    test('Equal string/other (dynamic, nullable)', () {
-      String e1 = hideNull("The");
-      dynamic d1 = hideNull("The");
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of string and other types (dynamic, non-null)
-    test('Equal string/other (dynamic, non-null)', () {
-      String e1 = "The";
-      dynamic d1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  group('Number equality', () {
-    // Test equality of two ints, various types, nullable
-    test('Equal int/int (nullable)', () {
-      int e1 = hideNull(11);
-      int e2 = hideNull(12);
-      dynamic d1 = hideNull(11);
-      dynamic d2 = hideNull(12);
-      Object o1 = hideNull(11);
-      Object o2 = hideNull(12);
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two ints, various types, non-nullable
-    test('Equal int/int (non-null)', () {
-      int e1 = 11;
-      int e2 = 12;
-      dynamic d1 = 11;
-      dynamic d2 = 12;
-      Object o1 = 11;
-      Object o2 = 12;
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of int and other types (static, nullable)
-    test('Equal int/other (static, nullable)', () {
-      int e1 = hideNull(11);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of int and other types (static, non-null)
-    test('Equal int/other (static, non-null)', () {
-      int e1 = 11;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of int and other types (dynamic, nullable)
-    test('Equal int/other (dynamic, nullable)', () {
-      int e1 = hideNull(11);
-      dynamic d1 = hideNull(11);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of int and other types (dynamic, non-null)
-    test('Equal int/other (dynamic, non-null)', () {
-      int e1 = 11;
-      dynamic d1 = 11;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  group('Object equality', () {
-    // Test equality of two objects, various types, nullable
-    test('Equal object/object (nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      _Elwood e2 = hideNull(_Elwood());
-      dynamic d1 = hideNull(e1);
-      dynamic d2 = hideNull(_Elwood());
-      Object o1 = hideNull(e1);
-      Object o2 = hideNull(_Elwood());
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of two objects, various types, non-nullable
-    test('Equal object/object (non-null)', () {
-      _Jake e1 = _Jake();
-      _Elwood e2 = _Elwood();
-      dynamic d1 = e1;
-      dynamic d2 = _Elwood();
-      Object o1 = e1;
-      Object o2 = _Elwood();
-      expect(e1 == e1, true);
-      expect(e1 == d1, true);
-      expect(e1 == o1, true);
-      expect(e1 == e2, false);
-      expect(e1 == o2, false);
-      expect(e1 == d2, false);
-      expect(e1 == e2, false);
-      expect(d1 == e1, true);
-      expect(d1 == d1, true);
-      expect(d1 == o1, true);
-      expect(d1 == e2, false);
-      expect(d1 == d2, false);
-      expect(d1 == o2, false);
-      expect(o1 == e1, true);
-      expect(o1 == d1, true);
-      expect(o1 == o1, true);
-      expect(o1 == e2, false);
-      expect(o1 == d2, false);
-      expect(o1 == o2, false);
-    });
-
-    // Test equality of object and other types (static, nullable)
-    test('Equal object/other (static, nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of object and other types (static, non-null)
-    test('Equal object/other (static, non-null)', () {
-      _Jake e1 = _Jake();
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-    });
-
-    // Test equality of object and other types (dynamic, nullable)
-    test('Equal object/other (dynamic, nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      dynamic d1 = hideNull(_Jake());
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-
-    // Test equality of object and other types (dynamic, non-null)
-    test('Equal object/other (dynamic, non-null)', () {
-      _Jake e1 = _Jake();
-      dynamic d1 = _Jake();
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(e1 == s1, false);
-      expect(e1 == s2, false);
-      expect(e1 == i1, false);
-      expect(e1 == i2, false);
-      expect(e1 == l1, false);
-      expect(e1 == b1, false);
-
-      expect(s1 == e1, false);
-      expect(s2 == e1, false);
-      expect(i1 == e1, false);
-      expect(i2 == e1, false);
-      expect(l1 == e1, false);
-      expect(b1 == e1, false);
-
-      expect(d1 == s1, false);
-      expect(d1 == s2, false);
-      expect(d1 == i1, false);
-      expect(d1 == i2, false);
-      expect(d1 == l1, false);
-      expect(d1 == b1, false);
-
-      expect(s1 == d1, false);
-      expect(s2 == d1, false);
-      expect(i1 == d1, false);
-      expect(i2 == d1, false);
-      expect(l1 == d1, false);
-      expect(b1 == d1, false);
-    });
-  });
-
-  // Test that null receiver with undefined argument is handled correctly
-  group('Null/undefined equality', () {
-    // Test equality of null object and other types
-    test('Equal object/other (static, null)', () {
-      BluesBrother n = hideNull(null);
-      String u1 = getUndefined();
-      int u2 = getUndefined();
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(n == n, true);
-
-      expect(n == u1, true);
-      expect(n == u2, true);
-      expect(n == u3, true);
-      expect(n == u4, true);
-
-      expect(u1 == n, true);
-      expect(u2 == n, true);
-      expect(u3 == n, true);
-      expect(u4 == n, true);
-    });
-
-    // Test equality of null string and other types
-    test('Equal String/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String n = hideNull(null);
-      int u2 = getUndefined();
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(n == n, true);
-
-      expect(n == u1, true);
-      expect(n == u2, true);
-      expect(n == u3, true);
-      expect(n == u4, true);
-
-      expect(u1 == n, true);
-      expect(u2 == n, true);
-      expect(u3 == n, true);
-      expect(u4 == n, true);
-    });
-
-    // Test equality of null int and other types
-    test('Equal int/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int n = hideNull(null);
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(n == n, true);
-
-      expect(n == u1, true);
-      expect(n == u2, true);
-      expect(n == u3, true);
-      expect(n == u4, true);
-
-      expect(u1 == n, true);
-      expect(u2 == n, true);
-      expect(u3 == n, true);
-      expect(u4 == n, true);
-    });
-
-    // Test equality of null bool and other types
-    test('Equal bool/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int u3 = getUndefined();
-      bool n = hideNull(null);
-      List u4 = getUndefined();
-
-      expect(n == n, true);
-
-      expect(n == u1, true);
-      expect(n == u2, true);
-      expect(n == u3, true);
-      expect(n == u4, true);
-
-      expect(u1 == n, true);
-      expect(u2 == n, true);
-      expect(u3 == n, true);
-      expect(u4 == n, true);
-    });
-
-    // Test equality of null List and other types
-    test('Equal List/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int u3 = getUndefined();
-      bool u4 = getUndefined();
-      List n = hideNull(null);
-
-      expect(n == n, true);
-
-      expect(n == u1, true);
-      expect(n == u2, true);
-      expect(n == u3, true);
-      expect(n == u4, true);
-
-      expect(u1 == n, true);
-      expect(u2 == n, true);
-      expect(u3 == n, true);
-      expect(u4 == n, true);
-    });
-  });
-}
diff --git a/pkg/dev_compiler/test/codegen/es6_modules.dart b/pkg/dev_compiler/test/codegen/es6_modules.dart
deleted file mode 100644
index 10472b7..0000000
--- a/pkg/dev_compiler/test/codegen/es6_modules.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-// compile options: --modules=es6
-library test;
-
-typedef void Callback({int i});
-
-class A {}
-
-class _A {}
-
-class B<T> {}
-
-class _B<T> {}
-
-f() {}
-_f() {}
-
-const String constant = "abc";
-final String finalConstant = "abc";
-final String lazy = (() {
-  print('lazy');
-  return "abc";
-})();
-String mutable = "abc";
-String lazyMutable = (() {
-  print('lazyMutable');
-  return "abc";
-})();
diff --git a/pkg/dev_compiler/test/codegen/identity_test.dart b/pkg/dev_compiler/test/codegen/identity_test.dart
deleted file mode 100644
index 3ca0dad..0000000
--- a/pkg/dev_compiler/test/codegen/identity_test.dart
+++ /dev/null
@@ -1,1279 +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.
-
-import 'package:expect/minitest.dart';
-
-/// Both kinds.
-enum Music { country, western }
-
-class BluesBrother {}
-
-// This class does not override object equality
-class _Jake extends BluesBrother {}
-
-/// This class overrides object equality
-class _Elwood extends BluesBrother {
-  bool operator ==(Object other) {
-    return (other is _Elwood);
-  }
-}
-
-/// Mock BluesBrother
-class _Norman extends BluesBrother {}
-
-/// Hide nullability from the simple minded null analysis
-T hideNull<T>(T x) => x;
-
-/// Generate undefined at a type
-T getUndefined<T>() => (List(1))[0];
-
-main() {
-  group('Enum identity', () {
-    // Test identity of two enums, various types, nullable
-    test('Identical enum/enum (nullable)', () {
-      Music e1 = hideNull(Music.country);
-      Music e2 = hideNull(Music.western);
-      dynamic d1 = hideNull(Music.country);
-      dynamic d2 = hideNull(Music.western);
-      Object o1 = hideNull(Music.country);
-      Object o2 = hideNull(Music.western);
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two enums, various types, non-nullable
-    test('Identical enum/enum (non-null)', () {
-      Music e1 = Music.country;
-      Music e2 = Music.western;
-      dynamic d1 = Music.country;
-      dynamic d2 = Music.western;
-      Object o1 = Music.country;
-      Object o2 = Music.western;
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of enum and other types (static, nullable)
-    test('Identical enum/other (static, nullable)', () {
-      Music e1 = hideNull(Music.country);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of enum and other types (static, non-null)
-    test('Identical enum/other (static, non-null)', () {
-      Music e1 = Music.country;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of enum and other types (dynamic, nullable)
-    test('Identical enum/other (dynamic, nullable)', () {
-      Music e1 = hideNull(Music.country);
-      dynamic d1 = hideNull(Music.country);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of enum and other types (dynamic, non-null)
-    test('Identical enum/other (dynamic, non-null)', () {
-      Music e1 = Music.country;
-      dynamic d1 = Music.country;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  group('String identity', () {
-    // Test identity of two strings, various types, nullable
-    test('Identical string/string (nullable)', () {
-      String e1 = hideNull("The");
-      String e2 = hideNull("Band");
-      dynamic d1 = hideNull("The");
-      dynamic d2 = hideNull("Band");
-      Object o1 = hideNull("The");
-      Object o2 = hideNull("Band");
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two strings, various types, non-nullable
-    test('Identical string/string (non-null)', () {
-      String e1 = "The";
-      String e2 = "Band";
-      dynamic d1 = "The";
-      dynamic d2 = "Band";
-      Object o1 = "The";
-      Object o2 = "Band";
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of string and other types (static, nullable)
-    test('Identical string/other (static, nullable)', () {
-      String e1 = hideNull("The");
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of string and other types (static, non-null)
-    test('Identical string/other (static, non-null)', () {
-      String e1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of string and other types (dynamic, nullable)
-    test('Identical string/other (dynamic, nullable)', () {
-      String e1 = hideNull("The");
-      dynamic d1 = hideNull("The");
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of string and other types (dynamic, non-null)
-    test('Identical string/other (dynamic, non-null)', () {
-      String e1 = "The";
-      dynamic d1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  group('Boolean identity', () {
-    // Test identity of two bools, various types, nullable
-    test('Identical bool/bool (nullable)', () {
-      bool e1 = hideNull(true);
-      bool e2 = hideNull(false);
-      dynamic d1 = hideNull(true);
-      dynamic d2 = hideNull(false);
-      Object o1 = hideNull(true);
-      Object o2 = hideNull(false);
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two bools, various types, non-nullable
-    test('Identical bool/bool (non-null)', () {
-      bool e1 = true;
-      bool e2 = false;
-      dynamic d1 = true;
-      dynamic d2 = false;
-      Object o1 = true;
-      Object o2 = false;
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of bool and other types (static, nullable)
-    test('Identical bool/other (static, nullable)', () {
-      bool e1 = hideNull(true);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of bool and other types (static, non-null)
-    test('Identical bool/other (static, non-null)', () {
-      bool e1 = true;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of bool and other types (dynamic, nullable)
-    test('Identical bool/other (dynamic, nullable)', () {
-      bool e1 = hideNull(true);
-      dynamic d1 = hideNull(true);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of bool and other types (dynamic, non-null)
-    test('Identical bool/other (dynamic, non-null)', () {
-      bool e1 = true;
-      dynamic d1 = true;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  group('String identity', () {
-    // Test identity of two strings, various types, nullable
-    test('Identical string/string (nullable)', () {
-      String e1 = hideNull("The");
-      String e2 = hideNull("Band");
-      dynamic d1 = hideNull("The");
-      dynamic d2 = hideNull("Band");
-      Object o1 = hideNull("The");
-      Object o2 = hideNull("Band");
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two strings, various types, non-nullable
-    test('Identical string/string (non-null)', () {
-      String e1 = "The";
-      String e2 = "Band";
-      dynamic d1 = "The";
-      dynamic d2 = "Band";
-      Object o1 = "The";
-      Object o2 = "Band";
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of string and other types (static, nullable)
-    test('Identical string/other (static, nullable)', () {
-      String e1 = hideNull("The");
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of string and other types (static, non-null)
-    test('Identical string/other (static, non-null)', () {
-      String e1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of string and other types (dynamic, nullable)
-    test('Identical string/other (dynamic, nullable)', () {
-      String e1 = hideNull("The");
-      dynamic d1 = hideNull("The");
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of string and other types (dynamic, non-null)
-    test('Identical string/other (dynamic, non-null)', () {
-      String e1 = "The";
-      dynamic d1 = "The";
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  group('Number identity', () {
-    // Test identity of two ints, various types, nullable
-    test('Identical int/int (nullable)', () {
-      int e1 = hideNull(11);
-      int e2 = hideNull(12);
-      dynamic d1 = hideNull(11);
-      dynamic d2 = hideNull(12);
-      Object o1 = hideNull(11);
-      Object o2 = hideNull(12);
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two ints, various types, non-nullable
-    test('Identical int/int (non-null)', () {
-      int e1 = 11;
-      int e2 = 12;
-      dynamic d1 = 11;
-      dynamic d2 = 12;
-      Object o1 = 11;
-      Object o2 = 12;
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of int and other types (static, nullable)
-    test('Identical int/other (static, nullable)', () {
-      int e1 = hideNull(11);
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of int and other types (static, non-null)
-    test('Identical int/other (static, non-null)', () {
-      int e1 = 11;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of int and other types (dynamic, nullable)
-    test('Identical int/other (dynamic, nullable)', () {
-      int e1 = hideNull(11);
-      dynamic d1 = hideNull(11);
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of int and other types (dynamic, non-null)
-    test('Identical int/other (dynamic, non-null)', () {
-      int e1 = 11;
-      dynamic d1 = 11;
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  group('Object identity', () {
-    // Test identity of two objects, various types, nullable
-    test('Identical object/object (nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      _Elwood e2 = hideNull(_Elwood());
-      dynamic d1 = hideNull(e1);
-      dynamic d2 = hideNull(_Elwood());
-      Object o1 = hideNull(e1);
-      Object o2 = hideNull(_Elwood());
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of two objects, various types, non-nullable
-    test('Identical object/object (non-null)', () {
-      _Jake e1 = _Jake();
-      _Elwood e2 = _Elwood();
-      dynamic d1 = e1;
-      dynamic d2 = _Elwood();
-      Object o1 = e1;
-      Object o2 = _Elwood();
-      expect(identical(e1, e1), true);
-      expect(identical(e1, d1), true);
-      expect(identical(e1, o1), true);
-      expect(identical(e1, e2), false);
-      expect(identical(e1, o2), false);
-      expect(identical(e1, d2), false);
-      expect(identical(e1, e2), false);
-      expect(identical(d1, e1), true);
-      expect(identical(d1, d1), true);
-      expect(identical(d1, o1), true);
-      expect(identical(d1, e2), false);
-      expect(identical(d1, d2), false);
-      expect(identical(d1, o2), false);
-      expect(identical(o1, e1), true);
-      expect(identical(o1, d1), true);
-      expect(identical(o1, o1), true);
-      expect(identical(o1, e2), false);
-      expect(identical(o1, d2), false);
-      expect(identical(o1, o2), false);
-    });
-
-    // Test identity of object and other types (static, nullable)
-    test('Identical object/other (static, nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      String s1 = hideNull("hello");
-      String s2 = hideNull("");
-      int i1 = hideNull(3);
-      int i2 = hideNull(0);
-      List l1 = hideNull(List(3));
-      BluesBrother b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of object and other types (static, non-null)
-    test('Identical object/other (static, non-null)', () {
-      _Jake e1 = _Jake();
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-    });
-
-    // Test identity of object and other types (dynamic, nullable)
-    test('Identical object/other (dynamic, nullable)', () {
-      _Jake e1 = hideNull(_Jake());
-      dynamic d1 = hideNull(_Jake());
-      dynamic s1 = hideNull("hello");
-      dynamic s2 = hideNull("");
-      dynamic i1 = hideNull(3);
-      dynamic i2 = hideNull(0);
-      dynamic l1 = hideNull(List(3));
-      dynamic b1 = hideNull(_Norman());
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-
-    // Test identity of object and other types (dynamic, non-null)
-    test('Identical object/other (dynamic, non-null)', () {
-      _Jake e1 = _Jake();
-      dynamic d1 = _Jake();
-      String s1 = "hello";
-      String s2 = "";
-      int i1 = 3;
-      int i2 = 0;
-      List l1 = List(3);
-      BluesBrother b1 = _Norman();
-
-      expect(identical(e1, s1), false);
-      expect(identical(e1, s2), false);
-      expect(identical(e1, i1), false);
-      expect(identical(e1, i2), false);
-      expect(identical(e1, l1), false);
-      expect(identical(e1, b1), false);
-
-      expect(identical(s1, e1), false);
-      expect(identical(s2, e1), false);
-      expect(identical(i1, e1), false);
-      expect(identical(i2, e1), false);
-      expect(identical(l1, e1), false);
-      expect(identical(b1, e1), false);
-
-      expect(identical(d1, s1), false);
-      expect(identical(d1, s2), false);
-      expect(identical(d1, i1), false);
-      expect(identical(d1, i2), false);
-      expect(identical(d1, l1), false);
-      expect(identical(d1, b1), false);
-
-      expect(identical(s1, d1), false);
-      expect(identical(s2, d1), false);
-      expect(identical(i1, d1), false);
-      expect(identical(i2, d1), false);
-      expect(identical(l1, d1), false);
-      expect(identical(b1, d1), false);
-    });
-  });
-
-  // Test that null receiver with undefined argument is handled correctly
-  group('Null/undefined identity', () {
-    // Test identity of null object and other types
-    test('Identical object/other (static, null)', () {
-      BluesBrother n = hideNull(null);
-      String u1 = getUndefined();
-      int u2 = getUndefined();
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(identical(n, n), true);
-
-      expect(identical(n, u1), true);
-      expect(identical(n, u2), true);
-      expect(identical(n, u3), true);
-      expect(identical(n, u4), true);
-
-      expect(identical(u1, n), true);
-      expect(identical(u2, n), true);
-      expect(identical(u3, n), true);
-      expect(identical(u4, n), true);
-    });
-
-    // Test identity of null string and other types
-    test('Identical String/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String n = hideNull(null);
-      int u2 = getUndefined();
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(identical(n, n), true);
-
-      expect(identical(n, u1), true);
-      expect(identical(n, u2), true);
-      expect(identical(n, u3), true);
-      expect(identical(n, u4), true);
-
-      expect(identical(u1, n), true);
-      expect(identical(u2, n), true);
-      expect(identical(u3, n), true);
-      expect(identical(u4, n), true);
-    });
-
-    // Test identity of null int and other types
-    test('Identical int/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int n = hideNull(null);
-      bool u3 = getUndefined();
-      List u4 = getUndefined();
-
-      expect(identical(n, n), true);
-
-      expect(identical(n, u1), true);
-      expect(identical(n, u2), true);
-      expect(identical(n, u3), true);
-      expect(identical(n, u4), true);
-
-      expect(identical(u1, n), true);
-      expect(identical(u2, n), true);
-      expect(identical(u3, n), true);
-      expect(identical(u4, n), true);
-    });
-
-    // Test identity of null bool and other types
-    test('Identical bool/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int u3 = getUndefined();
-      bool n = hideNull(null);
-      List u4 = getUndefined();
-
-      expect(identical(n, n), true);
-
-      expect(identical(n, u1), true);
-      expect(identical(n, u2), true);
-      expect(identical(n, u3), true);
-      expect(identical(n, u4), true);
-
-      expect(identical(u1, n), true);
-      expect(identical(u2, n), true);
-      expect(identical(u3, n), true);
-      expect(identical(u4, n), true);
-    });
-
-    // Test identity of null List and other types
-    test('Identical List/other (static, null)', () {
-      BluesBrother u1 = getUndefined();
-      String u2 = getUndefined();
-      int u3 = getUndefined();
-      bool u4 = getUndefined();
-      List n = hideNull(null);
-
-      expect(identical(n, n), true);
-
-      expect(identical(n, u1), true);
-      expect(identical(n, u2), true);
-      expect(identical(n, u3), true);
-      expect(identical(n, u4), true);
-
-      expect(identical(u1, n), true);
-      expect(identical(u2, n), true);
-      expect(identical(u3, n), true);
-      expect(identical(u4, n), true);
-    });
-  });
-}
diff --git a/pkg/dev_compiler/test/codegen/map_keys.dart b/pkg/dev_compiler/test/codegen/map_keys.dart
deleted file mode 100644
index 0bb6e00..0000000
--- a/pkg/dev_compiler/test/codegen/map_keys.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// compile options: --source-map
-// TODO(jmesserly): more comprehensive strategy for testing the source map.
-// (this is used so we're covering it in at least one test)
-
-import 'dart:math' show Random;
-
-main() {
-  // Uses a JS object literal
-  print({'1': 2, '3': 4, '5': 6});
-  // Uses array literal
-  print({1: 2, 3: 4, 5: 6});
-  // Uses ES6 enhanced object literal
-  print({'1': 2, '${new Random().nextInt(2) + 2}': 4, '5': 6});
-  String x = '3';
-  // Could use enhanced object literal if we knew `x` was not null
-  print({'1': 2, x: 4, '5': 6});
-  // Array literal
-  print({'1': 2, null: 4, '5': 6});
-}
diff --git a/pkg/dev_compiler/test/codegen/node_modules.dart b/pkg/dev_compiler/test/codegen/node_modules.dart
deleted file mode 100644
index dad8613..0000000
--- a/pkg/dev_compiler/test/codegen/node_modules.dart
+++ /dev/null
@@ -1,29 +0,0 @@
-// compile options: --modules=node
-library test;
-
-import 'dart:js';
-
-typedef void Callback({int i});
-
-class A {}
-
-class _A {}
-
-class B<T> {}
-
-class _B<T> {}
-
-f() {}
-_f() {}
-
-const String constant = "abc";
-final String finalConstant = "abc";
-final String lazy = (() {
-  print('lazy');
-  return "abc";
-})();
-String mutable = "abc";
-String lazyMutable = (() {
-  print('lazyMutable');
-  return "abc";
-})();
diff --git a/pkg/dev_compiler/test/codegen/script.dart b/pkg/dev_compiler/test/codegen/script.dart
deleted file mode 100755
index c84e012..0000000
--- a/pkg/dev_compiler/test/codegen/script.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env dart
-
-void main(List<String> args) {
-  String name = args.join(' ');
-  if (name == '') name = 'world';
-  print('hello $name');
-}
diff --git a/pkg/dev_compiler/test/codegen/single_test.html b/pkg/dev_compiler/test/codegen/single_test.html
deleted file mode 100644
index e69de29..0000000
--- a/pkg/dev_compiler/test/codegen/single_test.html
+++ /dev/null
diff --git a/pkg/dev_compiler/test/codegen/sunflower/README.md b/pkg/dev_compiler/test/codegen/sunflower/README.md
deleted file mode 100644
index f4fc604..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a copy of https://github.com/dart-lang/sample-sunflower, with minor
-changes to make it compile against "raw DOM" APIs.
-
-The main sunflower.dart file is used as a regression test. You can find it at
-../codegen/sunflower.dart with expected code under ../codegen/expect/sunflower/,
-and the output is at ../codegen/expect/sunflower/sunflower.dart.js.
diff --git a/pkg/dev_compiler/test/codegen/sunflower/circle.dart b/pkg/dev_compiler/test/codegen/sunflower/circle.dart
deleted file mode 100644
index adf4799..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/circle.dart
+++ /dev/null
@@ -1,11 +0,0 @@
-// 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.
-
-library circle;
-
-class Circle {
-  final num x, y, radius;
-
-  Circle(this.x, this.y, this.radius);
-}
diff --git a/pkg/dev_compiler/test/codegen/sunflower/math.png b/pkg/dev_compiler/test/codegen/sunflower/math.png
deleted file mode 100644
index 86d881a..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/math.png
+++ /dev/null
Binary files differ
diff --git a/pkg/dev_compiler/test/codegen/sunflower/painter.dart b/pkg/dev_compiler/test/codegen/sunflower/painter.dart
deleted file mode 100644
index 3488c16..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/painter.dart
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-
-library painter;
-
-import 'dart:html';
-import 'dart:math';
-
-import 'circle.dart';
-
-const ORANGE = "orange";
-const RED = "red";
-const BLUE = "blue";
-const TAU = PI * 2;
-
-Element querySelector(String selector) => document.querySelector(selector);
-
-final canvas = querySelector("#canvas") as CanvasElement;
-final context = canvas.getContext('2d') as CanvasRenderingContext2D;
-
-abstract class CirclePainter implements Circle {
-  // This demonstrates a field in a mixin.
-  String color = ORANGE;
-
-  /// Draw a small circle representing a seed centered at (x,y).
-  void draw(CanvasRenderingContext2D context) {
-    context
-      ..beginPath()
-      ..lineWidth = 2
-      ..fillStyle = color
-      ..strokeStyle = color
-      ..arc(x, y, radius, 0, TAU, false)
-      ..fill()
-      ..closePath()
-      ..stroke();
-  }
-}
diff --git a/pkg/dev_compiler/test/codegen/sunflower/sunflower.css b/pkg/dev_compiler/test/codegen/sunflower/sunflower.css
deleted file mode 100644
index b46afb7..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/sunflower.css
+++ /dev/null
@@ -1,50 +0,0 @@
-/* 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. */
-
-body {
-  background-color: #F8F8F8;
-  font-family: 'Open Sans', sans-serif;
-  font-size: 14px;
-  font-weight: normal;
-  line-height: 1.2em;
-  margin: 15px;
-}
-
-p {
-  color: #333;
-}
-
-#container {
-  width: 100%;
-  height: 400px;
-  position: relative;
-  border: 1px solid #ccc;
-  background-color: #fff;
-}
-
-#summary {
-  float: left;
-}
-
-#notes {
-  float: right;
-  width: 120px;
-  text-align: right;
-}
-
-.error {
-  font-style: italic;
-  color: red;
-}
-
-img {
-  border: 1px solid #ccc;
-  margin: auto;
-}
-
-.center {
-  display: block;
-  margin: 0px auto;
-  text-align: center;
-}
diff --git a/pkg/dev_compiler/test/codegen/sunflower/sunflower.dart b/pkg/dev_compiler/test/codegen/sunflower/sunflower.dart
deleted file mode 100644
index 42b2417..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/sunflower.dart
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.
-
-library sunflower;
-
-import 'dart:html';
-import 'dart:math';
-
-import 'circle.dart';
-import 'painter.dart';
-
-const SEED_RADIUS = 2;
-const SCALE_FACTOR = 4;
-const MAX_D = 300;
-const centerX = MAX_D / 2;
-const centerY = centerX;
-
-Element querySelector(String selector) => document.querySelector(selector);
-final canvas = querySelector("#canvas") as CanvasElement;
-final context = canvas.getContext('2d') as CanvasRenderingContext2D;
-final slider = querySelector("#slider") as InputElement;
-final notes = querySelector("#notes");
-
-final PHI = (sqrt(5) + 1) / 2;
-int seeds = 0;
-
-void main() {
-  slider.addEventListener('change', (e) => draw());
-  draw();
-}
-
-/// Draw the complete figure for the current number of seeds.
-void draw() {
-  seeds = int.parse(slider.value);
-  context.clearRect(0, 0, MAX_D, MAX_D);
-  for (var i = 0; i < seeds; i++) {
-    final theta = i * TAU / PHI;
-    final r = sqrt(i) * SCALE_FACTOR;
-    final x = centerX + r * cos(theta);
-    final y = centerY - r * sin(theta);
-    SunflowerSeed(x, y, SEED_RADIUS).draw(context);
-  }
-  notes.text = "$seeds seeds";
-}
-
-// This example was modified to use classes and mixins.
-class SunflowerSeed extends Circle with CirclePainter {
-  SunflowerSeed(num x, num y, num radius, [String color])
-      : super(x, y, radius) {
-    if (color != null) this.color = color;
-  }
-}
diff --git a/pkg/dev_compiler/test/codegen/sunflower/sunflower.html b/pkg/dev_compiler/test/codegen/sunflower/sunflower.html
deleted file mode 100644
index 921d999..0000000
--- a/pkg/dev_compiler/test/codegen/sunflower/sunflower.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-
-<!-- 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. -->
-
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>Sunflower Demo</title>
-    <link type="text/css" rel="stylesheet" href="sunflower.css">
-  </head>
-  <body>
-    <h1>drfibonacci's Sunflower Spectacular</h1>
-    <p>A canvas 2D demo.</p>
-
-    <div id="container">
-      <canvas id="canvas" width="300" height="300" class="center"></canvas>
-      <form class="center">
-        <input id="slider" type="range" max="1000" value="500"/>
-      </form>
-      <br/>
-      <img src="math.png" width="350px" height="42px" class="center">
-    </div>
-
-    <footer>
-      <p id="summary"> </p>
-      <p id="notes"> </p>
-    </footer>
-
-<!--
-    <script type="application/dart" src="sunflower.dart"></script>
--->
-    <script src="../../../node_modules/requirejs/require.js"></script>
-    <script>
-      require.config({
-        paths: {
-          dart_sdk: "../../../lib/js/amd/dart_sdk",
-          js: "../../../gen/codegen_output/pkg/js",
-        }
-      });
-      require(["../../../gen/codegen_output/sunflower/sunflower"],
-          (sunflower) => {
-        sunflower.sunflower.main();
-      });
-    </script>
-  </body>
-</html>
diff --git a/pkg/dev_compiler/test/codegen/unresolved_names.dart b/pkg/dev_compiler/test/codegen/unresolved_names.dart
deleted file mode 100644
index 2a14b21..0000000
--- a/pkg/dev_compiler/test/codegen/unresolved_names.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// compile options: --unsafe-force-compile
-
-class C {}
-
-main() {
-  Foo();
-  C.bar();
-  print(baz);
-  print(C.quux);
-}
diff --git a/pkg/dev_compiler/test/codegen/varargs.dart b/pkg/dev_compiler/test/codegen/varargs.dart
deleted file mode 100644
index f97ac58..0000000
--- a/pkg/dev_compiler/test/codegen/varargs.dart
+++ /dev/null
@@ -1,12 +0,0 @@
-import 'package:js/src/varargs.dart' as js;
-import 'package:js/src/varargs.dart' show rest, spread;
-
-varargsTest(x, @js.rest others) {
-  var args = [1, others];
-  x.call(js.spread(args));
-}
-
-varargsTest2(x, @rest others) {
-  var args = [1, others];
-  x.call(spread(args));
-}
diff --git a/pkg/dev_compiler/test/codegen_expected/BenchmarkBase.js b/pkg/dev_compiler/test/codegen_expected/BenchmarkBase.js
deleted file mode 100644
index 99f2eda..0000000
--- a/pkg/dev_compiler/test/codegen_expected/BenchmarkBase.js
+++ /dev/null
@@ -1,114 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const BenchmarkBase$ = Object.create(_root);
-  const $length = dartx.length;
-  const $_get = dartx._get;
-  let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))();
-  BenchmarkBase$.Expect = class Expect extends core.Object {
-    static equals(expected, actual) {
-      if (!dart.equals(expected, actual)) {
-        dart.throw(dart.str`Values not equal: ${expected} vs ${actual}`);
-      }
-    }
-    static listEquals(expected, actual) {
-      if (expected[$length] != actual[$length]) {
-        dart.throw(dart.str`Lists have different lengths: ${expected[$length]} vs ${actual[$length]}`);
-      }
-      for (let i = 0; i < dart.notNull(actual[$length]); i++) {
-        BenchmarkBase$.Expect.equals(expected[$_get](i), actual[$_get](i));
-      }
-    }
-    fail(message) {
-      dart.throw(message);
-    }
-  };
-  (BenchmarkBase$.Expect.new = function() {
-  }).prototype = BenchmarkBase$.Expect.prototype;
-  dart.addTypeTests(BenchmarkBase$.Expect);
-  dart.setMethodSignature(BenchmarkBase$.Expect, () => ({
-    __proto__: dart.getMethods(BenchmarkBase$.Expect.__proto__),
-    fail: dart.fnType(dart.dynamic, [dart.dynamic])
-  }));
-  dart.setStaticMethodSignature(BenchmarkBase$.Expect, () => ({
-    equals: dart.fnType(dart.void, [dart.dynamic, dart.dynamic]),
-    listEquals: dart.fnType(dart.void, [core.List, core.List])
-  }));
-  BenchmarkBase$.BenchmarkBase = class BenchmarkBase extends core.Object {
-    get name() {
-      return this[name$];
-    }
-    set name(value) {
-      super.name = value;
-    }
-    run() {}
-    warmup() {
-      this.run();
-    }
-    exercise() {
-      for (let i = 0; i < 10; i++) {
-        this.run();
-      }
-    }
-    setup() {}
-    teardown() {}
-    static measureFor(f, timeMinimum) {
-      let time = 0;
-      let iter = 0;
-      let watch = new core.Stopwatch.new();
-      watch.start();
-      let elapsed = 0;
-      while (dart.notNull(elapsed) < dart.notNull(timeMinimum)) {
-        dart.dcall(f);
-        elapsed = watch.elapsedMilliseconds;
-        iter++;
-      }
-      return 1000.0 * dart.notNull(elapsed) / iter;
-    }
-    measure() {
-      this.setup();
-      BenchmarkBase$.BenchmarkBase.measureFor(dart.fn(() => {
-        this.warmup();
-      }, VoidToNull()), 100);
-      let result = BenchmarkBase$.BenchmarkBase.measureFor(dart.fn(() => {
-        this.exercise();
-      }, VoidToNull()), 2000);
-      this.teardown();
-      return result;
-    }
-    report() {
-      let score = this.measure();
-      core.print(dart.str`${this.name}(RunTime): ${score} us.`);
-    }
-  };
-  (BenchmarkBase$.BenchmarkBase.new = function(name) {
-    this[name$] = name;
-  }).prototype = BenchmarkBase$.BenchmarkBase.prototype;
-  dart.addTypeTests(BenchmarkBase$.BenchmarkBase);
-  const name$ = Symbol("BenchmarkBase.name");
-  dart.setMethodSignature(BenchmarkBase$.BenchmarkBase, () => ({
-    __proto__: dart.getMethods(BenchmarkBase$.BenchmarkBase.__proto__),
-    run: dart.fnType(dart.void, []),
-    warmup: dart.fnType(dart.void, []),
-    exercise: dart.fnType(dart.void, []),
-    setup: dart.fnType(dart.void, []),
-    teardown: dart.fnType(dart.void, []),
-    measure: dart.fnType(core.double, []),
-    report: dart.fnType(dart.void, [])
-  }));
-  dart.setStaticMethodSignature(BenchmarkBase$.BenchmarkBase, () => ({measureFor: dart.fnType(core.double, [core.Function, core.int])}));
-  dart.setFieldSignature(BenchmarkBase$.BenchmarkBase, () => ({
-    __proto__: dart.getFields(BenchmarkBase$.BenchmarkBase.__proto__),
-    name: dart.finalFieldType(core.String)
-  }));
-  dart.trackLibraries("BenchmarkBase", {
-    "BenchmarkBase.dart": BenchmarkBase$
-  }, null);
-  // Exports:
-  return {
-    BenchmarkBase: BenchmarkBase$
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/closure.js b/pkg/dev_compiler/test/codegen_expected/closure.js
deleted file mode 100644
index 0745261..0000000
--- a/pkg/dev_compiler/test/codegen_expected/closure.js
+++ /dev/null
@@ -1,174 +0,0 @@
-const _root = Object.create(null);
-export const closure = Object.create(_root);
-import { core, js, dart, dartx } from 'dart_sdk';
-const $toList = dartx.toList;
-const $map = dartx.map;
-let dynamic__Toint = () => (dynamic__Toint = dart.constFn(dart.fnTypeFuzzy(core.int, [dart.dynamic], [dart.dynamic])))();
-let dynamic__Todynamic = () => (dynamic__Todynamic = dart.constFn(dart.fnTypeFuzzy(dart.dynamic, [dart.dynamic], {y: core.String, z: dart.dynamic})))();
-let __Tovoid = () => (__Tovoid = dart.constFn(dart.fnTypeFuzzy(dart.void, [], {i: core.int})))();
-let StringToList = () => (StringToList = dart.constFn(dart.fnTypeFuzzy(core.List, [core.String])))();
-let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
-let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.fnTypeFuzzy(dart.dynamic, [dart.dynamic])))();
-let FnToListOfint = () => (FnToListOfint = dart.constFn(dart.fnTypeFuzzy(ListOfint(), [dynamicTodynamic()])))();
-let MapOfMap$Map = () => (MapOfMap$Map = dart.constFn(core.Map$(core.Map, core.Map)))();
-let Foo = () => (Foo = dart.constFn(closure.Foo$()))();
-let ListOfTAndTToListOfT = () => (ListOfTAndTToListOfT = dart.constFn(dart.gFnType(T => [core.List$(T), [core.List$(T), T]])))();
-let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.fnType(dart.void, [dart.dynamic])))();
-let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))();
-closure.generic_function = function<T>(T, items: core.List<T> = null, seed: T = null): core.List<T> {
-  let strings = items[$map](core.String, dart.fn((i: T = null): string => dart.str`${i}`, dart.fnType(core.String, [T])))[$toList]();
-  return items;
-};
-dart.fn(closure.generic_function, ListOfTAndTToListOfT());
-closure.Callback = dart.typedef('Callback', () => dart.fnTypeFuzzy(dart.void, [], {i: core.int}));
-const _is_Foo_default = Symbol('_is_Foo_default');
-closure.Foo$ = dart.generic(T => {
-  let FooOfT = () => (FooOfT = dart.constFn(closure.Foo$(T)))();
-  class Foo<T> extends core.Object {
-    i: number;
-    b: boolean;
-    s: string;
-    v: T;
-    static some_static_constant: string;
-    static some_static_final: string;
-    static some_static_var: string;
-    prop: string;
-    static staticProp: string;
-    get i() {
-      return this[i$];
-    }
-    set i(value) {
-      super.i = value;
-    }
-    get b() {
-      return this[b];
-    }
-    set b(value) {
-      this[b] = value;
-    }
-    get s() {
-      return this[s];
-    }
-    set s(value) {
-      this[s] = value;
-    }
-    get v() {
-      return this[v$];
-    }
-    set v(value) {
-      this[v$] = T._check(value);
-    }
-    static build() {
-      return new (FooOfT()).new(1, null);
-    }
-    untyped_method(a = null, b = null) {}
-    pass(t: T = null) {
-      T._check(t);
-      return t;
-    }
-    typed_method(foo: closure.Foo<any> = null, list: core.List<any> = null, i: number = null, n: number = null, d: number = null, b: boolean = null, s: string = null, a: any[] = null, o: Object = null, f: Function = null) {
-      return '';
-    }
-    optional_params(a = null, b = null, c: number = null) {}
-    static named_params(a = null, {b = null, c = null}: {b?: any, c?: number} = {}) {}
-    nullary_method() {}
-    function_params(f: (x: any, y?: any) => number = null, g: (x: any, opts?: {y?: string, z?: any}) => any = null, cb: (opts?: {i?: number}) => void = null) {
-      cb({i: this.i});
-    }
-    run(a: core.List<any> = null, b: string = null, c: (d: string) => core.List<any> = null, e: (f: (g: any) => any) => core.List<number> = null, {h = null}: {h?: core.Map<core.Map<any, any>, core.Map<any, any>>} = {}) {}
-    get prop() {
-      return null;
-    }
-    set prop(value: string = null) {}
-    static get staticProp() {
-      return null;
-    }
-    static set staticProp(value: string = null) {}
-  }
-  (Foo.new = function(i: number = null, v: T = null) {
-    this[i$] = i;
-    this[v$] = v;
-    this[b] = null;
-    this[s] = null;
-  }).prototype = Foo.prototype;
-  dart.addTypeTests(Foo);
-  Foo.prototype[_is_Foo_default] = true;
-  const i$ = Symbol("Foo.i");
-  const b = Symbol("Foo.b");
-  const s = Symbol("Foo.s");
-  const v$ = Symbol("Foo.v");
-  dart.setMethodSignature(Foo, () => ({
-    __proto__: dart.getMethods(Foo.__proto__),
-    untyped_method: dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic]),
-    pass: dart.fnType(T, [core.Object]),
-    typed_method: dart.fnType(core.String, [closure.Foo, core.List, core.int, core.num, core.double, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]),
-    optional_params: dart.fnType(dart.dynamic, [dart.dynamic], [dart.dynamic, core.int]),
-    nullary_method: dart.fnType(dart.dynamic, []),
-    function_params: dart.fnType(dart.dynamic, [dynamic__Toint(), dynamic__Todynamic(), __Tovoid()]),
-    run: dart.fnType(dart.dynamic, [core.List, core.String, StringToList(), FnToListOfint()], {h: MapOfMap$Map()})
-  }));
-  dart.setStaticMethodSignature(Foo, () => ({named_params: dart.fnType(dart.dynamic, [dart.dynamic], {b: dart.dynamic, c: core.int})}));
-  dart.setGetterSignature(Foo, () => ({
-    __proto__: dart.getGetters(Foo.__proto__),
-    prop: dart.fnType(core.String, [])
-  }));
-  dart.setSetterSignature(Foo, () => ({
-    __proto__: dart.getSetters(Foo.__proto__),
-    prop: dart.fnType(dart.void, [core.String])
-  }));
-  dart.setFieldSignature(Foo, () => ({
-    __proto__: dart.getFields(Foo.__proto__),
-    i: dart.finalFieldType(core.int),
-    b: dart.fieldType(core.bool),
-    s: dart.fieldType(core.String),
-    v: dart.fieldType(T)
-  }));
-  return Foo;
-});
-closure.Foo = Foo();
-dart.defineLazy(closure.Foo, {
-  get some_static_constant() {
-    return "abc";
-  },
-  get some_static_final() {
-    return "abc";
-  },
-  get some_static_var() {
-    return "abc";
-  },
-  set some_static_var(_) {}
-});
-dart.addTypeTests(closure.Foo, _is_Foo_default);
-closure.Bar = class Bar extends core.Object {};
-(closure.Bar.new = function() {
-}).prototype = closure.Bar.prototype;
-dart.addTypeTests(closure.Bar);
-closure.Baz = class Baz extends dart.mixin(closure.Foo$(core.int), closure.Bar) {};
-(closure.Baz.new = function(i: number = null) {
-  closure.Baz.__proto__.new.call(this, i, 123);
-}).prototype = closure.Baz.prototype;
-dart.addTypeTests(closure.Baz);
-closure.main = function(args = null): void {
-};
-dart.fn(closure.main, dynamicTovoid());
-dart.defineLazy(closure, {
-  get closure() {
-    return dart.fn((): core.Null => {
-      return;
-    }, VoidToNull());
-  },
-  set closure(_) {},
-  get some_top_level_constant() {
-    return "abc";
-  },
-  get some_top_level_final() {
-    return "abc";
-  },
-  get some_top_level_var() {
-    return "abc";
-  },
-  set some_top_level_var(_) {}
-});
-dart.trackLibraries("closure", {
-  "closure.dart": closure
-}, null);
diff --git a/pkg/dev_compiler/test/codegen_expected/destructuring.js b/pkg/dev_compiler/test/codegen_expected/destructuring.js
deleted file mode 100644
index c8525ad..0000000
--- a/pkg/dev_compiler/test/codegen_expected/destructuring.js
+++ /dev/null
@@ -1,97 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const destructuring = Object.create(_root);
-  const src__varargs = Object.create(_root);
-  let intAnddynamic__Todynamic = () => (intAnddynamic__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [core.int, dart.dynamic], [dart.dynamic])))();
-  let intAnddynamic__Todynamic$ = () => (intAnddynamic__Todynamic$ = dart.constFn(dart.fnType(dart.dynamic, [core.int, dart.dynamic], {c: dart.dynamic})))();
-  let intAnddynamicTodynamic = () => (intAnddynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.int, dart.dynamic])))();
-  let intAnddynamicAnddynamicTodynamic = () => (intAnddynamicAnddynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [core.int, dart.dynamic, dart.dynamic])))();
-  let __Todynamic = () => (__Todynamic = dart.constFn(dart.fnType(dart.dynamic, [], [core.int, dart.dynamic, dart.dynamic])))();
-  let __Todynamic$ = () => (__Todynamic$ = dart.constFn(dart.fnType(dart.dynamic, [], {let: core.int, function: dart.dynamic, arguments: dart.dynamic})))();
-  let __Todynamic$0 = () => (__Todynamic$0 = dart.constFn(dart.fnType(dart.dynamic, [], {constructor: core.int, valueOf: dart.dynamic, hasOwnProperty: dart.dynamic})))();
-  let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic])))();
-  destructuring.f = function(a = null, b = null, c = 1) {
-    destructuring.f(a, b, c);
-  };
-  dart.fn(destructuring.f, intAnddynamic__Todynamic());
-  destructuring.f_sync = function(a, b, c) {
-    return dart.syncStar(function* f_sync(a = null, b = null, c = 1) {
-    }, dart.dynamic, a, b, c);
-  };
-  dart.fn(destructuring.f_sync, intAnddynamic__Todynamic());
-  destructuring.f_async = function(a, b, c) {
-    return dart.asyncStar(function* f_async(stream, a = null, b = null, c = 1) {
-    }, dart.dynamic, a, b, c);
-  };
-  dart.fn(destructuring.f_async, intAnddynamic__Todynamic());
-  destructuring.g = function(a = null, b = null, {c = 1} = {}) {
-    destructuring.f(a, b, c);
-  };
-  dart.fn(destructuring.g, intAnddynamic__Todynamic$());
-  destructuring.g_sync = function(a, b, opts) {
-    return dart.syncStar(function* g_sync(a = null, b = null, {c = 1} = {}) {
-    }, dart.dynamic, a, b, opts);
-  };
-  dart.fn(destructuring.g_sync, intAnddynamic__Todynamic$());
-  destructuring.g_async = function(a, b, opts) {
-    return dart.asyncStar(function* g_async(stream, a = null, b = null, {c = 1} = {}) {
-    }, dart.dynamic, a, b, opts);
-  };
-  dart.fn(destructuring.g_async, intAnddynamic__Todynamic$());
-  destructuring.r = function(a = null, ...others = null) {
-    destructuring.r(a, ...others);
-  };
-  dart.fn(destructuring.r, intAnddynamicTodynamic());
-  destructuring.r_sync = function(a, ...others) {
-    return dart.syncStar(function* r_sync(a = null, ...others = null) {
-    }, dart.dynamic, a, ...others);
-  };
-  dart.fn(destructuring.r_sync, intAnddynamicTodynamic());
-  destructuring.r_async = function(a, ...others) {
-    return dart.asyncStar(function* r_async(stream, a = null, ...others = null) {
-    }, dart.dynamic, a, ...others);
-  };
-  dart.fn(destructuring.r_async, intAnddynamicTodynamic());
-  destructuring.invalid_names1 = function(let$ = null, func = null, arguments$ = null) {
-    destructuring.f(let$, func, arguments$);
-  };
-  dart.fn(destructuring.invalid_names1, intAnddynamicAnddynamicTodynamic());
-  destructuring.invalid_names2 = function(let$ = null, func = 1, arguments$ = null) {
-    destructuring.f(let$, func, arguments$);
-  };
-  dart.fn(destructuring.invalid_names2, __Todynamic());
-  destructuring.invalid_names3 = function({["let"]: let$ = null, ["function"]: func = null, ["arguments"]: arguments$ = 2} = {}) {
-    destructuring.f(let$, func, arguments$);
-  };
-  dart.fn(destructuring.invalid_names3, __Todynamic$());
-  destructuring.names_clashing_with_object_props = function({constructor = null, valueOf = null, hasOwnProperty = 2} = Object.create(null)) {
-    destructuring.f(constructor, valueOf, hasOwnProperty);
-  };
-  dart.fn(destructuring.names_clashing_with_object_props, __Todynamic$0());
-  src__varargs._Rest = class _Rest extends core.Object {};
-  (src__varargs._Rest.new = function() {
-  }).prototype = src__varargs._Rest.prototype;
-  dart.addTypeTests(src__varargs._Rest);
-  dart.defineLazy(src__varargs, {
-    get rest() {
-      return dart.const(new src__varargs._Rest.new());
-    }
-  });
-  src__varargs.spread = function(args = null) {
-    dart.throw(new core.StateError.new('The spread function cannot be called, ' + 'it should be compiled away.'));
-  };
-  dart.fn(src__varargs.spread, dynamicTodynamic());
-  dart.trackLibraries("destructuring", {
-    "destructuring.dart": destructuring,
-    "package:js/src/varargs.dart": src__varargs
-  }, null);
-  // Exports:
-  return {
-    destructuring: destructuring,
-    src__varargs: src__varargs
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/equality_test.js b/pkg/dev_compiler/test/codegen_expected/equality_test.js
deleted file mode 100644
index 076c039..0000000
--- a/pkg/dev_compiler/test/codegen_expected/equality_test.js
+++ /dev/null
@@ -1,1158 +0,0 @@
-define(['dart_sdk', 'expect'], function(dart_sdk, expect) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const minitest = expect.minitest;
-  const _root = Object.create(null);
-  const equality_test = Object.create(_root);
-  const $_equals = dartx._equals;
-  const $_get = dartx._get;
-  let TToT = () => (TToT = dart.constFn(dart.gFnType(T => [T, [T]])))();
-  let VoidToT = () => (VoidToT = dart.constFn(dart.gFnType(T => [T, []])))();
-  let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))();
-  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-  equality_test.Music = class Music extends core.Object {
-    toString() {
-      return {
-        0: "Music.country",
-        1: "Music.western"
-      }[this.index];
-    }
-  };
-  (equality_test.Music.new = function(x) {
-    this.index = x;
-  }).prototype = equality_test.Music.prototype;
-  dart.addTypeTests(equality_test.Music);
-  dart.setFieldSignature(equality_test.Music, () => ({
-    __proto__: dart.getFields(equality_test.Music.__proto__),
-    index: dart.finalFieldType(core.int)
-  }));
-  dart.defineExtensionMethods(equality_test.Music, ['toString']);
-  equality_test.Music.country = dart.const(new equality_test.Music.new(0));
-  equality_test.Music.western = dart.const(new equality_test.Music.new(1));
-  equality_test.Music.values = dart.constList([equality_test.Music.country, equality_test.Music.western], equality_test.Music);
-  equality_test.BluesBrother = class BluesBrother extends core.Object {};
-  (equality_test.BluesBrother.new = function() {
-  }).prototype = equality_test.BluesBrother.prototype;
-  dart.addTypeTests(equality_test.BluesBrother);
-  equality_test._Jake = class _Jake extends equality_test.BluesBrother {};
-  (equality_test._Jake.new = function() {
-  }).prototype = equality_test._Jake.prototype;
-  dart.addTypeTests(equality_test._Jake);
-  equality_test._Elwood = class _Elwood extends equality_test.BluesBrother {
-    _equals(other) {
-      if (other == null) return false;
-      return equality_test._Elwood.is(other);
-    }
-  };
-  (equality_test._Elwood.new = function() {
-  }).prototype = equality_test._Elwood.prototype;
-  dart.addTypeTests(equality_test._Elwood);
-  dart.setMethodSignature(equality_test._Elwood, () => ({
-    __proto__: dart.getMethods(equality_test._Elwood.__proto__),
-    _equals: dart.fnType(core.bool, [core.Object]),
-    [$_equals]: dart.fnType(core.bool, [core.Object])
-  }));
-  dart.defineExtensionMethods(equality_test._Elwood, ['_equals']);
-  equality_test._Norman = class _Norman extends equality_test.BluesBrother {};
-  (equality_test._Norman.new = function() {
-  }).prototype = equality_test._Norman.prototype;
-  dart.addTypeTests(equality_test._Norman);
-  equality_test.hideNull = function(T, x) {
-    return x;
-  };
-  dart.fn(equality_test.hideNull, TToT());
-  equality_test.getUndefined = function(T) {
-    return T._check(core.List.new(1)[$_get](0));
-  };
-  dart.fn(equality_test.getUndefined, VoidToT());
-  equality_test.main = function() {
-    minitest.group('Enum equality', dart.fn(() => {
-      minitest.test('Equal enum/enum (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test.Music, equality_test.Music.country);
-        let e2 = equality_test.hideNull(equality_test.Music, equality_test.Music.western);
-        let d1 = equality_test.hideNull(equality_test.Music, equality_test.Music.country);
-        let d2 = equality_test.hideNull(equality_test.Music, equality_test.Music.western);
-        let o1 = equality_test.hideNull(core.Object, equality_test.Music.country);
-        let o2 = equality_test.hideNull(core.Object, equality_test.Music.western);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal enum/enum (non-null)', dart.fn(() => {
-        let e1 = equality_test.Music.country;
-        let e2 = equality_test.Music.western;
-        let d1 = equality_test.Music.country;
-        let d2 = equality_test.Music.western;
-        let o1 = equality_test.Music.country;
-        let o2 = equality_test.Music.western;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal enum/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test.Music, equality_test.Music.country);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(e1 == l1, false);
-        minitest.expect(e1 == b1, false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal enum/other (static, non-null)', dart.fn(() => {
-        let e1 = equality_test.Music.country;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal enum/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test.Music, equality_test.Music.country);
-        let d1 = equality_test.hideNull(equality_test.Music, equality_test.Music.country);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal enum/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = equality_test.Music.country;
-        let d1 = equality_test.Music.country;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('String equality', dart.fn(() => {
-      minitest.test('Equal string/string (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let e2 = equality_test.hideNull(core.String, "Band");
-        let d1 = equality_test.hideNull(core.String, "The");
-        let d2 = equality_test.hideNull(core.String, "Band");
-        let o1 = equality_test.hideNull(core.Object, "The");
-        let o2 = equality_test.hideNull(core.Object, "Band");
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/string (non-null)', dart.fn(() => {
-        let e1 = "The";
-        let e2 = "Band";
-        let d1 = "The";
-        let d2 = "Band";
-        let o1 = "The";
-        let o2 = "Band";
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(e1 == s1, false);
-        minitest.expect(e1 == s2, false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(s1 == e1, false);
-        minitest.expect(s2 == e1, false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (static, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let d1 = equality_test.hideNull(core.String, "The");
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let d1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Boolean equality', dart.fn(() => {
-      minitest.test('Equal bool/bool (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.bool, true);
-        let e2 = equality_test.hideNull(core.bool, false);
-        let d1 = equality_test.hideNull(core.bool, true);
-        let d2 = equality_test.hideNull(core.bool, false);
-        let o1 = equality_test.hideNull(core.Object, true);
-        let o2 = equality_test.hideNull(core.Object, false);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal bool/bool (non-null)', dart.fn(() => {
-        let e1 = true;
-        let e2 = false;
-        let d1 = true;
-        let d2 = false;
-        let o1 = true;
-        let o2 = false;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal bool/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.bool, true);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal bool/other (static, non-null)', dart.fn(() => {
-        let e1 = true;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal bool/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.bool, true);
-        let d1 = equality_test.hideNull(core.bool, true);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal bool/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = true;
-        let d1 = true;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('String equality', dart.fn(() => {
-      minitest.test('Equal string/string (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let e2 = equality_test.hideNull(core.String, "Band");
-        let d1 = equality_test.hideNull(core.String, "The");
-        let d2 = equality_test.hideNull(core.String, "Band");
-        let o1 = equality_test.hideNull(core.Object, "The");
-        let o2 = equality_test.hideNull(core.Object, "Band");
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/string (non-null)', dart.fn(() => {
-        let e1 = "The";
-        let e2 = "Band";
-        let d1 = "The";
-        let d2 = "Band";
-        let o1 = "The";
-        let o2 = "Band";
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(e1 == s1, false);
-        minitest.expect(e1 == s2, false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(s1 == e1, false);
-        minitest.expect(s2 == e1, false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (static, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.String, "The");
-        let d1 = equality_test.hideNull(core.String, "The");
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal string/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let d1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Number equality', dart.fn(() => {
-      minitest.test('Equal int/int (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.int, 11);
-        let e2 = equality_test.hideNull(core.int, 12);
-        let d1 = equality_test.hideNull(core.int, 11);
-        let d2 = equality_test.hideNull(core.int, 12);
-        let o1 = equality_test.hideNull(core.Object, 11);
-        let o2 = equality_test.hideNull(core.Object, 12);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal int/int (non-null)', dart.fn(() => {
-        let e1 = 11;
-        let e2 = 12;
-        let d1 = 11;
-        let d2 = 12;
-        let o1 = 11;
-        let o2 = 12;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal int/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.int, 11);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(e1 == i1, false);
-        minitest.expect(e1 == i2, false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(i1 == e1, false);
-        minitest.expect(i2 == e1, false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal int/other (static, non-null)', dart.fn(() => {
-        let e1 = 11;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal int/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(core.int, 11);
-        let d1 = equality_test.hideNull(core.int, 11);
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal int/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = 11;
-        let d1 = 11;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Object equality', dart.fn(() => {
-      minitest.test('Equal object/object (nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test._Jake, new equality_test._Jake.new());
-        let e2 = equality_test.hideNull(equality_test._Elwood, new equality_test._Elwood.new());
-        let d1 = equality_test.hideNull(equality_test._Jake, e1);
-        let d2 = equality_test.hideNull(equality_test._Elwood, new equality_test._Elwood.new());
-        let o1 = equality_test.hideNull(core.Object, e1);
-        let o2 = equality_test.hideNull(core.Object, new equality_test._Elwood.new());
-        minitest.expect(dart.equals(e1, e1), true);
-        minitest.expect(dart.equals(e1, d1), true);
-        minitest.expect(dart.equals(e1, o1), true);
-        minitest.expect(dart.equals(e1, e2), false);
-        minitest.expect(dart.equals(e1, o2), false);
-        minitest.expect(dart.equals(e1, d2), false);
-        minitest.expect(dart.equals(e1, e2), false);
-        minitest.expect(dart.equals(d1, e1), true);
-        minitest.expect(dart.equals(d1, d1), true);
-        minitest.expect(dart.equals(d1, o1), true);
-        minitest.expect(dart.equals(d1, e2), false);
-        minitest.expect(dart.equals(d1, d2), false);
-        minitest.expect(dart.equals(d1, o2), false);
-        minitest.expect(dart.equals(o1, e1), true);
-        minitest.expect(dart.equals(o1, d1), true);
-        minitest.expect(dart.equals(o1, o1), true);
-        minitest.expect(dart.equals(o1, e2), false);
-        minitest.expect(dart.equals(o1, d2), false);
-        minitest.expect(dart.equals(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal object/object (non-null)', dart.fn(() => {
-        let e1 = new equality_test._Jake.new();
-        let e2 = new equality_test._Elwood.new();
-        let d1 = e1;
-        let d2 = new equality_test._Elwood.new();
-        let o1 = e1;
-        let o2 = new equality_test._Elwood.new();
-        minitest.expect(e1._equals(e1), true);
-        minitest.expect(e1._equals(d1), true);
-        minitest.expect(e1._equals(o1), true);
-        minitest.expect(e1._equals(e2), false);
-        minitest.expect(e1._equals(o2), false);
-        minitest.expect(e1._equals(d2), false);
-        minitest.expect(e1._equals(e2), false);
-        minitest.expect(d1[$_equals](e1), true);
-        minitest.expect(d1[$_equals](d1), true);
-        minitest.expect(d1[$_equals](o1), true);
-        minitest.expect(d1[$_equals](e2), false);
-        minitest.expect(d1[$_equals](d2), false);
-        minitest.expect(d1[$_equals](o2), false);
-        minitest.expect(o1[$_equals](e1), true);
-        minitest.expect(o1[$_equals](d1), true);
-        minitest.expect(o1[$_equals](o1), true);
-        minitest.expect(o1[$_equals](e2), false);
-        minitest.expect(o1[$_equals](d2), false);
-        minitest.expect(o1[$_equals](o2), false);
-      }, VoidToNull()));
-      minitest.test('Equal object/other (static, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test._Jake, new equality_test._Jake.new());
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test.BluesBrother, new equality_test._Norman.new());
-        minitest.expect(dart.equals(e1, s1), false);
-        minitest.expect(dart.equals(e1, s2), false);
-        minitest.expect(dart.equals(e1, i1), false);
-        minitest.expect(dart.equals(e1, i2), false);
-        minitest.expect(dart.equals(e1, l1), false);
-        minitest.expect(dart.equals(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal object/other (static, non-null)', dart.fn(() => {
-        let e1 = new equality_test._Jake.new();
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1._equals(s1), false);
-        minitest.expect(e1._equals(s2), false);
-        minitest.expect(e1._equals(i1), false);
-        minitest.expect(e1._equals(i2), false);
-        minitest.expect(e1._equals(l1), false);
-        minitest.expect(e1._equals(b1), false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-      }, VoidToNull()));
-      minitest.test('Equal object/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = equality_test.hideNull(equality_test._Jake, new equality_test._Jake.new());
-        let d1 = equality_test.hideNull(equality_test._Jake, new equality_test._Jake.new());
-        let s1 = equality_test.hideNull(core.String, "hello");
-        let s2 = equality_test.hideNull(core.String, "");
-        let i1 = equality_test.hideNull(core.int, 3);
-        let i2 = equality_test.hideNull(core.int, 0);
-        let l1 = equality_test.hideNull(core.List, core.List.new(3));
-        let b1 = equality_test.hideNull(equality_test._Norman, new equality_test._Norman.new());
-        minitest.expect(dart.equals(e1, s1), false);
-        minitest.expect(dart.equals(e1, s2), false);
-        minitest.expect(dart.equals(e1, i1), false);
-        minitest.expect(dart.equals(e1, i2), false);
-        minitest.expect(dart.equals(e1, l1), false);
-        minitest.expect(dart.equals(e1, b1), false);
-        minitest.expect(dart.equals(s1, e1), false);
-        minitest.expect(dart.equals(s2, e1), false);
-        minitest.expect(dart.equals(i1, e1), false);
-        minitest.expect(dart.equals(i2, e1), false);
-        minitest.expect(dart.equals(l1, e1), false);
-        minitest.expect(dart.equals(b1, e1), false);
-        minitest.expect(dart.equals(d1, s1), false);
-        minitest.expect(dart.equals(d1, s2), false);
-        minitest.expect(dart.equals(d1, i1), false);
-        minitest.expect(dart.equals(d1, i2), false);
-        minitest.expect(dart.equals(d1, l1), false);
-        minitest.expect(dart.equals(d1, b1), false);
-        minitest.expect(dart.equals(s1, d1), false);
-        minitest.expect(dart.equals(s2, d1), false);
-        minitest.expect(dart.equals(i1, d1), false);
-        minitest.expect(dart.equals(i2, d1), false);
-        minitest.expect(dart.equals(l1, d1), false);
-        minitest.expect(dart.equals(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Equal object/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = new equality_test._Jake.new();
-        let d1 = new equality_test._Jake.new();
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new equality_test._Norman.new();
-        minitest.expect(e1._equals(s1), false);
-        minitest.expect(e1._equals(s2), false);
-        minitest.expect(e1._equals(i1), false);
-        minitest.expect(e1._equals(i2), false);
-        minitest.expect(e1._equals(l1), false);
-        minitest.expect(e1._equals(b1), false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1[$_equals](e1), false);
-        minitest.expect(b1._equals(e1), false);
-        minitest.expect(d1[$_equals](s1), false);
-        minitest.expect(d1[$_equals](s2), false);
-        minitest.expect(d1[$_equals](i1), false);
-        minitest.expect(d1[$_equals](i2), false);
-        minitest.expect(d1[$_equals](l1), false);
-        minitest.expect(d1[$_equals](b1), false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1[$_equals](d1), false);
-        minitest.expect(b1._equals(d1), false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Null/undefined equality', dart.fn(() => {
-      minitest.test('Equal object/other (static, null)', dart.fn(() => {
-        let n = equality_test.hideNull(equality_test.BluesBrother, null);
-        let u1 = equality_test.getUndefined(core.String);
-        let u2 = equality_test.getUndefined(core.int);
-        let u3 = equality_test.getUndefined(core.bool);
-        let u4 = equality_test.getUndefined(core.List);
-        minitest.expect(dart.equals(n, n), true);
-        minitest.expect(dart.equals(n, u1), true);
-        minitest.expect(dart.equals(n, u2), true);
-        minitest.expect(dart.equals(n, u3), true);
-        minitest.expect(dart.equals(n, u4), true);
-        minitest.expect(core.identical(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(dart.equals(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Equal String/other (static, null)', dart.fn(() => {
-        let u1 = equality_test.getUndefined(equality_test.BluesBrother);
-        let n = equality_test.hideNull(core.String, null);
-        let u2 = equality_test.getUndefined(core.int);
-        let u3 = equality_test.getUndefined(core.bool);
-        let u4 = equality_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(dart.equals(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(dart.equals(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Equal int/other (static, null)', dart.fn(() => {
-        let u1 = equality_test.getUndefined(equality_test.BluesBrother);
-        let u2 = equality_test.getUndefined(core.String);
-        let n = equality_test.hideNull(core.int, null);
-        let u3 = equality_test.getUndefined(core.bool);
-        let u4 = equality_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(dart.equals(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(dart.equals(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Equal bool/other (static, null)', dart.fn(() => {
-        let u1 = equality_test.getUndefined(equality_test.BluesBrother);
-        let u2 = equality_test.getUndefined(core.String);
-        let u3 = equality_test.getUndefined(core.int);
-        let n = equality_test.hideNull(core.bool, null);
-        let u4 = equality_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(dart.equals(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(dart.equals(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Equal List/other (static, null)', dart.fn(() => {
-        let u1 = equality_test.getUndefined(equality_test.BluesBrother);
-        let u2 = equality_test.getUndefined(core.String);
-        let u3 = equality_test.getUndefined(core.int);
-        let u4 = equality_test.getUndefined(core.bool);
-        let n = equality_test.hideNull(core.List, null);
-        minitest.expect(dart.equals(n, n), true);
-        minitest.expect(dart.equals(n, u1), true);
-        minitest.expect(dart.equals(n, u2), true);
-        minitest.expect(dart.equals(n, u3), true);
-        minitest.expect(dart.equals(n, u4), true);
-        minitest.expect(dart.equals(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(core.identical(u4, n), true);
-      }, VoidToNull()));
-    }, VoidToNull()));
-  };
-  dart.fn(equality_test.main, VoidTodynamic());
-  dart.trackLibraries("equality_test", {
-    "equality_test.dart": equality_test
-  }, null);
-  // Exports:
-  return {
-    equality_test: equality_test
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/es6_modules.js b/pkg/dev_compiler/test/codegen_expected/es6_modules.js
deleted file mode 100644
index f2cb5f2..0000000
--- a/pkg/dev_compiler/test/codegen_expected/es6_modules.js
+++ /dev/null
@@ -1,72 +0,0 @@
-const _root = Object.create(null);
-export const es6_modules = Object.create(_root);
-import { core, dart, dartx } from 'dart_sdk';
-let B = () => (B = dart.constFn(es6_modules.B$()))();
-let _B = () => (_B = dart.constFn(es6_modules._B$()))();
-let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-let VoidToString = () => (VoidToString = dart.constFn(dart.fnType(core.String, [])))();
-es6_modules.Callback = dart.typedef('Callback', () => dart.fnTypeFuzzy(dart.void, [], {i: core.int}));
-es6_modules.A = class A extends core.Object {};
-(es6_modules.A.new = function() {
-}).prototype = es6_modules.A.prototype;
-dart.addTypeTests(es6_modules.A);
-es6_modules._A = class _A extends core.Object {};
-(es6_modules._A.new = function() {
-}).prototype = es6_modules._A.prototype;
-dart.addTypeTests(es6_modules._A);
-const _is_B_default = Symbol('_is_B_default');
-es6_modules.B$ = dart.generic(T => {
-  class B extends core.Object {}
-  (B.new = function() {
-  }).prototype = B.prototype;
-  dart.addTypeTests(B);
-  B.prototype[_is_B_default] = true;
-  return B;
-});
-es6_modules.B = B();
-dart.addTypeTests(es6_modules.B, _is_B_default);
-const _is__B_default = Symbol('_is__B_default');
-es6_modules._B$ = dart.generic(T => {
-  class _B extends core.Object {}
-  (_B.new = function() {
-  }).prototype = _B.prototype;
-  dart.addTypeTests(_B);
-  _B.prototype[_is__B_default] = true;
-  return _B;
-});
-es6_modules._B = _B();
-dart.addTypeTests(es6_modules._B, _is__B_default);
-es6_modules.f = function() {
-};
-dart.fn(es6_modules.f, VoidTodynamic());
-es6_modules._f = function() {
-};
-dart.fn(es6_modules._f, VoidTodynamic());
-dart.defineLazy(es6_modules, {
-  get constant() {
-    return "abc";
-  },
-  get finalConstant() {
-    return "abc";
-  },
-  get lazy() {
-    return dart.fn(() => {
-      core.print('lazy');
-      return "abc";
-    }, VoidToString())();
-  },
-  get mutable() {
-    return "abc";
-  },
-  set mutable(_) {},
-  get lazyMutable() {
-    return dart.fn(() => {
-      core.print('lazyMutable');
-      return "abc";
-    }, VoidToString())();
-  },
-  set lazyMutable(_) {}
-});
-dart.trackLibraries("es6_modules", {
-  "es6_modules.dart": es6_modules
-}, null);
diff --git a/pkg/dev_compiler/test/codegen_expected/expect.js b/pkg/dev_compiler/test/codegen_expected/expect.js
deleted file mode 100644
index 793ac41..0000000
--- a/pkg/dev_compiler/test/codegen_expected/expect.js
+++ /dev/null
@@ -1,338 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const expect = Object.create(null);
-  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.functionType(dart.void, [])))();
-  let dynamicAnddynamicTobool = () => (dynamicAnddynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic, dart.dynamic])))();
-  expect.Expect = class Expect extends core.Object {
-    static _truncateString(string, start, end, length) {
-      if (dart.notNull(end) - dart.notNull(start) > dart.notNull(length)) {
-        end = dart.notNull(start) + dart.notNull(length);
-      } else if (dart.notNull(end) - dart.notNull(start) < dart.notNull(length)) {
-        let overflow = dart.notNull(length) - (dart.notNull(end) - dart.notNull(start));
-        if (overflow > 10) overflow = 10;
-        start = dart.notNull(start) - ((overflow + 1) / 2)[dartx.truncate]();
-        end = dart.notNull(end) + (overflow / 2)[dartx.truncate]();
-        if (dart.notNull(start) < 0) start = 0;
-        if (dart.notNull(end) > dart.notNull(string[dartx.length])) end = string[dartx.length];
-      }
-      if (start == 0 && end == string[dartx.length]) return string;
-      let buf = new core.StringBuffer();
-      if (dart.notNull(start) > 0) buf.write("...");
-      for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
-        let code = string[dartx.codeUnitAt](i);
-        if (dart.notNull(code) < 32) {
-          buf.write("\\x");
-          buf.write("0123456789abcdef"[dartx.get]((dart.notNull(code) / 16)[dartx.truncate]()));
-          buf.write("0123456789abcdef"[dartx.get](code[dartx['%']](16)));
-        } else {
-          buf.writeCharCode(string[dartx.codeUnitAt](i));
-        }
-      }
-      if (dart.notNull(end) < dart.notNull(string[dartx.length])) buf.write("...");
-      return buf.toString();
-    }
-    static _stringDifference(expected, actual) {
-      if (dart.notNull(expected[dartx.length]) < 20 && dart.notNull(actual[dartx.length]) < 20) return null;
-      for (let i = 0; i < dart.notNull(expected[dartx.length]) && i < dart.notNull(actual[dartx.length]); i++) {
-        if (expected[dartx.codeUnitAt](i) != actual[dartx.codeUnitAt](i)) {
-          let start = i;
-          i++;
-          while (i < dart.notNull(expected[dartx.length]) && i < dart.notNull(actual[dartx.length])) {
-            if (expected[dartx.codeUnitAt](i) == actual[dartx.codeUnitAt](i)) break;
-            i++;
-          }
-          let end = i;
-          let truncExpected = expect.Expect._truncateString(expected, start, end, 20);
-          let truncActual = expect.Expect._truncateString(actual, start, end, 20);
-          return dart.str`at index ${start}: Expected <${truncExpected}>, ` + dart.str`Found: <${truncActual}>`;
-        }
-      }
-      return null;
-    }
-    static equals(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      if (dart.equals(expected, actual)) return;
-      let msg = expect.Expect._getMessage(reason);
-      if (typeof expected == 'string' && typeof actual == 'string') {
-        let stringDifference = expect.Expect._stringDifference(expected, actual);
-        if (stringDifference != null) {
-          expect.Expect._fail(dart.str`Expect.equals(${stringDifference}${msg}) fails.`);
-        }
-      }
-      expect.Expect._fail(dart.str`Expect.equals(expected: <${expected}>, actual: <${actual}>${msg}) fails.`);
-    }
-    static isTrue(actual, reason) {
-      if (reason === void 0) reason = null;
-      if (dart.test(expect._identical(actual, true))) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.isTrue(${actual}${msg}) fails.`);
-    }
-    static isFalse(actual, reason) {
-      if (reason === void 0) reason = null;
-      if (dart.test(expect._identical(actual, false))) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.isFalse(${actual}${msg}) fails.`);
-    }
-    static isNull(actual, reason) {
-      if (reason === void 0) reason = null;
-      if (null == actual) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.isNull(actual: <${actual}>${msg}) fails.`);
-    }
-    static isNotNull(actual, reason) {
-      if (reason === void 0) reason = null;
-      if (null != actual) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.isNotNull(actual: <${actual}>${msg}) fails.`);
-    }
-    static identical(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      if (dart.test(expect._identical(expected, actual))) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.identical(expected: <${expected}>, actual: <${actual}>${msg}) ` + "fails.");
-    }
-    static fail(msg) {
-      expect.Expect._fail(dart.str`Expect.fail('${msg}')`);
-    }
-    static approxEquals(expected, actual, tolerance, reason) {
-      if (tolerance === void 0) tolerance = null;
-      if (reason === void 0) reason = null;
-      if (tolerance == null) {
-        tolerance = (dart.notNull(expected) / 10000.0)[dartx.abs]();
-      }
-      if (dart.notNull((dart.notNull(expected) - dart.notNull(actual))[dartx.abs]()) <= dart.notNull(tolerance)) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.approxEquals(expected:<${expected}>, actual:<${actual}>, ` + dart.str`tolerance:<${tolerance}>${msg}) fails`);
-    }
-    static notEquals(unexpected, actual, reason) {
-      if (reason === void 0) reason = null;
-      if (!dart.equals(unexpected, actual)) return;
-      let msg = expect.Expect._getMessage(reason);
-      expect.Expect._fail(dart.str`Expect.notEquals(unexpected: <${unexpected}>, actual:<${actual}>${msg}) ` + "fails.");
-    }
-    static listEquals(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      let msg = expect.Expect._getMessage(reason);
-      let n = dart.notNull(expected[dartx.length]) < dart.notNull(actual[dartx.length]) ? expected[dartx.length] : actual[dartx.length];
-      for (let i = 0; i < dart.notNull(n); i++) {
-        if (!dart.equals(expected[dartx.get](i), actual[dartx.get](i))) {
-          expect.Expect._fail(dart.str`Expect.listEquals(at index ${i}, ` + dart.str`expected: <${expected[dartx.get](i)}>, actual: <${actual[dartx.get](i)}>${msg}) fails`);
-        }
-      }
-      if (expected[dartx.length] != actual[dartx.length]) {
-        expect.Expect._fail('Expect.listEquals(list length, ' + dart.str`expected: <${expected[dartx.length]}>, actual: <${actual[dartx.length]}>${msg}) ` + 'fails: Next element <' + dart.str`${dart.notNull(expected[dartx.length]) > dart.notNull(n) ? expected[dartx.get](n) : actual[dartx.get](n)}>`);
-      }
-    }
-    static mapEquals(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      let msg = expect.Expect._getMessage(reason);
-      for (let key of expected[dartx.keys]) {
-        if (!dart.test(actual[dartx.containsKey](key))) {
-          expect.Expect._fail(dart.str`Expect.mapEquals(missing expected key: <${key}>${msg}) fails`);
-        }
-        expect.Expect.equals(expected[dartx.get](key), actual[dartx.get](key));
-      }
-      for (let key of actual[dartx.keys]) {
-        if (!dart.test(expected[dartx.containsKey](key))) {
-          expect.Expect._fail(dart.str`Expect.mapEquals(unexpected key: <${key}>${msg}) fails`);
-        }
-      }
-    }
-    static stringEquals(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      if (expected == actual) return;
-      let msg = expect.Expect._getMessage(reason);
-      let defaultMessage = dart.str`Expect.stringEquals(expected: <${expected}>", <${actual}>${msg}) fails`;
-      if (expected == null || actual == null) {
-        expect.Expect._fail(dart.str`${defaultMessage}`);
-      }
-      let left = 0;
-      let right = 0;
-      let eLen = expected[dartx.length];
-      let aLen = actual[dartx.length];
-      while (true) {
-        if (left == eLen || left == aLen || expected[dartx.get](left) != actual[dartx.get](left)) {
-          break;
-        }
-        left++;
-      }
-      let eRem = dart.notNull(eLen) - left;
-      let aRem = dart.notNull(aLen) - left;
-      while (true) {
-        if (right == eRem || right == aRem || expected[dartx.get](dart.notNull(eLen) - right - 1) != actual[dartx.get](dart.notNull(aLen) - right - 1)) {
-          break;
-        }
-        right++;
-      }
-      let leftSnippet = expected[dartx.substring](left < 10 ? 0 : left - 10, left);
-      let rightSnippetLength = right < 10 ? right : 10;
-      let rightSnippet = expected[dartx.substring](dart.notNull(eLen) - right, dart.notNull(eLen) - right + rightSnippetLength);
-      let eSnippet = expected[dartx.substring](left, dart.notNull(eLen) - right);
-      let aSnippet = actual[dartx.substring](left, dart.notNull(aLen) - right);
-      if (dart.notNull(eSnippet[dartx.length]) > 43) {
-        eSnippet = dart.notNull(eSnippet[dartx.substring](0, 20)) + "..." + dart.notNull(eSnippet[dartx.substring](dart.notNull(eSnippet[dartx.length]) - 20));
-      }
-      if (dart.notNull(aSnippet[dartx.length]) > 43) {
-        aSnippet = dart.notNull(aSnippet[dartx.substring](0, 20)) + "..." + dart.notNull(aSnippet[dartx.substring](dart.notNull(aSnippet[dartx.length]) - 20));
-      }
-      let leftLead = "...";
-      let rightTail = "...";
-      if (left <= 10) leftLead = "";
-      if (right <= 10) rightTail = "";
-      let diff = dart.str`\nDiff (${left}..${dart.notNull(eLen) - right}/${dart.notNull(aLen) - right}):\n` + dart.str`${leftLead}${leftSnippet}[ ${eSnippet} ]${rightSnippet}${rightTail}\n` + dart.str`${leftLead}${leftSnippet}[ ${aSnippet} ]${rightSnippet}${rightTail}`;
-      expect.Expect._fail(dart.str`${defaultMessage}${diff}`);
-    }
-    static setEquals(expected, actual, reason) {
-      if (reason === void 0) reason = null;
-      let missingSet = core.Set.from(expected);
-      missingSet.removeAll(actual);
-      let extraSet = core.Set.from(actual);
-      extraSet.removeAll(expected);
-      if (dart.test(extraSet.isEmpty) && dart.test(missingSet.isEmpty)) return;
-      let msg = expect.Expect._getMessage(reason);
-      let sb = new core.StringBuffer(dart.str`Expect.setEquals(${msg}) fails`);
-      if (!dart.test(missingSet.isEmpty)) {
-        sb.write('\nExpected collection does not contain: ');
-      }
-      for (let val of missingSet) {
-        sb.write(dart.str`${val} `);
-      }
-      if (!dart.test(extraSet.isEmpty)) {
-        sb.write('\nExpected collection should not contain: ');
-      }
-      for (let val of extraSet) {
-        sb.write(dart.str`${val} `);
-      }
-      expect.Expect._fail(sb.toString());
-    }
-    static deepEquals(expected, actual) {
-      if (dart.equals(expected, actual)) return;
-      if (typeof expected == 'string' && typeof actual == 'string') {
-        expect.Expect.stringEquals(expected, actual);
-      } else if (core.Iterable.is(expected) && core.Iterable.is(actual)) {
-        let expectedLength = expected[dartx.length];
-        let actualLength = actual[dartx.length];
-        let length = dart.notNull(expectedLength) < dart.notNull(actualLength) ? expectedLength : actualLength;
-        for (let i = 0; i < dart.notNull(length); i++) {
-          expect.Expect.deepEquals(expected[dartx.elementAt](i), actual[dartx.elementAt](i));
-        }
-        if (expectedLength != actualLength) {
-          let nextElement = (dart.notNull(expectedLength) > dart.notNull(length) ? expected : actual)[dartx.elementAt](length);
-          expect.Expect._fail('Expect.deepEquals(list length, ' + dart.str`expected: <${expectedLength}>, actual: <${actualLength}>) ` + dart.str`fails: Next element <${nextElement}>`);
-        }
-      } else if (core.Map.is(expected) && core.Map.is(actual)) {
-        for (let key of expected[dartx.keys]) {
-          if (!dart.test(actual[dartx.containsKey](key))) {
-            expect.Expect._fail(dart.str`Expect.deepEquals(missing expected key: <${key}>) fails`);
-          }
-          expect.Expect.deepEquals(expected[dartx.get](key), actual[dartx.get](key));
-        }
-        for (let key of actual[dartx.keys]) {
-          if (!dart.test(expected[dartx.containsKey](key))) {
-            expect.Expect._fail(dart.str`Expect.deepEquals(unexpected key: <${key}>) fails`);
-          }
-        }
-      } else {
-        expect.Expect._fail(dart.str`Expect.deepEquals(expected: <${expected}>, actual: <${actual}>) ` + "fails.");
-      }
-    }
-    static throws(f, check, reason) {
-      if (check === void 0) check = null;
-      if (reason === void 0) reason = null;
-      let msg = reason == null ? "" : dart.str`(${reason})`;
-      if (!expect._Nullary.is(f)) {
-        expect.Expect._fail(dart.str`Expect.throws${msg}: Function f not callable with zero arguments`);
-      }
-      try {
-        f();
-      } catch (e) {
-        let s = dart.stackTrace(e);
-        if (check != null) {
-          if (!dart.test(dart.dcall(check, e))) {
-            expect.Expect._fail(dart.str`Expect.throws${msg}: Unexpected '${e}'\n${s}`);
-          }
-        }
-        return;
-      }
-
-      expect.Expect._fail(dart.str`Expect.throws${msg} fails: Did not throw`);
-    }
-    static _getMessage(reason) {
-      return reason == null ? "" : dart.str`, '${reason}'`;
-    }
-    static _fail(message) {
-      dart.throw(new expect.ExpectException(message));
-    }
-  };
-  dart.setSignature(expect.Expect, {
-    statics: () => ({
-      _truncateString: dart.definiteFunctionType(core.String, [core.String, core.int, core.int, core.int]),
-      _stringDifference: dart.definiteFunctionType(core.String, [core.String, core.String]),
-      equals: dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic], [core.String]),
-      isTrue: dart.definiteFunctionType(dart.void, [dart.dynamic], [core.String]),
-      isFalse: dart.definiteFunctionType(dart.void, [dart.dynamic], [core.String]),
-      isNull: dart.definiteFunctionType(dart.void, [dart.dynamic], [core.String]),
-      isNotNull: dart.definiteFunctionType(dart.void, [dart.dynamic], [core.String]),
-      identical: dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic], [core.String]),
-      fail: dart.definiteFunctionType(dart.void, [core.String]),
-      approxEquals: dart.definiteFunctionType(dart.void, [core.num, core.num], [core.num, core.String]),
-      notEquals: dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic], [core.String]),
-      listEquals: dart.definiteFunctionType(dart.void, [core.List, core.List], [core.String]),
-      mapEquals: dart.definiteFunctionType(dart.void, [core.Map, core.Map], [core.String]),
-      stringEquals: dart.definiteFunctionType(dart.void, [core.String, core.String], [core.String]),
-      setEquals: dart.definiteFunctionType(dart.void, [core.Iterable, core.Iterable], [core.String]),
-      deepEquals: dart.definiteFunctionType(dart.void, [core.Object, core.Object]),
-      throws: dart.definiteFunctionType(dart.void, [VoidTovoid()], [expect._CheckExceptionFn, core.String]),
-      _getMessage: dart.definiteFunctionType(core.String, [core.String]),
-      _fail: dart.definiteFunctionType(dart.void, [core.String])
-    }),
-    names: ['_truncateString', '_stringDifference', 'equals', 'isTrue', 'isFalse', 'isNull', 'isNotNull', 'identical', 'fail', 'approxEquals', 'notEquals', 'listEquals', 'mapEquals', 'stringEquals', 'setEquals', 'deepEquals', 'throws', '_getMessage', '_fail']
-  });
-  expect._identical = function(a, b) {
-    return core.identical(a, b);
-  };
-  dart.fn(expect._identical, dynamicAnddynamicTobool());
-  expect._CheckExceptionFn = dart.typedef('_CheckExceptionFn', () => dart.functionType(core.bool, [dart.dynamic]));
-  expect._Nullary = dart.typedef('_Nullary', () => dart.functionType(dart.dynamic, []));
-  expect.ExpectException = class ExpectException extends core.Object {
-    new(message) {
-      this.message = message;
-    }
-    toString() {
-      return this.message;
-    }
-  };
-  expect.ExpectException[dart.implements] = () => [core.Exception];
-  dart.setSignature(expect.ExpectException, {
-    constructors: () => ({new: dart.definiteFunctionType(expect.ExpectException, [core.String])}),
-    fields: () => ({message: core.String})
-  });
-  expect.NoInline = class NoInline extends core.Object {
-    new() {
-    }
-  };
-  dart.setSignature(expect.NoInline, {
-    constructors: () => ({new: dart.definiteFunctionType(expect.NoInline, [])})
-  });
-  expect.TrustTypeAnnotations = class TrustTypeAnnotations extends core.Object {
-    new() {
-    }
-  };
-  dart.setSignature(expect.TrustTypeAnnotations, {
-    constructors: () => ({new: dart.definiteFunctionType(expect.TrustTypeAnnotations, [])})
-  });
-  expect.AssumeDynamic = class AssumeDynamic extends core.Object {
-    new() {
-    }
-  };
-  dart.setSignature(expect.AssumeDynamic, {
-    constructors: () => ({new: dart.definiteFunctionType(expect.AssumeDynamic, [])})
-  });
-  // Exports:
-  return {
-    expect: expect
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/identity_test.js b/pkg/dev_compiler/test/codegen_expected/identity_test.js
deleted file mode 100644
index bc77a8b..0000000
--- a/pkg/dev_compiler/test/codegen_expected/identity_test.js
+++ /dev/null
@@ -1,1158 +0,0 @@
-define(['dart_sdk', 'expect'], function(dart_sdk, expect) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const minitest = expect.minitest;
-  const _root = Object.create(null);
-  const identity_test = Object.create(_root);
-  const $_equals = dartx._equals;
-  const $_get = dartx._get;
-  let TToT = () => (TToT = dart.constFn(dart.gFnType(T => [T, [T]])))();
-  let VoidToT = () => (VoidToT = dart.constFn(dart.gFnType(T => [T, []])))();
-  let VoidToNull = () => (VoidToNull = dart.constFn(dart.fnType(core.Null, [])))();
-  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-  identity_test.Music = class Music extends core.Object {
-    toString() {
-      return {
-        0: "Music.country",
-        1: "Music.western"
-      }[this.index];
-    }
-  };
-  (identity_test.Music.new = function(x) {
-    this.index = x;
-  }).prototype = identity_test.Music.prototype;
-  dart.addTypeTests(identity_test.Music);
-  dart.setFieldSignature(identity_test.Music, () => ({
-    __proto__: dart.getFields(identity_test.Music.__proto__),
-    index: dart.finalFieldType(core.int)
-  }));
-  dart.defineExtensionMethods(identity_test.Music, ['toString']);
-  identity_test.Music.country = dart.const(new identity_test.Music.new(0));
-  identity_test.Music.western = dart.const(new identity_test.Music.new(1));
-  identity_test.Music.values = dart.constList([identity_test.Music.country, identity_test.Music.western], identity_test.Music);
-  identity_test.BluesBrother = class BluesBrother extends core.Object {};
-  (identity_test.BluesBrother.new = function() {
-  }).prototype = identity_test.BluesBrother.prototype;
-  dart.addTypeTests(identity_test.BluesBrother);
-  identity_test._Jake = class _Jake extends identity_test.BluesBrother {};
-  (identity_test._Jake.new = function() {
-  }).prototype = identity_test._Jake.prototype;
-  dart.addTypeTests(identity_test._Jake);
-  identity_test._Elwood = class _Elwood extends identity_test.BluesBrother {
-    _equals(other) {
-      if (other == null) return false;
-      return identity_test._Elwood.is(other);
-    }
-  };
-  (identity_test._Elwood.new = function() {
-  }).prototype = identity_test._Elwood.prototype;
-  dart.addTypeTests(identity_test._Elwood);
-  dart.setMethodSignature(identity_test._Elwood, () => ({
-    __proto__: dart.getMethods(identity_test._Elwood.__proto__),
-    _equals: dart.fnType(core.bool, [core.Object]),
-    [$_equals]: dart.fnType(core.bool, [core.Object])
-  }));
-  dart.defineExtensionMethods(identity_test._Elwood, ['_equals']);
-  identity_test._Norman = class _Norman extends identity_test.BluesBrother {};
-  (identity_test._Norman.new = function() {
-  }).prototype = identity_test._Norman.prototype;
-  dart.addTypeTests(identity_test._Norman);
-  identity_test.hideNull = function(T, x) {
-    return x;
-  };
-  dart.fn(identity_test.hideNull, TToT());
-  identity_test.getUndefined = function(T) {
-    return T._check(core.List.new(1)[$_get](0));
-  };
-  dart.fn(identity_test.getUndefined, VoidToT());
-  identity_test.main = function() {
-    minitest.group('Enum identity', dart.fn(() => {
-      minitest.test('Identical enum/enum (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test.Music, identity_test.Music.country);
-        let e2 = identity_test.hideNull(identity_test.Music, identity_test.Music.western);
-        let d1 = identity_test.hideNull(identity_test.Music, identity_test.Music.country);
-        let d2 = identity_test.hideNull(identity_test.Music, identity_test.Music.western);
-        let o1 = identity_test.hideNull(core.Object, identity_test.Music.country);
-        let o2 = identity_test.hideNull(core.Object, identity_test.Music.western);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical enum/enum (non-null)', dart.fn(() => {
-        let e1 = identity_test.Music.country;
-        let e2 = identity_test.Music.western;
-        let d1 = identity_test.Music.country;
-        let d2 = identity_test.Music.western;
-        let o1 = identity_test.Music.country;
-        let o2 = identity_test.Music.western;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical enum/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test.Music, identity_test.Music.country);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(e1 == l1, false);
-        minitest.expect(e1 == b1, false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(l1 == e1, false);
-        minitest.expect(b1 == e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical enum/other (static, non-null)', dart.fn(() => {
-        let e1 = identity_test.Music.country;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical enum/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test.Music, identity_test.Music.country);
-        let d1 = identity_test.hideNull(identity_test.Music, identity_test.Music.country);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical enum/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = identity_test.Music.country;
-        let d1 = identity_test.Music.country;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('String identity', dart.fn(() => {
-      minitest.test('Identical string/string (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let e2 = identity_test.hideNull(core.String, "Band");
-        let d1 = identity_test.hideNull(core.String, "The");
-        let d2 = identity_test.hideNull(core.String, "Band");
-        let o1 = identity_test.hideNull(core.Object, "The");
-        let o2 = identity_test.hideNull(core.Object, "Band");
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/string (non-null)', dart.fn(() => {
-        let e1 = "The";
-        let e2 = "Band";
-        let d1 = "The";
-        let d2 = "Band";
-        let o1 = "The";
-        let o2 = "Band";
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(e1 == s1, false);
-        minitest.expect(e1 == s2, false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(s1 == e1, false);
-        minitest.expect(s2 == e1, false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (static, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let d1 = identity_test.hideNull(core.String, "The");
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let d1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Boolean identity', dart.fn(() => {
-      minitest.test('Identical bool/bool (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.bool, true);
-        let e2 = identity_test.hideNull(core.bool, false);
-        let d1 = identity_test.hideNull(core.bool, true);
-        let d2 = identity_test.hideNull(core.bool, false);
-        let o1 = identity_test.hideNull(core.Object, true);
-        let o2 = identity_test.hideNull(core.Object, false);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical bool/bool (non-null)', dart.fn(() => {
-        let e1 = true;
-        let e2 = false;
-        let d1 = true;
-        let d2 = false;
-        let o1 = true;
-        let o2 = false;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical bool/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.bool, true);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Identical bool/other (static, non-null)', dart.fn(() => {
-        let e1 = true;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical bool/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.bool, true);
-        let d1 = identity_test.hideNull(core.bool, true);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical bool/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = true;
-        let d1 = true;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('String identity', dart.fn(() => {
-      minitest.test('Identical string/string (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let e2 = identity_test.hideNull(core.String, "Band");
-        let d1 = identity_test.hideNull(core.String, "The");
-        let d2 = identity_test.hideNull(core.String, "Band");
-        let o1 = identity_test.hideNull(core.Object, "The");
-        let o2 = identity_test.hideNull(core.Object, "Band");
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/string (non-null)', dart.fn(() => {
-        let e1 = "The";
-        let e2 = "Band";
-        let d1 = "The";
-        let d2 = "Band";
-        let o1 = "The";
-        let o2 = "Band";
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(e1 == s1, false);
-        minitest.expect(e1 == s2, false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(s1 == e1, false);
-        minitest.expect(s2 == e1, false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (static, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.String, "The");
-        let d1 = identity_test.hideNull(core.String, "The");
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical string/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = "The";
-        let d1 = "The";
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Number identity', dart.fn(() => {
-      minitest.test('Identical int/int (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.int, 11);
-        let e2 = identity_test.hideNull(core.int, 12);
-        let d1 = identity_test.hideNull(core.int, 11);
-        let d2 = identity_test.hideNull(core.int, 12);
-        let o1 = identity_test.hideNull(core.Object, 11);
-        let o2 = identity_test.hideNull(core.Object, 12);
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical int/int (non-null)', dart.fn(() => {
-        let e1 = 11;
-        let e2 = 12;
-        let d1 = 11;
-        let d2 = 12;
-        let o1 = 11;
-        let o2 = 12;
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical int/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.int, 11);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(e1 == i1, false);
-        minitest.expect(e1 == i2, false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(i1 == e1, false);
-        minitest.expect(i2 == e1, false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-      }, VoidToNull()));
-      minitest.test('Identical int/other (static, non-null)', dart.fn(() => {
-        let e1 = 11;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical int/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(core.int, 11);
-        let d1 = identity_test.hideNull(core.int, 11);
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical int/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = 11;
-        let d1 = 11;
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Object identity', dart.fn(() => {
-      minitest.test('Identical object/object (nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test._Jake, new identity_test._Jake.new());
-        let e2 = identity_test.hideNull(identity_test._Elwood, new identity_test._Elwood.new());
-        let d1 = identity_test.hideNull(identity_test._Jake, e1);
-        let d2 = identity_test.hideNull(identity_test._Elwood, new identity_test._Elwood.new());
-        let o1 = identity_test.hideNull(core.Object, e1);
-        let o2 = identity_test.hideNull(core.Object, new identity_test._Elwood.new());
-        minitest.expect(e1 == e1, true);
-        minitest.expect(core.identical(e1, d1), true);
-        minitest.expect(core.identical(e1, o1), true);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(e1, o2), false);
-        minitest.expect(core.identical(e1, d2), false);
-        minitest.expect(e1 == e2, false);
-        minitest.expect(core.identical(d1, e1), true);
-        minitest.expect(core.identical(d1, d1), true);
-        minitest.expect(core.identical(d1, o1), true);
-        minitest.expect(core.identical(d1, e2), false);
-        minitest.expect(core.identical(d1, d2), false);
-        minitest.expect(core.identical(d1, o2), false);
-        minitest.expect(core.identical(o1, e1), true);
-        minitest.expect(core.identical(o1, d1), true);
-        minitest.expect(core.identical(o1, o1), true);
-        minitest.expect(core.identical(o1, e2), false);
-        minitest.expect(core.identical(o1, d2), false);
-        minitest.expect(core.identical(o1, o2), false);
-      }, VoidToNull()));
-      minitest.test('Identical object/object (non-null)', dart.fn(() => {
-        let e1 = new identity_test._Jake.new();
-        let e2 = new identity_test._Elwood.new();
-        let d1 = e1;
-        let d2 = new identity_test._Elwood.new();
-        let o1 = e1;
-        let o2 = new identity_test._Elwood.new();
-        minitest.expect(e1 === e1, true);
-        minitest.expect(e1 === d1, true);
-        minitest.expect(e1 === o1, true);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(e1 === o2, false);
-        minitest.expect(e1 === d2, false);
-        minitest.expect(e1 === e2, false);
-        minitest.expect(d1 === e1, true);
-        minitest.expect(d1 === d1, true);
-        minitest.expect(d1 === o1, true);
-        minitest.expect(d1 === e2, false);
-        minitest.expect(d1 === d2, false);
-        minitest.expect(d1 === o2, false);
-        minitest.expect(o1 === e1, true);
-        minitest.expect(o1 === d1, true);
-        minitest.expect(o1 === o1, true);
-        minitest.expect(o1 === e2, false);
-        minitest.expect(o1 === d2, false);
-        minitest.expect(o1 === o2, false);
-      }, VoidToNull()));
-      minitest.test('Identical object/other (static, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test._Jake, new identity_test._Jake.new());
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test.BluesBrother, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(e1 == l1, false);
-        minitest.expect(e1 == b1, false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(l1 == e1, false);
-        minitest.expect(b1 == e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical object/other (static, non-null)', dart.fn(() => {
-        let e1 = new identity_test._Jake.new();
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-      }, VoidToNull()));
-      minitest.test('Identical object/other (dynamic, nullable)', dart.fn(() => {
-        let e1 = identity_test.hideNull(identity_test._Jake, new identity_test._Jake.new());
-        let d1 = identity_test.hideNull(identity_test._Jake, new identity_test._Jake.new());
-        let s1 = identity_test.hideNull(core.String, "hello");
-        let s2 = identity_test.hideNull(core.String, "");
-        let i1 = identity_test.hideNull(core.int, 3);
-        let i2 = identity_test.hideNull(core.int, 0);
-        let l1 = identity_test.hideNull(core.List, core.List.new(3));
-        let b1 = identity_test.hideNull(identity_test._Norman, new identity_test._Norman.new());
-        minitest.expect(core.identical(e1, s1), false);
-        minitest.expect(core.identical(e1, s2), false);
-        minitest.expect(core.identical(e1, i1), false);
-        minitest.expect(core.identical(e1, i2), false);
-        minitest.expect(core.identical(e1, l1), false);
-        minitest.expect(core.identical(e1, b1), false);
-        minitest.expect(core.identical(s1, e1), false);
-        minitest.expect(core.identical(s2, e1), false);
-        minitest.expect(core.identical(i1, e1), false);
-        minitest.expect(core.identical(i2, e1), false);
-        minitest.expect(core.identical(l1, e1), false);
-        minitest.expect(core.identical(b1, e1), false);
-        minitest.expect(core.identical(d1, s1), false);
-        minitest.expect(core.identical(d1, s2), false);
-        minitest.expect(core.identical(d1, i1), false);
-        minitest.expect(core.identical(d1, i2), false);
-        minitest.expect(core.identical(d1, l1), false);
-        minitest.expect(core.identical(d1, b1), false);
-        minitest.expect(core.identical(s1, d1), false);
-        minitest.expect(core.identical(s2, d1), false);
-        minitest.expect(core.identical(i1, d1), false);
-        minitest.expect(core.identical(i2, d1), false);
-        minitest.expect(core.identical(l1, d1), false);
-        minitest.expect(core.identical(b1, d1), false);
-      }, VoidToNull()));
-      minitest.test('Identical object/other (dynamic, non-null)', dart.fn(() => {
-        let e1 = new identity_test._Jake.new();
-        let d1 = new identity_test._Jake.new();
-        let s1 = "hello";
-        let s2 = "";
-        let i1 = 3;
-        let i2 = 0;
-        let l1 = core.List.new(3);
-        let b1 = new identity_test._Norman.new();
-        minitest.expect(e1 === s1, false);
-        minitest.expect(e1 === s2, false);
-        minitest.expect(e1 === i1, false);
-        minitest.expect(e1 === i2, false);
-        minitest.expect(e1 === l1, false);
-        minitest.expect(e1 === b1, false);
-        minitest.expect(s1 === e1, false);
-        minitest.expect(s2 === e1, false);
-        minitest.expect(i1 === e1, false);
-        minitest.expect(i2 === e1, false);
-        minitest.expect(l1 === e1, false);
-        minitest.expect(b1 === e1, false);
-        minitest.expect(d1 === s1, false);
-        minitest.expect(d1 === s2, false);
-        minitest.expect(d1 === i1, false);
-        minitest.expect(d1 === i2, false);
-        minitest.expect(d1 === l1, false);
-        minitest.expect(d1 === b1, false);
-        minitest.expect(s1 === d1, false);
-        minitest.expect(s2 === d1, false);
-        minitest.expect(i1 === d1, false);
-        minitest.expect(i2 === d1, false);
-        minitest.expect(l1 === d1, false);
-        minitest.expect(b1 === d1, false);
-      }, VoidToNull()));
-    }, VoidToNull()));
-    minitest.group('Null/undefined identity', dart.fn(() => {
-      minitest.test('Identical object/other (static, null)', dart.fn(() => {
-        let n = identity_test.hideNull(identity_test.BluesBrother, null);
-        let u1 = identity_test.getUndefined(core.String);
-        let u2 = identity_test.getUndefined(core.int);
-        let u3 = identity_test.getUndefined(core.bool);
-        let u4 = identity_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(n == u4, true);
-        minitest.expect(core.identical(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(u4 == n, true);
-      }, VoidToNull()));
-      minitest.test('Identical String/other (static, null)', dart.fn(() => {
-        let u1 = identity_test.getUndefined(identity_test.BluesBrother);
-        let n = identity_test.hideNull(core.String, null);
-        let u2 = identity_test.getUndefined(core.int);
-        let u3 = identity_test.getUndefined(core.bool);
-        let u4 = identity_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(core.identical(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(core.identical(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Identical int/other (static, null)', dart.fn(() => {
-        let u1 = identity_test.getUndefined(identity_test.BluesBrother);
-        let u2 = identity_test.getUndefined(core.String);
-        let n = identity_test.hideNull(core.int, null);
-        let u3 = identity_test.getUndefined(core.bool);
-        let u4 = identity_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(core.identical(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(core.identical(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Identical bool/other (static, null)', dart.fn(() => {
-        let u1 = identity_test.getUndefined(identity_test.BluesBrother);
-        let u2 = identity_test.getUndefined(core.String);
-        let u3 = identity_test.getUndefined(core.int);
-        let n = identity_test.hideNull(core.bool, null);
-        let u4 = identity_test.getUndefined(core.List);
-        minitest.expect(n == n, true);
-        minitest.expect(core.identical(n, u1), true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(core.identical(u1, n), true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(core.identical(u4, n), true);
-      }, VoidToNull()));
-      minitest.test('Identical List/other (static, null)', dart.fn(() => {
-        let u1 = identity_test.getUndefined(identity_test.BluesBrother);
-        let u2 = identity_test.getUndefined(core.String);
-        let u3 = identity_test.getUndefined(core.int);
-        let u4 = identity_test.getUndefined(core.bool);
-        let n = identity_test.hideNull(core.List, null);
-        minitest.expect(n == n, true);
-        minitest.expect(n == u1, true);
-        minitest.expect(core.identical(n, u2), true);
-        minitest.expect(core.identical(n, u3), true);
-        minitest.expect(core.identical(n, u4), true);
-        minitest.expect(u1 == n, true);
-        minitest.expect(core.identical(u2, n), true);
-        minitest.expect(core.identical(u3, n), true);
-        minitest.expect(core.identical(u4, n), true);
-      }, VoidToNull()));
-    }, VoidToNull()));
-  };
-  dart.fn(identity_test.main, VoidTodynamic());
-  dart.trackLibraries("identity_test", {
-    "identity_test.dart": identity_test
-  }, null);
-  // Exports:
-  return {
-    identity_test: identity_test
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/map_keys.js b/pkg/dev_compiler/test/codegen_expected/map_keys.js
deleted file mode 100644
index 1e4b655..0000000
--- a/pkg/dev_compiler/test/codegen_expected/map_keys.js
+++ /dev/null
@@ -1,31 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const _js_helper = dart_sdk._js_helper;
-  const math = dart_sdk.math;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const map_keys = Object.create(_root);
-  let IdentityMapOfString$int = () => (IdentityMapOfString$int = dart.constFn(_js_helper.IdentityMap$(core.String, core.int)))();
-  let IdentityMapOfint$int = () => (IdentityMapOfint$int = dart.constFn(_js_helper.IdentityMap$(core.int, core.int)))();
-  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-  map_keys.main = function() {
-    core.print(new (IdentityMapOfString$int()).from(['1', 2, '3', 4, '5', 6]));
-    core.print(new (IdentityMapOfint$int()).from([1, 2, 3, 4, 5, 6]));
-    core.print(new (IdentityMapOfString$int()).from(['1', 2, dart.str`${dart.notNull(math.Random.new().nextInt(2)) + 2}`, 4, '5', 6]));
-    let x = '3';
-    core.print(new (IdentityMapOfString$int()).from(['1', 2, x, 4, '5', 6]));
-    core.print(new (IdentityMapOfString$int()).from(['1', 2, null, 4, '5', 6]));
-  };
-  dart.fn(map_keys.main, VoidTodynamic());
-  dart.trackLibraries("map_keys", {
-    "map_keys.dart": map_keys
-  }, null);
-  // Exports:
-  return {
-    map_keys: map_keys
-  };
-});
-
-//# sourceMappingURL=map_keys.js.map
diff --git a/pkg/dev_compiler/test/codegen_expected/map_keys.js.map b/pkg/dev_compiler/test/codegen_expected/map_keys.js.map
deleted file mode 100644
index 149356b..0000000
--- a/pkg/dev_compiler/test/codegen_expected/map_keys.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../gen/codegen_tests/map_keys.dart"],"names":["print","x"],"mappings":";;;;;;;;;;;;kBAMI,WAAG;AAEL,IAAA,AAAAA,UAAK,CAAC,sCAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;AACjC,AACE,IAAA,AAAAA,UAAK,CAAC,mCAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;AAC3B,AACE,IAAA,AAAAA,UAAK,CAAC,sCAAC,GAAG,EAAE,CAAC,EAAE,WAAC,aAAE,AAAA,iBAAY,SAAS,CAAC,CAAC,IAAG,CAAC,AAAC,EAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;AAC9D,AAAE,YAAW,GAAG;AAChB,AACE,IAAAA,AAAA,UAAK,CAAC,sCAAC,GAAG,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;AAC/B,AACE,IAAA,AAAAD,UAAK,CAAC,sCAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC;AAClC,GACA,AAAA","file":"map_keys.js"}
\ No newline at end of file
diff --git a/pkg/dev_compiler/test/codegen_expected/minitest.js b/pkg/dev_compiler/test/codegen_expected/minitest.js
deleted file mode 100644
index f251c5e..0000000
--- a/pkg/dev_compiler/test/codegen_expected/minitest.js
+++ /dev/null
@@ -1,229 +0,0 @@
-define(['dart_sdk', 'expect'], function(dart_sdk, expect) {
-  'use strict';
-  const core = dart_sdk.core;
-  const _interceptors = dart_sdk._interceptors;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const expect$ = expect.expect;
-  const minitest = Object.create(null);
-  let JSArrayOf_Group = () => (JSArrayOf_Group = dart.constFn(_interceptors.JSArray$(minitest._Group)))();
-  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.functionType(dart.dynamic, [])))();
-  let ObjectTobool = () => (ObjectTobool = dart.constFn(dart.functionType(core.bool, [core.Object])))();
-  let ObjectTovoid = () => (ObjectTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object])))();
-  let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
-  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
-  let StringAndFnTovoid = () => (StringAndFnTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String, VoidTodynamic()])))();
-  let FnTovoid = () => (FnTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [VoidTodynamic()])))();
-  let ObjectAndObject__Tovoid = () => (ObjectAndObject__Tovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object, core.Object], {reason: core.String})))();
-  let StringTovoid = () => (StringTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String])))();
-  let ObjectToObject = () => (ObjectToObject = dart.constFn(dart.definiteFunctionType(core.Object, [core.Object])))();
-  let Fn__ToObject = () => (Fn__ToObject = dart.constFn(dart.definiteFunctionType(core.Object, [ObjectTobool()], [core.String])))();
-  let numAndnumToObject = () => (numAndnumToObject = dart.constFn(dart.definiteFunctionType(core.Object, [core.num, core.num])))();
-  let numToObject = () => (numToObject = dart.constFn(dart.definiteFunctionType(core.Object, [core.num])))();
-  minitest._Action = dart.typedef('_Action', () => dart.functionType(dart.void, []));
-  minitest._ExpectationFunction = dart.typedef('_ExpectationFunction', () => dart.functionType(dart.void, [core.Object]));
-  dart.defineLazy(minitest, {
-    get _groups() {
-      return JSArrayOf_Group().of([new minitest._Group()]);
-    }
-  });
-  dart.defineLazy(minitest, {
-    get isFalse() {
-      return new minitest._Expectation(expect$.Expect.isFalse);
-    }
-  });
-  dart.defineLazy(minitest, {
-    get isNotNull() {
-      return new minitest._Expectation(expect$.Expect.isNotNull);
-    }
-  });
-  dart.defineLazy(minitest, {
-    get isNull() {
-      return new minitest._Expectation(expect$.Expect.isNull);
-    }
-  });
-  dart.defineLazy(minitest, {
-    get isTrue() {
-      return new minitest._Expectation(expect$.Expect.isTrue);
-    }
-  });
-  dart.defineLazy(minitest, {
-    get returnsNormally() {
-      return new minitest._Expectation(dart.fn(actual => {
-        try {
-          minitest._Action.as(actual)();
-        } catch (error) {
-          expect$.Expect.fail(dart.str`Expected function to return normally, but threw:\n${error}`);
-        }
-
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throws() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual));
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throwsArgumentError() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual), dart.fn(error => core.ArgumentError.is(error), dynamicTobool()));
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throwsNoSuchMethodError() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual), dart.fn(error => core.NoSuchMethodError.is(error), dynamicTobool()));
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throwsRangeError() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual), dart.fn(error => core.RangeError.is(error), dynamicTobool()));
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throwsStateError() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual), dart.fn(error => core.StateError.is(error), dynamicTobool()));
-      }, ObjectTovoid()));
-    }
-  });
-  dart.defineLazy(minitest, {
-    get throwsUnsupportedError() {
-      return new minitest._Expectation(dart.fn(actual => {
-        expect$.Expect.throws(minitest._Action.as(actual), dart.fn(error => core.UnsupportedError.is(error), dynamicTobool()));
-      }, ObjectTovoid()));
-    }
-  });
-  minitest.finishTests = function() {
-    minitest._groups[dartx.clear]();
-    minitest._groups[dartx.add](new minitest._Group());
-  };
-  dart.fn(minitest.finishTests, VoidTovoid());
-  minitest.group = function(description, body) {
-    minitest._groups[dartx.add](new minitest._Group());
-    try {
-      body();
-    } finally {
-      minitest._groups[dartx.removeLast]();
-    }
-  };
-  dart.fn(minitest.group, StringAndFnTovoid());
-  minitest.test = function(description, body) {
-    for (let group of minitest._groups) {
-      if (group.setUpFunction != null) group.setUpFunction();
-    }
-    try {
-      body();
-    } finally {
-      for (let i = dart.notNull(minitest._groups[dartx.length]) - 1; i >= 0; i--) {
-        let group = minitest._groups[dartx.get](i);
-        if (group.tearDownFunction != null) group.tearDownFunction();
-      }
-    }
-  };
-  dart.fn(minitest.test, StringAndFnTovoid());
-  minitest.setUp = function(body) {
-    dart.assert(minitest._groups[dartx.last].setUpFunction == null);
-    minitest._groups[dartx.last].setUpFunction = body;
-  };
-  dart.fn(minitest.setUp, FnTovoid());
-  minitest.tearDown = function(body) {
-    dart.assert(minitest._groups[dartx.last].tearDownFunction == null);
-    minitest._groups[dartx.last].tearDownFunction = body;
-  };
-  dart.fn(minitest.tearDown, FnTovoid());
-  minitest.expect = function(actual, expected, opts) {
-    let reason = opts && 'reason' in opts ? opts.reason : null;
-    if (!minitest._Expectation.is(expected)) {
-      expected = minitest.equals(expected);
-    }
-    let expectation = minitest._Expectation.as(expected);
-    expectation.function(actual);
-  };
-  dart.fn(minitest.expect, ObjectAndObject__Tovoid());
-  minitest.fail = function(message) {
-    expect$.Expect.fail(message);
-  };
-  dart.fn(minitest.fail, StringTovoid());
-  minitest.equals = function(value) {
-    return new minitest._Expectation(dart.fn(actual => {
-      expect$.Expect.deepEquals(value, actual);
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.equals, ObjectToObject());
-  minitest.notEquals = function(value) {
-    return new minitest._Expectation(dart.fn(actual => {
-      expect$.Expect.notEquals(value, actual);
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.notEquals, ObjectToObject());
-  minitest.unorderedEquals = function(value) {
-    return new minitest._Expectation(dart.fn(actual => {
-      expect$.Expect.setEquals(core.Iterable._check(value), core.Iterable._check(actual));
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.unorderedEquals, ObjectToObject());
-  minitest.predicate = function(fn, description) {
-    if (description === void 0) description = null;
-    return new minitest._Expectation(dart.fn(actual => {
-      expect$.Expect.isTrue(fn(actual));
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.predicate, Fn__ToObject());
-  minitest.inInclusiveRange = function(min, max) {
-    return new minitest._Expectation(dart.fn(actual => {
-      let actualNum = core.num.as(actual);
-      if (dart.notNull(actualNum) < dart.notNull(min) || dart.notNull(actualNum) > dart.notNull(max)) {
-        minitest.fail(dart.str`Expected ${actualNum} to be in the inclusive range [${min}, ${max}].`);
-      }
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.inInclusiveRange, numAndnumToObject());
-  minitest.greaterThan = function(value) {
-    return new minitest._Expectation(dart.fn(actual => {
-      let actualNum = core.num.as(actual);
-      if (dart.notNull(actualNum) <= dart.notNull(value)) {
-        minitest.fail(dart.str`Expected ${actualNum} to be greater than ${value}.`);
-      }
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.greaterThan, numToObject());
-  minitest.same = function(value) {
-    return new minitest._Expectation(dart.fn(actual => {
-      expect$.Expect.identical(value, actual);
-    }, ObjectTovoid()));
-  };
-  dart.fn(minitest.same, ObjectToObject());
-  minitest._Group = class _Group extends core.Object {
-    new() {
-      this.setUpFunction = null;
-      this.tearDownFunction = null;
-    }
-  };
-  dart.setSignature(minitest._Group, {
-    fields: () => ({
-      setUpFunction: minitest._Action,
-      tearDownFunction: minitest._Action
-    })
-  });
-  minitest._Expectation = class _Expectation extends core.Object {
-    new(func) {
-      this.function = func;
-    }
-  };
-  dart.setSignature(minitest._Expectation, {
-    constructors: () => ({new: dart.definiteFunctionType(minitest._Expectation, [minitest._ExpectationFunction])}),
-    fields: () => ({function: minitest._ExpectationFunction})
-  });
-  // Exports:
-  return {
-    minitest: minitest
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/node_modules.js b/pkg/dev_compiler/test/codegen_expected/node_modules.js
deleted file mode 100644
index 9b4c57e..0000000
--- a/pkg/dev_compiler/test/codegen_expected/node_modules.js
+++ /dev/null
@@ -1,78 +0,0 @@
-'use strict';
-const dart_sdk = require('dart_sdk');
-const core = dart_sdk.core;
-const dart = dart_sdk.dart;
-const dartx = dart_sdk.dartx;
-const _root = Object.create(null);
-const node_modules = Object.create(_root);
-let B = () => (B = dart.constFn(node_modules.B$()))();
-let _B = () => (_B = dart.constFn(node_modules._B$()))();
-let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-let VoidToString = () => (VoidToString = dart.constFn(dart.fnType(core.String, [])))();
-node_modules.Callback = dart.typedef('Callback', () => dart.fnTypeFuzzy(dart.void, [], {i: core.int}));
-node_modules.A = class A extends core.Object {};
-(node_modules.A.new = function() {
-}).prototype = node_modules.A.prototype;
-dart.addTypeTests(node_modules.A);
-node_modules._A = class _A extends core.Object {};
-(node_modules._A.new = function() {
-}).prototype = node_modules._A.prototype;
-dart.addTypeTests(node_modules._A);
-const _is_B_default = Symbol('_is_B_default');
-node_modules.B$ = dart.generic(T => {
-  class B extends core.Object {}
-  (B.new = function() {
-  }).prototype = B.prototype;
-  dart.addTypeTests(B);
-  B.prototype[_is_B_default] = true;
-  return B;
-});
-node_modules.B = B();
-dart.addTypeTests(node_modules.B, _is_B_default);
-const _is__B_default = Symbol('_is__B_default');
-node_modules._B$ = dart.generic(T => {
-  class _B extends core.Object {}
-  (_B.new = function() {
-  }).prototype = _B.prototype;
-  dart.addTypeTests(_B);
-  _B.prototype[_is__B_default] = true;
-  return _B;
-});
-node_modules._B = _B();
-dart.addTypeTests(node_modules._B, _is__B_default);
-node_modules.f = function() {
-};
-dart.fn(node_modules.f, VoidTodynamic());
-node_modules._f = function() {
-};
-dart.fn(node_modules._f, VoidTodynamic());
-dart.defineLazy(node_modules, {
-  get constant() {
-    return "abc";
-  },
-  get finalConstant() {
-    return "abc";
-  },
-  get lazy() {
-    return dart.fn(() => {
-      core.print('lazy');
-      return "abc";
-    }, VoidToString())();
-  },
-  get mutable() {
-    return "abc";
-  },
-  set mutable(_) {},
-  get lazyMutable() {
-    return dart.fn(() => {
-      core.print('lazyMutable');
-      return "abc";
-    }, VoidToString())();
-  },
-  set lazyMutable(_) {}
-});
-dart.trackLibraries("node_modules", {
-  "node_modules.dart": node_modules
-}, null);
-// Exports:
-exports.node_modules = node_modules;
diff --git a/pkg/dev_compiler/test/codegen_expected/script.js b/pkg/dev_compiler/test/codegen_expected/script.js
deleted file mode 100644
index f8541f7..0000000
--- a/pkg/dev_compiler/test/codegen_expected/script.js
+++ /dev/null
@@ -1,24 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const script = Object.create(_root);
-  const $join = dartx.join;
-  let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)))();
-  let ListOfStringTovoid = () => (ListOfStringTovoid = dart.constFn(dart.fnType(dart.void, [ListOfString()])))();
-  script.main = function(args) {
-    let name = args[$join](' ');
-    if (name === '') name = 'world';
-    core.print(dart.str`hello ${name}`);
-  };
-  dart.fn(script.main, ListOfStringTovoid());
-  dart.trackLibraries("script", {
-    "script.dart": script
-  }, null);
-  // Exports:
-  return {
-    script: script
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js b/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js
deleted file mode 100644
index ed69422..0000000
--- a/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js
+++ /dev/null
@@ -1,193 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const html = dart_sdk.html;
-  const math = dart_sdk.math;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const sunflower = Object.create(_root);
-  const circle = Object.create(_root);
-  const painter = Object.create(_root);
-  const $getContext = dartx.getContext;
-  const $addEventListener = dartx.addEventListener;
-  const $text = dartx.text;
-  const $arc = dartx.arc;
-  const $fill = dartx.fill;
-  let StringToElement = () => (StringToElement = dart.constFn(dart.fnType(html.Element, [core.String])))();
-  let EventTovoid = () => (EventTovoid = dart.constFn(dart.fnType(dart.void, [html.Event])))();
-  let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.fnType(dart.void, [])))();
-  dart.defineLazy(sunflower, {
-    get SEED_RADIUS() {
-      return 2;
-    },
-    get SCALE_FACTOR() {
-      return 4;
-    },
-    get MAX_D() {
-      return 300;
-    },
-    get centerX() {
-      return 300 / 2;
-    },
-    get centerY() {
-      return sunflower.centerX;
-    }
-  });
-  sunflower.querySelector = function(selector) {
-    return html.document.querySelector(selector);
-  };
-  dart.fn(sunflower.querySelector, StringToElement());
-  dart.defineLazy(sunflower, {
-    get canvas() {
-      return html.CanvasElement.as(sunflower.querySelector("#canvas"));
-    },
-    get context() {
-      return html.CanvasRenderingContext2D.as(sunflower.canvas[$getContext]('2d'));
-    },
-    get slider() {
-      return html.InputElement.as(sunflower.querySelector("#slider"));
-    },
-    get notes() {
-      return sunflower.querySelector("#notes");
-    },
-    get PHI() {
-      return (math.sqrt(5) + 1) / 2;
-    },
-    get seeds() {
-      return 0;
-    },
-    set seeds(_) {}
-  });
-  sunflower.main = function() {
-    sunflower.slider[$addEventListener]('change', dart.fn(e => sunflower.draw(), EventTovoid()));
-    sunflower.draw();
-  };
-  dart.fn(sunflower.main, VoidTovoid());
-  sunflower.draw = function() {
-    sunflower.seeds = core.int.parse(sunflower.slider.value);
-    sunflower.context.clearRect(0, 0, 300, 300);
-    for (let i = 0; i < dart.notNull(sunflower.seeds); i++) {
-      let theta = i * painter.TAU / dart.notNull(sunflower.PHI);
-      let r = math.sqrt(i) * 4;
-      let x = sunflower.centerX + r * math.cos(theta);
-      let y = sunflower.centerY - r * math.sin(theta);
-      new sunflower.SunflowerSeed.new(x, y, 2).draw(sunflower.context);
-    }
-    sunflower.notes[$text] = dart.str`${sunflower.seeds} seeds`;
-  };
-  dart.fn(sunflower.draw, VoidTovoid());
-  circle.Circle = class Circle extends core.Object {
-    get x() {
-      return this[x$];
-    }
-    set x(value) {
-      super.x = value;
-    }
-    get y() {
-      return this[y$];
-    }
-    set y(value) {
-      super.y = value;
-    }
-    get radius() {
-      return this[radius$];
-    }
-    set radius(value) {
-      super.radius = value;
-    }
-  };
-  (circle.Circle.new = function(x, y, radius) {
-    this[x$] = x;
-    this[y$] = y;
-    this[radius$] = radius;
-  }).prototype = circle.Circle.prototype;
-  dart.addTypeTests(circle.Circle);
-  const x$ = Symbol("Circle.x");
-  const y$ = Symbol("Circle.y");
-  const radius$ = Symbol("Circle.radius");
-  dart.setFieldSignature(circle.Circle, () => ({
-    __proto__: dart.getFields(circle.Circle.__proto__),
-    x: dart.finalFieldType(core.num),
-    y: dart.finalFieldType(core.num),
-    radius: dart.finalFieldType(core.num)
-  }));
-  painter.CirclePainter = class CirclePainter extends core.Object {
-    get color() {
-      return this[color];
-    }
-    set color(value) {
-      this[color] = value;
-    }
-    draw(context) {
-      context.beginPath();
-      context.lineWidth = 2;
-      context.fillStyle = this.color;
-      context.strokeStyle = this.color;
-      context[$arc](this.x, this.y, this.radius, 0, painter.TAU, false);
-      context[$fill]();
-      context.closePath();
-      context.stroke();
-    }
-  };
-  (painter.CirclePainter.new = function() {
-    this[color] = "orange";
-  }).prototype = painter.CirclePainter.prototype;
-  dart.addTypeTests(painter.CirclePainter);
-  const color = Symbol("CirclePainter.color");
-  painter.CirclePainter[dart.implements] = () => [circle.Circle];
-  dart.setMethodSignature(painter.CirclePainter, () => ({
-    __proto__: dart.getMethods(painter.CirclePainter.__proto__),
-    draw: dart.fnType(dart.void, [html.CanvasRenderingContext2D])
-  }));
-  dart.setFieldSignature(painter.CirclePainter, () => ({
-    __proto__: dart.getFields(painter.CirclePainter.__proto__),
-    color: dart.fieldType(core.String)
-  }));
-  sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle, painter.CirclePainter) {};
-  (sunflower.SunflowerSeed.new = function(x, y, radius, color) {
-    if (color === void 0) color = null;
-    sunflower.SunflowerSeed.__proto__.new.call(this, x, y, radius);
-    if (color != null) this.color = color;
-  }).prototype = sunflower.SunflowerSeed.prototype;
-  dart.addTypeTests(sunflower.SunflowerSeed);
-  dart.defineLazy(painter, {
-    get ORANGE() {
-      return "orange";
-    },
-    get RED() {
-      return "red";
-    },
-    get BLUE() {
-      return "blue";
-    },
-    get TAU() {
-      return math.PI * 2;
-    }
-  });
-  painter.querySelector = function(selector) {
-    return html.document.querySelector(selector);
-  };
-  dart.fn(painter.querySelector, StringToElement());
-  dart.defineLazy(painter, {
-    get canvas() {
-      return html.CanvasElement.as(painter.querySelector("#canvas"));
-    },
-    get context() {
-      return html.CanvasRenderingContext2D.as(painter.canvas[$getContext]('2d'));
-    }
-  });
-  dart.trackLibraries("sunflower", {
-    "sunflower.dart": sunflower,
-    "circle.dart": circle,
-    "painter.dart": painter
-  }, null);
-  // Exports:
-  return {
-    sunflower: sunflower,
-    circle: circle,
-    painter: painter
-  };
-});
-
-//# sourceMappingURL=sunflower.js.map
diff --git a/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js.map b/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js.map
deleted file mode 100644
index 2bcc814..0000000
--- a/pkg/dev_compiler/test/codegen_expected/sunflower/sunflower.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sourceRoot":"","sources":["../../codegen/sunflower/sunflower.dart","../../codegen/sunflower/circle.dart","../../codegen/sunflower/painter.dart"],"names":["MAX_D","centerX","document","selector","querySelector","canvas","sqrt","slider","draw","seeds","context","i","TAU","PHI","SCALE_FACTOR","r","cos","theta","centerY","sin","x","y","SEED_RADIUS","notes","color","radius","ORANGE","PI"],"mappings":";;;;;;;;;;;;;;;;;;;;IAYM;YAAc,EAAC;KAAA;IACf;YAAe,EAAC;KAAA;IAChB;YAAQ,IAAG;KAAA;IACX;YAAU,AAAAA,IAAK,GAAG,CAAC,AAAA;KAAA;IACnB;YAAUC,kBAAO;KAAA;;4BAEF,SAAC,QAAe,EAAE;AAAG,UAAA,AAAAC,cAAQ,eAAeC,QAAQ,CAAC;AAAA,GAC1E,AAAA;;;IAAM;YAAS,uBAAA,AAAAC,uBAAa,CAAC,SAAS,CAAC,CAAiB;KAAA;IAClD;YAAU,kCAAA,AAAAC,gBAAM,cAAY,IAAI,CAAC,CAA4B;KAAA;IAC7D;YAAS,sBAAA,AAAAD,uBAAa,CAAC,SAAS,CAAC,CAAgB;KAAA;IACjD;YAAQ,AAAAA,wBAAa,CAAC,QAAQ,CAAC;KAAA;IAE/B;YAAM,EAAA,AAAC,AAAAE,SAAI,CAAC,CAAC,CAAC,GAAG,CAAC,AAAC,IAAG,CAAC,AAAA;KAAA;IACzB;YAAQ,EAAC;KAAA;IAAT,eAAS;;mBAEJ,WAAG;AACV,IAAA,AAAAC,gBAAM,oBAAkB,QAAQ,EAAE,QAAA,AAAC,CAAC,IAAK,AAAAC,cAAI,EAAE,AAAA,gBAAA,CAAC;AAClD,AAAE,IAAA,AAAAA,cAAI,EAAE;AACR,GACA,AAAA;;mBAES,WAAG;AACV,IAAA,AAAAC,eAAK,GAAG,eAAU,AAAAF,gBAAM,MAAM,CAAC,AAAA;AACjC,AAAE,IAAA,AAAAG,iBAAO,WAAW,CAAC,EAAE,CAAC,EAAEV,GAAK,EAAEA,GAAK,CAAC;AACvC,AAAE,SAAK,IAAI,IAAI,CAAC,AAAA,AAAA,EAAE,AAAAW,CAAC,gBAAGF,eAAK,CAAA,EAAE,AAAAE,CAAC,EAAE,EAAE;AAC9B,kBAAc,AAAA,AAAAA,CAAC,GAAGC,WAAG,AAAA,gBAAGC,aAAG,CAAA;AAC/B,AAAI,cAAU,AAAA,AAAAP,SAAI,CAACK,CAAC,CAAC,GAAGG,CAAY,AAAA;AACpC,AAAI,cAAU,AAAAb,iBAAO,GAAG,AAAAc,CAAC,GAAGC,AAAA,QAAG,CAACC,KAAK,CAAC,AAAA,AAAA;AACtC,AAAI,cAAU,AAAAC,iBAAO,GAAG,AAAAH,CAAC,GAAG,AAAAI,QAAG,CAACF,KAAK,CAAC,AAAA,AAAA;AACtC,AAAI,MAAA,AAAA,gCAAkBG,CAAC,EAAEC,CAAC,EAAEC,CAAW,CAAC,MAAMZ,iBAAO,CAAC;AACtD,KACA;AAAA,AAAE,IAAA,AAAA,AAAAa,eAAK,OAAK,GAAG,WAAC,eAAM,QAAO,AAAA;AAC7B,GACA,AAAA;;;;;;;;;;;;;;;;;;;;;;gCCpCS,CAAM,EAAE,CAAM,EAAE,MAAW,EAAlC;;;;AAAmC,AACrC,GAAA;;;;;;;;;;;;;;;;;;SCgBY,OAAgC,EAAE;AAC1C,MAAAb,AACE,OAAN,YACA;MAFIA,AAEE,AAAA,OADN,UACiB,GAAG,CACpB,AAAA;MAHIA,AAGE,AAAA,OAFN,UAEiB,GAAGc,UACpB,AAAA;MAJId,AAIE,AAAA,OAHN,YAGmB,GAAGc,UACtB,AAAA;MALId,AAKE,OAJN,OAIYU,MAAC,EAAEC,MAAC,EAAEI,WAAM,EAAE,CAAC,EAAEb,WAAG,EAAE,KAAK,CACvC;MANIF,AAME,OALN,SAMA;MAPIA,AAOE,OANN,YAOA;MARIA,AAQE,OAPN,SAOgB;AAChB,KACA;;;kBAdiBgB,QAAM;;;;;;;;;;;;;;0CFyBP,CAAK,EAAE,CAAK,EAAE,MAAU,EAAG,KAAY,EAArD;;AACM,qDAAMN,CAAC,EAAEC,CAAC,EAAEI,MAAM;AAAC,AAAC,AACxB,QAAI,AAAAD,KAAK,IAAI,IAAI,AAAA,EAAE,AAAA,AAAA,AAAA,IAAI,MAAM,GAAGA,KAAK,AAAA;AACzC,AAAA,AACA,GAAA;;;IEzCM;YAAS,SAAQ;KAAA;IACjB;YAAM,MAAK;KAAA;IACX;YAAO,OAAM;KAAA;IACb;YAAM,AAAAG,QAAE,GAAG,CAAC,AAAA;KAAA;;0BAEG,SAAC,QAAe,EAAE;AAAG,UAAA,AAAAzB,cAAQ,eAAeC,QAAQ,CAAC;AAAA,GAC1E,AAAA;;;IACM;YAAS,uBAAA,AAAAC,qBAAa,CAAC,SAAS,CAAC,CAAiB;KAAA;IAClD;YAAU,kCAAA,AAAAC,cAAM,cAAY,IAAI,CAAC,CAA4B;KAAA","file":"sunflower.js"}
\ No newline at end of file
diff --git a/pkg/dev_compiler/test/codegen_expected/unresolved_names.js b/pkg/dev_compiler/test/codegen_expected/unresolved_names.js
deleted file mode 100644
index 6c09a04..0000000
--- a/pkg/dev_compiler/test/codegen_expected/unresolved_names.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const unresolved_names = Object.create(_root);
-  let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.fnType(dart.dynamic, [])))();
-  unresolved_names.C = class C extends core.Object {};
-  (unresolved_names.C.new = function() {
-  }).prototype = unresolved_names.C.prototype;
-  dart.addTypeTests(unresolved_names.C);
-  unresolved_names.main = function() {
-    dart.throw(Error("compile error: unresolved constructor: dynamic.<unnamed>"));
-    dart.throw(Error("compile error: unresolved constructor: C.bar"));
-    core.print(dart.throw(Error("compile error: unresolved identifier: baz")));
-    core.print(dart.dload(unresolved_names.C, 'quux'));
-  };
-  dart.fn(unresolved_names.main, VoidTodynamic());
-  dart.trackLibraries("unresolved_names", {
-    "unresolved_names.dart": unresolved_names
-  }, null);
-  // Exports:
-  return {
-    unresolved_names: unresolved_names
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_expected/varargs.js b/pkg/dev_compiler/test/codegen_expected/varargs.js
deleted file mode 100644
index 6e615fa..0000000
--- a/pkg/dev_compiler/test/codegen_expected/varargs.js
+++ /dev/null
@@ -1,43 +0,0 @@
-define(['dart_sdk'], function(dart_sdk) {
-  'use strict';
-  const core = dart_sdk.core;
-  const dart = dart_sdk.dart;
-  const dartx = dart_sdk.dartx;
-  const _root = Object.create(null);
-  const varargs = Object.create(_root);
-  const src__varargs = Object.create(_root);
-  let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
-  let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.fnType(dart.dynamic, [dart.dynamic])))();
-  varargs.varargsTest = function(x, ...others) {
-    let args = [1, others];
-    dart.dcall(x, ...args);
-  };
-  dart.fn(varargs.varargsTest, dynamicAnddynamicTodynamic());
-  varargs.varargsTest2 = function(x, ...others) {
-    let args = [1, others];
-    dart.dcall(x, ...args);
-  };
-  dart.fn(varargs.varargsTest2, dynamicAnddynamicTodynamic());
-  src__varargs._Rest = class _Rest extends core.Object {};
-  (src__varargs._Rest.new = function() {
-  }).prototype = src__varargs._Rest.prototype;
-  dart.addTypeTests(src__varargs._Rest);
-  dart.defineLazy(src__varargs, {
-    get rest() {
-      return dart.const(new src__varargs._Rest.new());
-    }
-  });
-  src__varargs.spread = function(args) {
-    dart.throw(new core.StateError.new('The spread function cannot be called, ' + 'it should be compiled away.'));
-  };
-  dart.fn(src__varargs.spread, dynamicTodynamic());
-  dart.trackLibraries("varargs", {
-    "varargs.dart": varargs,
-    "package:js/src/varargs.dart": src__varargs
-  }, null);
-  // Exports:
-  return {
-    varargs: varargs,
-    src__varargs: src__varargs
-  };
-});
diff --git a/pkg/dev_compiler/test/codegen_test.dart b/pkg/dev_compiler/test/codegen_test.dart
deleted file mode 100644
index 0d5df3f..0000000
--- a/pkg/dev_compiler/test/codegen_test.dart
+++ /dev/null
@@ -1,454 +0,0 @@
-// 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.
-
-/// Tests code generation.
-///
-/// Runs Dart Dev Compiler on all input in the `codegen` directory and checks
-/// that the output is what we expected.
-library dev_compiler.test.codegen_test;
-
-// TODO(rnystrom): This doesn't actually run any tests any more. It just
-// compiles stuff. This should be changed to not use unittest and just be a
-// regular program that outputs files.
-
-import 'dart:convert';
-import 'dart:io' show Directory, File, Platform;
-import 'package:analyzer/analyzer.dart' show StringLiteral, parseDirectives;
-import 'package:analyzer/src/command_line/arguments.dart'
-    show defineAnalysisArguments;
-import 'package:analyzer/src/dart/ast/ast.dart';
-import 'package:analyzer/src/generated/source.dart' show Source;
-import 'package:args/args.dart' show ArgParser, ArgResults;
-import 'package:dev_compiler/src/analyzer/context.dart';
-import 'package:dev_compiler/src/analyzer/module_compiler.dart'
-    show BuildUnit, CompilerOptions, JSModuleFile, ModuleCompiler;
-import 'package:dev_compiler/src/compiler/module_builder.dart'
-    show ModuleFormat, addModuleFormatOptions, parseModuleFormatOption;
-import 'package:path/path.dart' as path;
-import 'package:test/test.dart' show expect, isFalse, isTrue, test;
-import 'package:status_file/expectation.dart';
-import 'package:test_dart/path.dart' as test_dart;
-import 'package:test_dart/test_suite.dart' show StandardTestSuite;
-import 'package:test_dart/options.dart';
-
-import '../tool/build_sdk.dart' as build_sdk;
-import 'multitest.dart' show extractTestsFromMultitest, isMultiTest;
-import 'testing.dart' show repoDirectory, testDirectory;
-
-final ArgParser argParser = ArgParser()
-  ..addOption('dart-sdk', help: 'Dart SDK Path', defaultsTo: null);
-
-/// The `test/codegen` directory.
-final codegenDir = path.join(testDirectory, 'codegen');
-
-/// The `test/codegen/expect` directory.
-final codegenExpectDir = path.join(testDirectory, 'codegen_expected');
-
-/// The generated directory where tests, expanded multitests, and other test
-/// support libraries are copied to.
-///
-/// The tests sometimes import utility libraries using a relative path.
-/// Likewise, the multitests do too, and one multitest even imports its own
-/// non-expanded form (!). To make that simpler, we copy the entire test tree
-/// to a generated directory and expand that multitests in there too.
-final codegenTestDir = path.join(repoDirectory, 'gen', 'codegen_tests');
-
-/// The generated directory where tests and packages compiled to JS are
-/// output.
-final codegenOutputDir = path.join(repoDirectory, 'gen', 'codegen_output');
-
-final codeCoverage = Platform.environment.containsKey('COVERALLS_TOKEN');
-
-RegExp filePattern;
-
-main(List<String> arguments) {
-  if (arguments == null) arguments = [];
-  ArgResults args = argParser.parse(arguments);
-  filePattern = RegExp(args.rest.length > 0 ? args.rest[0] : '.');
-
-  var sdkDir = path.join(repoDirectory, 'gen', 'patched_sdk');
-  var sdkSummaryFile =
-      path.join(testDirectory, '..', 'gen', 'sdk', 'ddc_sdk.sum');
-
-  var summaryPaths = Directory(path.join(codegenOutputDir, 'pkg'))
-      .listSync()
-      .map((e) => e.path)
-      .where((p) => p.endsWith('.sum'))
-      .toList();
-
-  var sharedCompiler = ModuleCompiler(AnalyzerOptions.basic(
-      dartSdkSummaryPath: sdkSummaryFile, summaryPaths: summaryPaths));
-
-  var testDirs = ['language', 'corelib_2', 'lib'];
-
-  // Copy all of the test files and expanded multitest files to
-  // gen/codegen_tests. We'll compile from there.
-  var testFiles = _setUpTests(testDirs);
-  _writeRuntimeStatus(testFiles);
-
-  // Our default compiler options. Individual tests can override these.
-  var defaultOptions = ['--no-source-map', '--no-summarize'];
-  var compileArgParser = ArgParser();
-  defineAnalysisArguments(compileArgParser, ddc: true);
-  AnalyzerOptions.addArguments(compileArgParser);
-  CompilerOptions.addArguments(compileArgParser);
-  addModuleFormatOptions(compileArgParser);
-
-  var testFileOptionsMatcher =
-      RegExp(r'// (compile options: |SharedOptions=)(.*)', multiLine: true);
-
-  // Ignore dart2js options that we don't support in DDC.
-  var ignoreOptions = [
-    '--enable-enum',
-    '--experimental-trust-js-interop-type-annotations',
-    '--trust-type-annotations',
-    '--supermixin'
-  ];
-
-  // Compile each test file to JS and put the result in gen/codegen_output.
-  testFiles.forEach((testFile, status) {
-    var relativePath = path.relative(testFile, from: codegenTestDir);
-
-    // Only compile the top-level files for generating coverage.
-    bool isTopLevelTest = path.dirname(relativePath) == ".";
-    if (codeCoverage && !isTopLevelTest) return;
-
-    if (status.contains(Expectation.skip) ||
-        status.contains(Expectation.skipByDesign)) {
-      return;
-    }
-
-    var name = path.withoutExtension(relativePath);
-    test('dartdevc $name', () {
-      // Check if we need to use special compile options.
-      var contents = File(testFile).readAsStringSync();
-      var match = testFileOptionsMatcher.firstMatch(contents);
-
-      var args = defaultOptions.toList();
-      if (match != null) {
-        var matchedArgs = match.group(2).split(' ');
-        args.addAll(matchedArgs.where((s) => !ignoreOptions.contains(s)));
-      }
-
-      ArgResults argResults = compileArgParser.parse(args);
-      var analyzerOptions = AnalyzerOptions.fromArguments(argResults,
-          dartSdkSummaryPath: sdkSummaryFile, summaryPaths: summaryPaths);
-
-      var options = CompilerOptions.fromArguments(argResults);
-
-      var moduleFormat = parseModuleFormatOption(argResults).first;
-
-      // Collect any other files we've imported.
-      var files = Set<String>();
-      _collectTransitiveImports(contents, files, from: testFile);
-      var unit = BuildUnit(
-          name, path.dirname(testFile), files.toList(), _moduleForLibrary);
-
-      var compiler = sharedCompiler;
-      if (analyzerOptions.declaredVariables.isNotEmpty) {
-        compiler = ModuleCompiler(analyzerOptions);
-      }
-      JSModuleFile module = null;
-      var exception, stackTrace;
-      try {
-        module = compiler.compile(unit, options);
-      } catch (e, st) {
-        exception = e;
-        stackTrace = st;
-      }
-
-      // This covers tests where the intent of the test is to validate that
-      // some static error is produced.
-      var intentionalCompileError =
-          (contents.contains(': compile-time error') ||
-                  // Use adjacent strings so test.dart doesn't match this line
-                  // as an expected compile error.
-                  contents.contains('/*@' 'compile-error=')) &&
-              !status.contains(Expectation.missingCompileTimeError);
-
-      var crashing = status.contains(Expectation.crash);
-      if (module == null) {
-        expect(crashing, isTrue,
-            reason: "test $name crashes during compilation.\n"
-                "$exception\n$stackTrace");
-        return;
-      }
-
-      // Write out JavaScript and/or compilation errors/warnings.
-      _writeModule(
-          path.join(codegenOutputDir, name),
-          isTopLevelTest ? path.join(codegenExpectDir, name) : null,
-          moduleFormat,
-          module);
-
-      expect(crashing, isFalse, reason: "test $name no longer crashes.");
-
-      var knownCompileError = status.contains(Expectation.compileTimeError) ||
-          status.contains(Expectation.fail);
-      // TODO(jmesserly): we could also invert negative_test, however analyzer
-      // in test.dart does not do this.
-      //   name.endsWith('negative_test') && !status.contains(Expectation.fail)
-      if (module.isValid) {
-        expect(knownCompileError, isFalse,
-            reason: "test $name expected static errors, but compiled.");
-      } else {
-        var reason = intentionalCompileError ? "intended" : "unexpected";
-        expect(intentionalCompileError || knownCompileError, isTrue,
-            reason: "test $name failed to compile due to $reason errors:"
-                "\n\n${module.errors.join('\n')}.");
-      }
-    });
-  });
-
-  if (filePattern.hasMatch('sunflower')) {
-    test('sunflower', () {
-      _buildSunflower(sharedCompiler, codegenOutputDir, codegenExpectDir);
-    });
-  }
-
-  if (codeCoverage) {
-    test('build_sdk code coverage', () {
-      return build_sdk.main(['--dart-sdk', sdkDir, '-o', codegenOutputDir]);
-    });
-  }
-}
-
-void _writeModule(String outPath, String expectPath, ModuleFormat format,
-    JSModuleFile result) {
-  _ensureDirectory(path.dirname(outPath));
-
-  String errors = result.errors.join('\n');
-  if (errors.isNotEmpty && !errors.endsWith('\n')) errors += '\n';
-  File(outPath + '.txt').writeAsStringSync(errors);
-
-  if (result.isValid) {
-    result.writeCodeSync(format, outPath + '.js');
-  }
-
-  if (result.summaryBytes != null) {
-    File(outPath + '.sum').writeAsBytesSync(result.summaryBytes);
-  }
-
-  // Write the expectation file if needed.
-  // Generally speaking we try to avoid these tests, but they are occasionally
-  // useful.
-  if (expectPath != null) {
-    _ensureDirectory(path.dirname(expectPath));
-
-    var expectFile = File(expectPath + '.js');
-    if (result.isValid) {
-      result.writeCodeSync(format, expectFile.path);
-    } else {
-      expectFile.writeAsStringSync("//FAILED TO COMPILE");
-    }
-  }
-}
-
-void _buildSunflower(
-    ModuleCompiler compiler, String outputDir, String expectDir) {
-  var baseDir = path.join(codegenDir, 'sunflower');
-  var files = ['sunflower', 'circle', 'painter']
-      .map((f) => path.join(baseDir, '$f.dart'))
-      .toList();
-  var input = BuildUnit('sunflower', baseDir, files, _moduleForLibrary);
-  var options = CompilerOptions(summarizeApi: false);
-
-  var built = compiler.compile(input, options);
-  _writeModule(path.join(outputDir, 'sunflower', 'sunflower'),
-      path.join(expectDir, 'sunflower', 'sunflower'), ModuleFormat.amd, built);
-}
-
-String _moduleForLibrary(Source source) {
-  var scheme = source.uri.scheme;
-  if (scheme == 'package') {
-    return source.uri.pathSegments.first;
-  }
-  throw Exception('Module not found for library "${source.fullName}"');
-}
-
-void _writeRuntimeStatus(Map<String, Set<Expectation>> testFiles) {
-  var runtimeStatus = <String, String>{};
-  testFiles.forEach((name, status) {
-    name = path.withoutExtension(path.relative(name, from: codegenTestDir));
-    // Skip tests that we don't expect to compile.
-    if (status.contains(Expectation.compileTimeError) ||
-        status.contains(Expectation.crash) ||
-        status.contains(Expectation.skip) ||
-        status.contains(Expectation.fail) ||
-        status.contains(Expectation.skipByDesign)) {
-      return;
-    }
-    // Normalize the expectations for the Karma language_test.js runner.
-    if (status.remove(Expectation.ok)) assert(status.isNotEmpty);
-    if (status.remove(Expectation.missingCompileTimeError) ||
-        status.remove(Expectation.missingRuntimeError)) {
-      status.add(Expectation.pass);
-    }
-
-    // Don't include status for passing tests, as that is the default.
-    // TODO(jmesserly): we could record these for extra sanity checks.
-    if (status.length == 1 && status.contains(Expectation.pass)) {
-      return;
-    }
-
-    runtimeStatus[name] = status.map((s) => '$s').join(',');
-  });
-  File(path.join(codegenOutputDir, 'test_status.js')).writeAsStringSync('''
-define([], function() {
-  'use strict';
-  return ${new JsonEncoder.withIndent(' ').convert(runtimeStatus)};
-});
-''');
-}
-
-Map<String, Set<Expectation>> _setUpTests(List<String> testDirs) {
-  var testFiles = <String, Set<Expectation>>{};
-  for (var testDir in testDirs) {
-    // TODO(rnystrom): Simplify this when the Dart 2.0 test migration is
-    // complete (#30183).
-    // Look for the tests in the "_strong" and "_2" directories in the SDK's
-    // main "tests" directory.
-    var dirParts = path.split(testDir);
-
-    for (var suffix in const ["_2", "_strong"]) {
-      var sdkTestDir = path.join(
-          'tests', dirParts[0] + suffix, path.joinAll(dirParts.skip(1)));
-      var inputPath = path.join(testDirectory, '..', '..', '..', sdkTestDir);
-
-      if (!Directory(inputPath).existsSync()) continue;
-
-      var browsers = Platform.environment['DDC_BROWSERS'];
-      var runtime = browsers == 'Firefox' ? 'firefox' : 'chrome';
-      var config = OptionsParser()
-          .parse('-m release -c dartdevc --use-sdk --strong'.split(' ')
-            ..addAll(['-r', runtime, '--suite_dir', sdkTestDir]))
-          .single;
-
-      var testSuite =
-          StandardTestSuite.forDirectory(config, test_dart.Path(sdkTestDir));
-      var expectations = testSuite.readExpectations();
-
-      for (var file in _listFiles(inputPath, recursive: true)) {
-        var relativePath = path.relative(file, from: inputPath);
-        var outputPath = path.join(codegenTestDir, testDir, relativePath);
-
-        _ensureDirectory(path.dirname(outputPath));
-
-        if (file.endsWith("_test.dart")) {
-          var statusPath = path.withoutExtension(relativePath);
-
-          void _writeTest(String outputPath, String contents) {
-            if (contents.contains('package:unittest/')) {
-              // TODO(jmesserly): we could use directive parsing, but that
-              // feels like overkill.
-              // Alternatively, we could detect "unittest" use at runtime.
-              // We really need a better solution for Karma+mocha+unittest
-              // integration.
-              contents += '\nfinal _usesUnittestPackage = true;\n';
-            }
-            File(outputPath).writeAsStringSync(contents);
-          }
-
-          var contents = File(file).readAsStringSync();
-          if (isMultiTest(contents)) {
-            // It's a multitest, so expand it and add all of the variants.
-            var tests = <String, String>{};
-            extractTestsFromMultitest(file, contents, tests);
-
-            var fileName = path.basenameWithoutExtension(file);
-            var outputDir = path.dirname(outputPath);
-            tests.forEach((name, contents) {
-              var multiFile =
-                  path.join(outputDir, '${fileName}_${name}_multi.dart');
-              testFiles[multiFile] =
-                  expectations.expectations("$statusPath/$name");
-
-              _writeTest(multiFile, contents);
-            });
-          } else {
-            // It's a single test suite.
-            testFiles[outputPath] = expectations.expectations(statusPath);
-          }
-
-          // Write the test file.
-          //
-          // We do this even for multitests because import_self_test
-          // is a multitest, yet imports its own unexpanded form (!).
-          _writeTest(outputPath, contents);
-        } else {
-          // Copy the non-test file over, in case it is used as an import.
-          File(file).copySync(outputPath);
-        }
-      }
-    }
-  }
-
-  // Also include the other special files that live at the top level directory.
-  for (var file in _listFiles(codegenDir)) {
-    var relativePath = path.relative(file, from: codegenDir);
-    var outputPath = path.join(codegenTestDir, relativePath);
-
-    File(file).copySync(outputPath);
-    if (file.endsWith(".dart")) {
-      testFiles[outputPath] = Set()..add(Expectation.pass);
-    }
-  }
-
-  return testFiles;
-}
-
-/// Recursively creates [dir] if it doesn't exist.
-void _ensureDirectory(String dir) {
-  Directory(dir).createSync(recursive: true);
-}
-
-/// Lists all of the files within [dir] that match [filePattern].
-Iterable<String> _listFiles(String dir, {bool recursive = false}) {
-  return Directory(dir)
-      .listSync(recursive: recursive, followLinks: false)
-      .where((e) => e is File && filePattern.hasMatch(e.path))
-      .map((f) => f.path);
-}
-
-/// Parse directives from [contents] and find the complete set of transitive
-/// imports, reading files as needed.
-///
-/// This will not include dart:* libraries, as those are implicitly available.
-void _collectTransitiveImports(String contents, Set<String> libraries,
-    {String packageRoot, String from}) {
-  var uri = from;
-  if (packageRoot != null && path.isWithin(packageRoot, from)) {
-    uri = 'package:${path.relative(from, from: packageRoot)}';
-  }
-  if (!libraries.add(uri)) return;
-
-  var unit = parseDirectives(contents, name: from, suppressErrors: true);
-  for (var d in unit.directives) {
-    if (d is NamespaceDirectiveImpl) {
-      String uri = _resolveDirective(d);
-      if (uri == null ||
-          uri.startsWith('dart:') ||
-          uri.startsWith('package:')) {
-        continue;
-      }
-
-      var f = File(path.join(path.dirname(from), uri));
-      if (f.existsSync()) {
-        _collectTransitiveImports(f.readAsStringSync(), libraries,
-            packageRoot: packageRoot, from: f.path);
-      }
-    }
-  }
-}
-
-/// Simplified from ParseDartTask.resolveDirective.
-String _resolveDirective(NamespaceDirectiveImpl directive) {
-  StringLiteral uriLiteral = directive.uri;
-  String uriContent = uriLiteral.stringValue;
-  if (uriContent != null) {
-    uriContent = uriContent.trim();
-    directive.uriContent = uriContent;
-  }
-  return directive.validate() == null ? uriContent : null;
-}
diff --git a/pkg/dev_compiler/test/multitest.dart b/pkg/dev_compiler/test/multitest.dart
deleted file mode 100644
index f498744..0000000
--- a/pkg/dev_compiler/test/multitest.dart
+++ /dev/null
@@ -1,188 +0,0 @@
-// 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.
-
-// TODO(jmesserly): this was factored out of
-// dart-lang/sdk/tools/testing/dart/multitest.dart
-library dev_compiler.test.tools.multitest;
-
-final validMultitestOutcomes = Set<String>.from([
-  'ok',
-  'compile-time error',
-  'runtime error',
-  'static type warning',
-  'dynamic type error',
-  'checked mode compile-time error'
-]);
-
-final runtimeErrorOutcomes = [
-  'runtime error',
-  'dynamic type error',
-];
-
-// Require at least one non-space character before '//#'
-// Handle both //# and the legacy /// multitest regexp patterns.
-final _multiTestRegExp = RegExp(r"\S *//[#/] \w+:(.*)");
-
-final _multiTestRegExpSeperator = RegExp(r"//[#/]");
-
-bool isMultiTest(String contents) => _multiTestRegExp.hasMatch(contents);
-
-// Multitests are Dart test scripts containing lines of the form
-// " [some dart code] /// [key]: [error type]"
-//
-// For each key in the file, a new test file is made containing all
-// the normal lines of the file, and all of the multitest lines containing
-// that key, in the same order as in the source file.  The new test is expected
-// to pass if the error type listed is 'ok', or to fail if there is an error
-// type of type 'compile-time error', 'runtime error', 'static type warning', or
-// 'dynamic type error'.  The type error tests fail only in checked mode.
-// There is also a test created from only the untagged lines of the file,
-// with key "none", which is expected to pass.  This library extracts these
-// tests, writes them into a temporary directory, and passes them to the test
-// runner.  These tests may be referred to in the status files with the
-// pattern [test name]/[key].
-//
-// For example: file I_am_a_multitest.dart
-//   aaa
-//   bbb //# 02: runtime error
-//   ccc //# 02: continued
-//   ddd //# 07: static type warning
-//   eee //# 10: ok
-//   fff
-//
-// should create four tests:
-// I_am_a_multitest_none.dart
-//   aaa
-//   fff
-//
-// I_am_a_multitest_02.dart
-//   aaa
-//   bbb //# 02: runtime error
-//   ccc //# 02: continued
-//   fff
-//
-// I_am_a_multitest_07.dart
-//   aaa
-//   ddd //# 07: static type warning
-//   fff
-//
-// and I_am_a_multitest_10.dart
-//   aaa
-//   eee //# 10: ok
-//   fff
-//
-// Note that it is possible to indicate more than one acceptable outcome
-// in the case of dynamic and static type warnings
-//   aaa
-//   ddd //# 07: static type warning, dynamic type error
-//   fff
-
-void extractTestsFromMultitest(
-    String filePath, String contents, Map<String, String> tests) {
-  int first_newline = contents.indexOf('\n');
-  final String line_separator =
-      (first_newline == 0 || contents[first_newline - 1] != '\r')
-          ? '\n'
-          : '\r\n';
-  List<String> lines = contents.split(line_separator);
-  if (lines.last == '') lines.removeLast();
-  contents = null;
-
-  // Create the set of multitests, which will have a new test added each
-  // time we see a multitest line with a new key.
-  var testsAsLines = Map<String, List<String>>();
-  var outcomes = Map<String, Set<String>>();
-
-  // Add the default case with key "none".
-  testsAsLines['none'] = List<String>();
-  outcomes['none'] = Set<String>();
-
-  int lineCount = 0;
-  for (String line in lines) {
-    lineCount++;
-    var annotation = _Annotation.from(line);
-    if (annotation != null) {
-      testsAsLines.putIfAbsent(
-          annotation.key, () => List<String>.from(testsAsLines["none"]));
-      // Add line to test with annotation.key as key, empty line to the rest.
-      for (var key in testsAsLines.keys) {
-        testsAsLines[key].add(annotation.key == key ? line : "");
-      }
-      outcomes.putIfAbsent(annotation.key, () => Set<String>());
-      if (annotation.rest != 'continued') {
-        for (String nextOutcome in annotation.outcomesList) {
-          if (validMultitestOutcomes.contains(nextOutcome)) {
-            outcomes[annotation.key].add(nextOutcome);
-          } else {
-            print("Warning: Invalid test directive '$nextOutcome' on line "
-                "${lineCount}:\n${annotation.rest} ");
-          }
-        }
-      }
-    } else {
-      for (var test in testsAsLines.values) test.add(line);
-    }
-  }
-  // End marker, has a final line separator so we don't need to add it after
-  // joining the lines.
-  var marker = '// Test created from multitest named $filePath.'
-      '$line_separator';
-  testsAsLines.forEach((key, test) {
-    if (runtimeErrorOutcomes.any(outcomes[key].contains)) {
-      test.add('final _expectRuntimeError = true;');
-    }
-    test.add(marker);
-  });
-
-  var keysToDelete = [];
-  // Check that every key (other than the none case) has at least one outcome
-  for (var outcomeKey in outcomes.keys) {
-    if (outcomeKey != 'none' && outcomes[outcomeKey].isEmpty) {
-      print("Warning: Test ${outcomeKey} has no valid annotated outcomes.\n"
-          "Expected one of: ${validMultitestOutcomes.toString()}");
-      // If this multitest doesn't have an outcome, mark the multitest for
-      // deletion.
-      keysToDelete.add(outcomeKey);
-    }
-  }
-  // If a key/multitest was marked for deletion, do the necessary cleanup.
-  keysToDelete.forEach(outcomes.remove);
-  keysToDelete.forEach(testsAsLines.remove);
-
-  // Copy all the tests into the output map tests, as multiline strings.
-  for (String key in testsAsLines.keys) {
-    tests[key] = testsAsLines[key].join(line_separator);
-  }
-}
-
-// Represents a mutlitest annotation in the special //# comment.
-class _Annotation {
-  String key;
-  String rest;
-  List<String> outcomesList;
-  _Annotation() {}
-  factory _Annotation.from(String line) {
-    // Do an early return with "null" if this is not a valid multitest
-    // annotation.
-    if (!line.contains(_multiTestRegExpSeperator)) {
-      return null;
-    }
-    var parts = line
-        .split(_multiTestRegExpSeperator)[1]
-        .split(':')
-        .map((s) => s.trim())
-        .where((s) => s.length > 0)
-        .toList();
-    if (parts.length <= 1) {
-      return null;
-    }
-
-    var annotation = _Annotation();
-    annotation.key = parts[0];
-    annotation.rest = parts[1];
-    annotation.outcomesList =
-        annotation.rest.split(',').map((s) => s.trim()).toList();
-    return annotation;
-  }
-}
diff --git a/pkg/dev_compiler/tool/README.md b/pkg/dev_compiler/tool/README.md
deleted file mode 100644
index 0aade89..0000000
--- a/pkg/dev_compiler/tool/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## Tools for processing the Dart SDK
-
-# patch_sdk.dart
-
-This script combines:
-
-    tool/input_sdk/lib/...
-    tool/input_sdk/patch/...
-    tool/input_sdk/private/...
-
-and produces the merged SDK sources in:
-
-    gen/patched_sdk/...
-
-The result has all "external" keywords replaced with the @patch implementations.
-
-Generally local edits should be to `input_sdk/patch` and `input_sdk/private`,
-as those two directories are specific to DDC. `input_sdk/lib` should represent
-unmodified SDK sources to the maximum extent possible. Currently there are
-slight edits to the type annotations in some cases.
-
-See patch_sdk.dart for more information.
-
-# sdk_version_check.dart
-
-Asserts that the Dart VM is at least a particular semantic version.
-It returns an exit code to make it easy to integrate with shell scripts.
diff --git a/pkg/dev_compiler/tool/analyze.sh b/pkg/dev_compiler/tool/analyze.sh
deleted file mode 100755
index 7786289..0000000
--- a/pkg/dev_compiler/tool/analyze.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-set -e
-
-# Switch to the root directory of dev_compiler
-cd $( dirname "${BASH_SOURCE[0]}" )/..
-
-function fail {
-  echo -e "Analyzer found problems"
-  return 1
-}
-
-# Run analyzer on bin/dartdevc.dart, as it includes most of the code we care
-# about via transitive dependencies. This seems to be the only fast way to avoid
-# repeated analysis of the same code.
-# TODO(jmesserly): ideally we could do test/all_tests.dart, but
-# dart_runtime_test.dart creates invalid generic type instantiation AA.
-echo "Running dartanalyzer to check for errors/warnings..."
-dart ../analyzer_cli/bin/analyzer.dart --strong --package-warnings \
-    bin/dartdevc.dart web/main.dart \
-    | grep -v "\[info\]" | grep -v "\[hint\]" | (! grep $PWD) || fail
diff --git a/pkg/dev_compiler/tool/browser_test.sh b/pkg/dev_compiler/tool/browser_test.sh
deleted file mode 100755
index ffef3712..0000000
--- a/pkg/dev_compiler/tool/browser_test.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-
-# Check that node exists and refers to nodejs
-checknodejs=$(hash node 2> /dev/null  && node --help | grep js)
-if [[ $? -ne 0 ]]; then
-  echo 'NodeJS (node) is not properly installed'
-  echo 'Note, on Ubuntu / Debian, you may need to also install:'
-  echo '$ sudo apt-get install nodejs-legacy'
-  exit 1
-fi
-
-# Check that npm is installed
-checknpm=$(hash npm 2> /dev/null)
-if [[ $? -ne 0 ]]; then
-  echo 'Node Package Manager (npm) is not properly installed'
-  exit 1
-fi
-
-# Check for Chrome Canary on Ubuntu
-# The default install path is sometimes google-chrome-unstable
-# instead of google-chrome-canary as karma expects.
-if [[ "$OSTYPE" == "linux-gnu" ]] && [[ -z "$CHROME_CANARY_BIN" ]]; then
-  checkcanary=$(hash google-chrome-canary 2> /dev/null)
-  if [[ $? -ne 0 ]]; then
-    checkunstable=$(hash google-chrome-unstable 2> /dev/null)
-    if [[ $? -ne 0 ]]; then
-      echo 'Chrome Canary is not found'
-      echo 'Please install and/or set CHROME_CANARY_BIN to its path'
-      exit 1
-    else
-      export CHROME_CANARY_BIN=google-chrome-unstable
-    fi
-  fi
-fi
-
-npm install
-npm test
diff --git a/pkg/dev_compiler/tool/build_sdk.sh b/pkg/dev_compiler/tool/build_sdk.sh
deleted file mode 100755
index 62c012d..0000000
--- a/pkg/dev_compiler/tool/build_sdk.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-set -e
-# switch to the root directory of dev_compiler
-cd $( dirname "${BASH_SOURCE[0]}" )/..
-
-echo "*** Patching SDK"
-{ # Try
-  dart -c tool/patch_sdk.dart ../.. tool/input_sdk gen/patched_sdk \
-      > gen/sdk_analyzer_errors.txt
-} || { # Catch
-  # Show errors if the sdk didn't compile.
-  cat gen/sdk_analyzer_errors.txt
-  exit 1
-}
-
-echo "*** Compiling SDK to JavaScript"
-{ # Try
-  # TODO(jmesserly): break out dart:html & friends into a module.
-  dart -c tool/build_sdk.dart \
-      --dart-sdk gen/patched_sdk \
-      --dart-sdk-summary=build \
-      --summary-out gen/sdk/ddc_sdk.sum \
-      --source-map \
-      --source-map-comment \
-      --inline-source-map \
-      --modules=amd \
-      -o gen/sdk/amd/dart_sdk.js \
-      --modules=es6 \
-      -o gen/sdk/es6/dart_sdk.js \
-      --modules=common \
-      -o gen/sdk/common/dart_sdk.js \
-      --modules=legacy \
-      -o gen/sdk/legacy/dart_sdk.js \
-      "$@" > gen/sdk_analyzer_errors.txt
-} || { # Catch
-  # Show errors if the sdk didn't compile.
-  cat gen/sdk_analyzer_errors.txt
-  exit 1
-}
diff --git a/pkg/dev_compiler/tool/coverage.sh b/pkg/dev_compiler/tool/coverage.sh
deleted file mode 100755
index 70d7a01..0000000
--- a/pkg/dev_compiler/tool/coverage.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-set -e # bail on error
-
-# Prerequisite: ./tool/build_sdk.sh has been run.
-
-# Install dart_coveralls; gather and send coverage data.
-if [ "$COVERALLS_TOKEN" ] && [ "$TRAVIS_DART_VERSION" = "dev" ]; then
-  echo "*** Running dart_coveralls"
-  pub global run dart_coveralls report \
-    --token $COVERALLS_TOKEN \
-    --retry 2 \
-    --throw-on-connectivity-error \
-    --exclude-test-files \
-    test/all_tests.dart
-  echo "*** Done running dart_coveralls"
-fi
diff --git a/pkg/dev_compiler/tool/dd8 b/pkg/dev_compiler/tool/dd8
deleted file mode 100755
index 6f3154c..0000000
--- a/pkg/dev_compiler/tool/dd8
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-#
-# Compiles code with DDC and runs the resulting code in d8 (the v8 command
-# line tool).  Only recent versions of v8/d8 that include es6 modules are
-# supported.
-#
-# The first script supplied should be the one with `main()`.
-#
-# Saves the output in the same directory as the sources for convenient
-# inspection, modification or rerunning the code.
-#
-# TODO(vsm): Investigate what polyfills from dart2js would be useful here:
-# sdk/lib/_internal/js_runtime/lib/preambles/d8.js
-#
-D8=$(type -P d8)
-if [ ! $D8 ]; then
-  echo "Please add d8 to your PATH."
-  exit 1
-fi
-set -e
-DDC_PATH=$( cd $( dirname "${BASH_SOURCE[0]}" )/.. && pwd )
-BASENAME=$( basename "${1%.*}")
-LIBROOT=$(cd $( dirname "${1%.*}") && pwd)
-
-# Build the SDK in a place where we can find it if it's not already there.
-if [ ! -e gen/sdk/ddc_sdk.sum ]; then
-  ./tool/build_sdk.sh
-fi
-
-# D8 uses relative paths.  That won't work for the sdk right now as the
-# summary is in a slightly different location.
-# D8/ES6 imports also do not add a ".js" extension, so this is "dart_sdk"
-# instead of "dart_sdk.js".
-if [ ! -f dart_sdk ]; then
-    ln -s $DDC_PATH/gen/sdk/es6/dart_sdk.js dart_sdk
-fi
-
-dart -c $DDC_PATH/bin/dartdevc.dart --modules=es6 --library-root=$LIBROOT \
-    --dart-sdk-summary=$DDC_PATH/gen/sdk/ddc_sdk.sum \
-    -o $LIBROOT/$BASENAME.js $*
-pushd $LIBROOT > /dev/null
-echo "
-    import { dart, _isolate_helper } from 'dart_sdk';
-    import { $BASENAME } from '$BASENAME.js';
-    let main = $BASENAME.main;
-    dart.ignoreWhitelistedErrors(false);
-    try {
-      _isolate_helper.startRootIsolate(() => {}, []);
-      main();
-    } catch(e) {
-      console.error(e.toString(), dart.stackTrace(e).toString());
-    }" \
-    > $LIBROOT/$BASENAME.d8.js
-$D8 --module $BASENAME.d8.js || exit 1
-popd > /dev/null
diff --git a/pkg/dev_compiler/tool/dependency_overrides.sh b/pkg/dev_compiler/tool/dependency_overrides.sh
deleted file mode 100644
index 2b0c159..0000000
--- a/pkg/dev_compiler/tool/dependency_overrides.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-
-function add_dependency_override() {
-  local name=$1
-  local path=$2
-  if ! cat pubspec.yaml | grep "dependency_overrides:" ; then
-    echo "dependency_overrides:" >> pubspec.yaml
-  fi
-  local pubspec=`cat pubspec.yaml | grep -v "$name: .path: "`
-  echo "$pubspec" > pubspec.yaml
-  if [[ -n "$path" ]]; then
-    echo "  $name: {path: $path}" >> pubspec.yaml
-  fi
-}
-
-function checkout_dependency_override_from_github() {
-  local dependency_name=$1
-  local org_project=$2
-  local branch=$3
-  local path=${4:-/}
-
-  local url=https://github.com/$org_project
-
-  echo "** Checking out $dependency_name override from $url$path#$branch"
-
-  : ${TMPDIR:="/tmp"}
-  local dep_dir=$TMPDIR/dependency_overrides/$dependency_name
-
-  [[ -d `dirname $dep_dir` ]] || mkdir `dirname $dep_dir`
-
-  if [[ -d $dep_dir ]]; then
-    # Check there's no local modifications before removing existing directory.
-    (
-      cd $dep_dir
-      if git status -s | grep . ; then
-        echo "Found local modifications in $dep_dir: aborting"
-        exit 1
-      fi
-    )
-    rm -fR $dep_dir
-  fi
-
-  if [[ "$path" == "/" ]]; then
-    # Checkout only the branch, with no history:
-    git clone --depth 1 --branch $branch $url $dep_dir
-  else
-    (
-      mkdir $dep_dir
-      cd $dep_dir
-
-      # Sparse-checkout only the path + branch, with no history:
-      git init
-      git remote add origin $url
-      git config core.sparsecheckout true
-      echo $path >> .git/info/sparse-checkout
-      git pull --depth=1 origin $branch
-    )
-  fi
-  add_dependency_override $dependency_name $dep_dir$path
-}
diff --git a/pkg/dev_compiler/tool/format.sh b/pkg/dev_compiler/tool/format.sh
deleted file mode 100755
index 01f7e3b..0000000
--- a/pkg/dev_compiler/tool/format.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-set -e
-
-# Switch to the root directory of dev_compiler
-cd $( dirname "${BASH_SOURCE[0]}" )/..
-
-# Run formatter in rewrite mode on all files that are part of the project.
-# This checks that all files are commited first to git, so no state is lost.
-# The formatter ignores:
-#   * local files that have never been added to git,
-#   * subdirectories of test/ and tool/, unless explicitly added. Those dirs
-#     contain a lot of generated or external source we should not reformat.
-(files=`git ls-files 'bin/*.dart' 'lib/*.dart' test/*.dart test/checker/*.dart \
-  tool/*.dart | grep -v lib/src/js_ast/`; git status -s $files | grep -q . \
-  && echo "Did not run the formatter, please commit edited files first." \
-  || (echo "Running dart formatter" ; \
-  dart ../../third_party/pkg_tested/dart_style/bin/format.dart -w $files))
diff --git a/pkg/dev_compiler/tool/get_chrome_canary.sh b/pkg/dev_compiler/tool/get_chrome_canary.sh
deleted file mode 100755
index 8f02313..0000000
--- a/pkg/dev_compiler/tool/get_chrome_canary.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-#
-# Ensures the latest Chrome Canary is available, downloading it
-# if necessary.
-#
-# Directory ~/.chrome/canary can safely be cached as the existing
-# version will be checked before reusing a previously downloaded
-# canary.
-#
-
-set -eu
-
-readonly CHROME_SNAPSHOTS=https://storage.googleapis.com/chromium-browser-snapshots
-declare CHROME_URL
-declare CHROME_NAME
-declare CHROME_RELATIVE_BIN
-
-if [[ "$OSTYPE" == "linux"* ]]; then
-  CHROME_URL=$CHROME_SNAPSHOTS/Linux_x64
-  CHROME_NAME=chrome-linux
-  CHROME_RELATIVE_BIN=chrome
-elif [[ "$OSTYPE" == "darwin"* ]]; then
-  CHROME_URL=$CHROME_SNAPSHOTS/Mac
-  CHROME_NAME=chrome-mac
-  CHROME_RELATIVE_BIN=Chromium.app/Contents/MacOS/Chromium
-elif [[ "$OSTYPE" == "cygwin" ]]; then
-  CHROME_URL=$CHROME_SNAPSHOTS/Win
-  CHROME_NAME=chrome-win32
-  CHROME_RELATIVE_BIN=chrome.exe
-else
-  echo "Unknown platform: $OSTYPE" >&2
-  exit 1
-fi
-
-readonly CHROME_CANARY_DIR=$HOME/.chrome/canary
-readonly CHROME_CANARY_BIN=$CHROME_CANARY_DIR/$CHROME_NAME/$CHROME_RELATIVE_BIN
-readonly CHROME_CANARY_REV_FILE=$CHROME_CANARY_DIR/VERSION
-readonly CHROME_REV=$(curl -s ${CHROME_URL}/LAST_CHANGE)
-
-function getCanary() {
-  local existing_version=""
-  if [[ -f $CHROME_CANARY_REV_FILE && -x $CHROME_CANARY_BIN ]]; then
-    existing_version=`cat $CHROME_CANARY_REV_FILE`
-    echo "Found cached Chrome Canary version: $existing_version"
-  fi
-
-  if [[ "$existing_version" != "$CHROME_REV" ]]; then
-    echo "Downloading Chrome Canary version: $CHROME_REV"
-    rm -fR $CHROME_CANARY_DIR
-    mkdir -p $CHROME_CANARY_DIR
-
-    local file=$CHROME_NAME.zip
-    curl ${CHROME_URL}/${CHROME_REV}/$file -o $file
-    unzip $file -d $CHROME_CANARY_DIR
-    rm $file
-    echo $CHROME_REV > $CHROME_CANARY_REV_FILE
-  fi
-}
-
-getCanary >&2
-
-echo $CHROME_CANARY_BIN
diff --git a/pkg/dev_compiler/tool/override_analyzer_dependency.sh b/pkg/dev_compiler/tool/override_analyzer_dependency.sh
deleted file mode 100755
index a887498..0000000
--- a/pkg/dev_compiler/tool/override_analyzer_dependency.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-set -e
-cd $( dirname "${BASH_SOURCE[0]}" )/..
-
-. ./tool/dependency_overrides.sh
-
-checkout_dependency_override_from_github \
-  analyzer dart-lang/sdk $1 /pkg/analyzer/
diff --git a/pkg/dev_compiler/tool/patch_sdk.sh b/pkg/dev_compiler/tool/patch_sdk.sh
deleted file mode 100755
index 45370d1..0000000
--- a/pkg/dev_compiler/tool/patch_sdk.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-set -e
-
-cd "$(dirname "$BASH_SOURCE[0]")/.."
-dart -c tool/patch_sdk.dart ../.. tool/input_sdk gen/patched_sdk
diff --git a/pkg/dev_compiler/tool/presubmit.sh b/pkg/dev_compiler/tool/presubmit.sh
deleted file mode 100755
index 5ad1726..0000000
--- a/pkg/dev_compiler/tool/presubmit.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-set -e
-DIR=$(dirname "${BASH_SOURCE[0]}")
-$DIR/build_sdk.sh
-$DIR/test.sh
-$DIR/browser_test.sh
-$DIR/analyze.sh
-echo "*** Presubmit finished"
diff --git a/pkg/dev_compiler/tool/sdk_version_check.dart b/pkg/dev_compiler/tool/sdk_version_check.dart
deleted file mode 100755
index 4d64c43..0000000
--- a/pkg/dev_compiler/tool/sdk_version_check.dart
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env dart
-// 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.
-
-// Checks that the Dart VM is at least the requested version
-import 'dart:io' show Platform, exit;
-import 'package:pub_semver/pub_semver.dart' show Version;
-
-void main(List<String> argv) {
-  if (argv.length == 0 || argv[0] == '--help') {
-    print('usage: sdk_version_check.dart <minimum-version>');
-    print('for example: sdk_version_check.dart 1.9.0-dev.4.0');
-    exit(2);
-  }
-  var minVersion = Version.parse(argv[0]);
-
-  var vmStr = Platform.version;
-  vmStr = vmStr.substring(0, vmStr.indexOf(' '));
-  var vmVersion = Version.parse(vmStr);
-  if (vmVersion < minVersion) {
-    print('Requires VM $minVersion but actual version $vmVersion');
-    exit(1);
-  }
-}
diff --git a/pkg/dev_compiler/tool/test.sh b/pkg/dev_compiler/tool/test.sh
deleted file mode 100755
index 4f1db8c..0000000
--- a/pkg/dev_compiler/tool/test.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-set -e # bail on error
-
-function fail {
-  echo -e "Some tests failed"
-  return 1
-}
-
-# Some tests require being run from the package root
-# switch to the root directory of dev_compiler
-cd $( dirname "${BASH_SOURCE[0]}" )/..
-
-# Check minimum SDK version
-./tool/sdk_version_check.dart 1.9.0-dev.4.0 || fail
-
-# Delete codegen expectation files to be sure that if a test fails to compile
-# we don't erroneously pick up the old version.
-if [ -d test/codegen/expect ]; then
-  rm -r test/codegen/expect || fail
-fi
-
-if [ -d gen/codegen_input ]; then
-  rm -r gen/codegen_input || fail
-fi
-
-if [ -d gen/codegen_output ]; then
-  rm -r gen/codegen_output || fail
-fi
-
-# Build the SDK summary in a place where the tests can find it if it's not
-# already there.
-if [ ! -e gen/sdk/ddc_sdk.sum ]; then
-  ./tool/build_sdk.sh
-fi
-
-./tool/build_pkgs.dart \
-    --analyzer-sdk=gen/sdk/ddc_sdk.sum \
-    --output=gen/codegen_output/pkg
-
-# Make sure we don't run tests in code coverage mode.
-# this will cause us to generate files that are not part of the baseline
-# TODO(jmesserly): we should move diff into Dart code, so we don't need to
-# worry about this. Also if we're in code coverage mode, we should avoid running
-# all_tests twice. Finally self_host_test is not currently being tracked by
-# code coverage.
-unset COVERALLS_TOKEN
-dart test/all_tests.dart || fail
-
-{
-  fc=`find test -name "*.dart" |\
-      xargs grep "/\*\S* should be \S*\*/" | wc -l`
-  echo "There are" $fc "tests marked as known failures."
-}
-
-echo -e "All tests built - run tool/browser_test.sh to run tests"
diff --git a/pkg/pkg.status b/pkg/pkg.status
index 92247cd..e2a1a1a 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -26,13 +26,10 @@
 analyzer_plugin/test/plugin/folding_mixin_test: Slow, Pass
 analyzer_plugin/tool/spec/check_all_test: Skip # Issue 29133
 dart_messages/test/dart_messages_test: Skip # Requires a package root.
-dev_compiler/gen/*: SkipByDesign # Skip dev_compiler codegen tests
-dev_compiler/test/codegen/*: Skip # Skip dev_compiler codegen tests
-dev_compiler/test/codegen_test: Skip # Skip dev_compiler codegen tests
-dev_compiler/test/options/*: Skip # Skip dev_compiler codegen tests
-dev_compiler/test/sourcemap/*: SkipByDesign # Skip dev_compiler codegen tests
+dev_compiler/test/options/*: Skip # test needs fixes
+dev_compiler/test/sourcemap/*: SkipByDesign # Skip sourcemap tests
 dev_compiler/test/sourcemap/testfiles/*: SkipByDesign # Skip dev_compiler codegen tests
-dev_compiler/test/worker/*: Skip # Skip dev_compiler codegen tests
+dev_compiler/test/worker/*: Skip # test needs fixes
 front_end/test/fasta/analyze_test: Pass, Slow
 front_end/test/fasta/ast_builder_test: Pass, Slow
 front_end/test/fasta/bootstrap_test: Pass, Slow