Unnecessary new (#20138)

* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
diff --git a/packages/flutter_tools/bin/fuchsia_asset_builder.dart b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
index 9eac7f4..e547025 100644
--- a/packages/flutter_tools/bin/fuchsia_asset_builder.dart
+++ b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
@@ -32,7 +32,7 @@
 
 Future<Null> main(List<String> args) {
   return runInContext<Null>(() => run(args), overrides: <Type, Generator>{
-    Usage: () => new DisabledUsage(),
+    Usage: () => DisabledUsage(),
   });
 }
 
@@ -44,7 +44,7 @@
 }
 
 Future<Null> run(List<String> args) async {
-  final ArgParser parser = new ArgParser()
+  final ArgParser parser = ArgParser()
     ..addOption(_kOptionPackages, help: 'The .packages file')
     ..addOption(_kOptionAsset,
         help: 'The directory where to put temporary files')
diff --git a/packages/flutter_tools/bin/fuchsia_tester.dart b/packages/flutter_tools/bin/fuchsia_tester.dart
index 151cdf8..2f0dbf8 100644
--- a/packages/flutter_tools/bin/fuchsia_tester.dart
+++ b/packages/flutter_tools/bin/fuchsia_tester.dart
@@ -43,12 +43,12 @@
 
 void main(List<String> args) {
   runInContext<Null>(() => run(args), overrides: <Type, Generator>{
-    Usage: () => new DisabledUsage(),
+    Usage: () => DisabledUsage(),
   });
 }
 
 Future<Null> run(List<String> args) async {
-  final ArgParser parser = new ArgParser()
+  final ArgParser parser = ArgParser()
     ..addOption(_kOptionPackages, help: 'The .packages file')
     ..addOption(_kOptionShell, help: 'The Flutter shell binary')
     ..addOption(_kOptionTestDirectory, help: 'Directory containing the tests')
@@ -108,7 +108,7 @@
 
     CoverageCollector collector;
     if (argResults['coverage']) {
-      collector = new CoverageCollector();
+      collector = CoverageCollector();
     }
 
 
diff --git a/packages/flutter_tools/lib/executable.dart b/packages/flutter_tools/lib/executable.dart
index 307daa3..6cb4996 100644
--- a/packages/flutter_tools/lib/executable.dart
+++ b/packages/flutter_tools/lib/executable.dart
@@ -50,35 +50,35 @@
   final bool verboseHelp = help && verbose;
 
   await runner.run(args, <FlutterCommand>[
-    new AnalyzeCommand(verboseHelp: verboseHelp),
-    new AttachCommand(verboseHelp: verboseHelp),
-    new BuildCommand(verboseHelp: verboseHelp),
-    new ChannelCommand(verboseHelp: verboseHelp),
-    new CleanCommand(),
-    new ConfigCommand(verboseHelp: verboseHelp),
-    new CreateCommand(),
-    new DaemonCommand(hidden: !verboseHelp),
-    new DevicesCommand(),
-    new DoctorCommand(verbose: verbose),
-    new DriveCommand(),
-    new EmulatorsCommand(),
-    new FormatCommand(),
-    new FuchsiaReloadCommand(),
-    new IdeConfigCommand(hidden: !verboseHelp),
-    new InjectPluginsCommand(hidden: !verboseHelp),
-    new InstallCommand(),
-    new LogsCommand(),
-    new MaterializeCommand(),
-    new PackagesCommand(),
-    new PrecacheCommand(),
-    new RunCommand(verboseHelp: verboseHelp),
-    new ScreenshotCommand(),
-    new ShellCompletionCommand(),
-    new StopCommand(),
-    new TestCommand(verboseHelp: verboseHelp),
-    new TraceCommand(),
-    new UpdatePackagesCommand(hidden: !verboseHelp),
-    new UpgradeCommand(),
+    AnalyzeCommand(verboseHelp: verboseHelp),
+    AttachCommand(verboseHelp: verboseHelp),
+    BuildCommand(verboseHelp: verboseHelp),
+    ChannelCommand(verboseHelp: verboseHelp),
+    CleanCommand(),
+    ConfigCommand(verboseHelp: verboseHelp),
+    CreateCommand(),
+    DaemonCommand(hidden: !verboseHelp),
+    DevicesCommand(),
+    DoctorCommand(verbose: verbose),
+    DriveCommand(),
+    EmulatorsCommand(),
+    FormatCommand(),
+    FuchsiaReloadCommand(),
+    IdeConfigCommand(hidden: !verboseHelp),
+    InjectPluginsCommand(hidden: !verboseHelp),
+    InstallCommand(),
+    LogsCommand(),
+    MaterializeCommand(),
+    PackagesCommand(),
+    PrecacheCommand(),
+    RunCommand(verboseHelp: verboseHelp),
+    ScreenshotCommand(),
+    ShellCompletionCommand(),
+    StopCommand(),
+    TestCommand(verboseHelp: verboseHelp),
+    TraceCommand(),
+    UpdatePackagesCommand(hidden: !verboseHelp),
+    UpgradeCommand(),
   ], verbose: verbose,
      muteCommandLogging: muteCommandLogging,
      verboseHelp: verboseHelp);
diff --git a/packages/flutter_tools/lib/runner.dart b/packages/flutter_tools/lib/runner.dart
index 2154cd3..a8f7a9a 100644
--- a/packages/flutter_tools/lib/runner.dart
+++ b/packages/flutter_tools/lib/runner.dart
@@ -40,11 +40,11 @@
   if (muteCommandLogging) {
     // Remove the verbose option; for help and doctor, users don't need to see
     // verbose logs.
-    args = new List<String>.from(args);
+    args = List<String>.from(args);
     args.removeWhere((String option) => option == '-v' || option == '--verbose');
   }
 
-  final FlutterCommandRunner runner = new FlutterCommandRunner(verboseHelp: verboseHelp);
+  final FlutterCommandRunner runner = FlutterCommandRunner(verboseHelp: verboseHelp);
   commands.forEach(runner.addCommand);
 
   return runInContext<int>(() async {
@@ -138,7 +138,7 @@
         // get caught by our zone's `onError` handler. In order to avoid an
         // infinite error loop, we throw an error that is recognized above
         // and will trigger an immediate exit.
-        throw new ProcessExit(1, immediate: true);
+        throw ProcessExit(1, immediate: true);
       }
     }
   }
@@ -156,7 +156,7 @@
 Future<File> _createLocalCrashReport(List<String> args, dynamic error, StackTrace stackTrace) async {
   File crashFile = getUniqueFile(crashFileSystem.currentDirectory, 'flutter', 'log');
 
-  final StringBuffer buffer = new StringBuffer();
+  final StringBuffer buffer = StringBuffer();
 
   buffer.writeln('Flutter crash report; please file at https://github.com/flutter/flutter/issues.\n');
 
@@ -188,7 +188,7 @@
 
 Future<String> _doctorText() async {
   try {
-    final BufferLogger logger = new BufferLogger();
+    final BufferLogger logger = BufferLogger();
 
     await context.run<bool>(
       body: () => doctor.diagnose(verbose: true),
@@ -210,7 +210,7 @@
   // Send any last analytics calls that are in progress without overly delaying
   // the tool's exit (we wait a maximum of 250ms).
   if (flutterUsage.enabled) {
-    final Stopwatch stopwatch = new Stopwatch()..start();
+    final Stopwatch stopwatch = Stopwatch()..start();
     await flutterUsage.ensureAnalyticsSent();
     printTrace('ensureAnalyticsSent: ${stopwatch.elapsedMilliseconds}ms');
   }
@@ -218,7 +218,7 @@
   // Run shutdown hooks before flushing logs
   await runShutdownHooks();
 
-  final Completer<Null> completer = new Completer<Null>();
+  final Completer<Null> completer = Completer<Null>();
 
   // Give the task / timer queue one cycle through before we hard exit.
   Timer.run(() {
diff --git a/packages/flutter_tools/lib/src/android/adb.dart b/packages/flutter_tools/lib/src/android/adb.dart
index 942dbd8..4a3fc36 100644
--- a/packages/flutter_tools/lib/src/android/adb.dart
+++ b/packages/flutter_tools/lib/src/android/adb.dart
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-final RegExp _whitespaceRegex = new RegExp(r'\s+');
+final RegExp _whitespaceRegex = RegExp(r'\s+');
 
 String cleanAdbDeviceName(String name) {
   // Some emulators use `___` in the name as separators.
diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart
index fec83df..582283c 100644
--- a/packages/flutter_tools/lib/src/android/android_device.dart
+++ b/packages/flutter_tools/lib/src/android/android_device.dart
@@ -162,7 +162,7 @@
 
   bool _isValidAdbVersion(String adbVersion) {
     // Sample output: 'Android Debug Bridge version 1.0.31'
-    final Match versionFields = new RegExp(r'(\d+)\.(\d+)\.(\d+)').firstMatch(adbVersion);
+    final Match versionFields = RegExp(r'(\d+)\.(\d+)\.(\d+)').firstMatch(adbVersion);
     if (versionFields != null) {
       final int majorVersion = int.parse(versionFields[1]);
       final int minorVersion = int.parse(versionFields[2]);
@@ -283,7 +283,7 @@
     status.stop();
     // Some versions of adb exit with exit code 0 even on failure :(
     // Parsing the output to check for failures.
-    final RegExp failureExp = new RegExp(r'^Failure.*$', multiLine: true);
+    final RegExp failureExp = RegExp(r'^Failure.*$', multiLine: true);
     final String failure = failureExp.stringMatch(installResult.stdout);
     if (failure != null) {
       printError('Package install error: $failure');
@@ -307,7 +307,7 @@
       return false;
 
     final String uninstallOut = (await runCheckedAsync(adbCommandForDevice(<String>['uninstall', app.id]))).stdout;
-    final RegExp failureExp = new RegExp(r'^Failure.*$', multiLine: true);
+    final RegExp failureExp = RegExp(r'^Failure.*$', multiLine: true);
     final String failure = failureExp.stringMatch(uninstallOut);
     if (failure != null) {
       printError('Package uninstall error: $failure');
@@ -358,14 +358,14 @@
     bool ipv6 = false,
   }) async {
     if (!await _checkForSupportedAdbVersion() || !await _checkForSupportedAndroidVersion())
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
 
     final TargetPlatform devicePlatform = await targetPlatform;
     if (!(devicePlatform == TargetPlatform.android_arm ||
           devicePlatform == TargetPlatform.android_arm64) &&
         !debuggingOptions.buildInfo.isDebug) {
       printError('Profile and release builds are only supported on ARM targets.');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
     BuildInfo buildInfo = debuggingOptions.buildInfo;
@@ -389,7 +389,7 @@
     await stopApp(package);
 
     if (!await _installLatestApp(package))
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
 
     final bool traceStartup = platformArgs['trace-startup'] ?? false;
     final AndroidApk apk = package;
@@ -400,7 +400,7 @@
     if (debuggingOptions.debuggingEnabled) {
       // TODO(devoncarew): Remember the forwarding information (so we can later remove the
       // port forwarding or set it up again when adb fails on us).
-      observatoryDiscovery = new ProtocolDiscovery.observatory(
+      observatoryDiscovery = ProtocolDiscovery.observatory(
         getLogReader(),
         portForwarder: portForwarder,
         hostPort: debuggingOptions.observatoryPort,
@@ -441,11 +441,11 @@
     // This invocation returns 0 even when it fails.
     if (result.contains('Error: ')) {
       printError(result.trim());
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
     if (!debuggingOptions.debuggingEnabled)
-      return new LaunchResult.succeeded();
+      return LaunchResult.succeeded();
 
     // Wait for the service protocol port here. This will complete once the
     // device has printed "Observatory is listening on...".
@@ -459,10 +459,10 @@
         observatoryUri = await observatoryDiscovery.uri;
       }
 
-      return new LaunchResult.succeeded(observatoryUri: observatoryUri);
+      return LaunchResult.succeeded(observatoryUri: observatoryUri);
     } catch (error) {
       printError('Error waiting for a debug connection: $error');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     } finally {
       await observatoryDiscovery.cancel();
     }
@@ -485,14 +485,14 @@
   @override
   DeviceLogReader getLogReader({ApplicationPackage app}) {
     // The Android log reader isn't app-specific.
-    _logReader ??= new _AdbLogReader(this);
+    _logReader ??= _AdbLogReader(this);
     return _logReader;
   }
 
   @override
-  DevicePortForwarder get portForwarder => _portForwarder ??= new _AndroidDevicePortForwarder(this);
+  DevicePortForwarder get portForwarder => _portForwarder ??= _AndroidDevicePortForwarder(this);
 
-  static final RegExp _timeRegExp = new RegExp(r'^\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}', multiLine: true);
+  static final RegExp _timeRegExp = RegExp(r'^\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}', multiLine: true);
 
   /// Return the most recent timestamp in the Android log or null if there is
   /// no available timestamp. The format can be passed to logcat's -T option.
@@ -522,7 +522,7 @@
 
 Map<String, String> parseAdbDeviceProperties(String str) {
   final Map<String, String> properties = <String, String>{};
-  final RegExp propertyExp = new RegExp(r'\[(.*?)\]: \[(.*?)\]');
+  final RegExp propertyExp = RegExp(r'\[(.*?)\]: \[(.*?)\]');
   for (Match match in propertyExp.allMatches(str))
     properties[match.group(1)] = match.group(2);
   return properties;
@@ -557,7 +557,7 @@
 }
 
 // 015d172c98400a03       device usb:340787200X product:nakasi model:Nexus_7 device:grouper
-final RegExp _kDeviceRegex = new RegExp(r'^(\S+)\s+(\S+)(.*)');
+final RegExp _kDeviceRegex = RegExp(r'^(\S+)\s+(\S+)(.*)');
 
 /// Parse the given `adb devices` output in [text], and fill out the given list
 /// of devices and possible device issue diagnostics. Either argument can be null,
@@ -579,7 +579,7 @@
       continue;
 
     // Skip lines about adb server and client version not matching
-    if (line.startsWith(new RegExp(r'adb server (version|is out of date)'))) {
+    if (line.startsWith(RegExp(r'adb server (version|is out of date)'))) {
       diagnostics?.add(line);
       continue;
     }
@@ -616,7 +616,7 @@
       } else if (deviceState == 'offline') {
         diagnostics?.add('Device $deviceID is offline.');
       } else {
-        devices?.add(new AndroidDevice(
+        devices?.add(AndroidDevice(
           deviceID,
           productID: info['product'],
           modelID: info['model'] ?? deviceID,
@@ -635,7 +635,7 @@
 /// A log reader that logs from `adb logcat`.
 class _AdbLogReader extends DeviceLogReader {
   _AdbLogReader(this.device) {
-    _linesController = new StreamController<String>.broadcast(
+    _linesController = StreamController<String>.broadcast(
       onListen: _start,
       onCancel: _stop
     );
@@ -659,7 +659,7 @@
     // Dart's DateTime parse function accepts this format so long as we provide
     // the year, resulting in:
     // yyyy-mm-dd hours:minutes:seconds.milliseconds.
-    return DateTime.parse('${new DateTime.now().year}-$adbTimestamp');
+    return DateTime.parse('${DateTime.now().year}-$adbTimestamp');
   }
 
   void _start() {
@@ -683,25 +683,25 @@
   }
 
   // 'W/ActivityManager(pid): '
-  static final RegExp _logFormat = new RegExp(r'^[VDIWEF]\/.*?\(\s*(\d+)\):\s');
+  static final RegExp _logFormat = RegExp(r'^[VDIWEF]\/.*?\(\s*(\d+)\):\s');
 
   static final List<RegExp> _whitelistedTags = <RegExp>[
-    new RegExp(r'^[VDIWEF]\/flutter[^:]*:\s+', caseSensitive: false),
-    new RegExp(r'^[IE]\/DartVM[^:]*:\s+'),
-    new RegExp(r'^[WEF]\/AndroidRuntime:\s+'),
-    new RegExp(r'^[WEF]\/ActivityManager:\s+.*(\bflutter\b|\bdomokit\b|\bsky\b)'),
-    new RegExp(r'^[WEF]\/System\.err:\s+'),
-    new RegExp(r'^[F]\/[\S^:]+:\s+')
+    RegExp(r'^[VDIWEF]\/flutter[^:]*:\s+', caseSensitive: false),
+    RegExp(r'^[IE]\/DartVM[^:]*:\s+'),
+    RegExp(r'^[WEF]\/AndroidRuntime:\s+'),
+    RegExp(r'^[WEF]\/ActivityManager:\s+.*(\bflutter\b|\bdomokit\b|\bsky\b)'),
+    RegExp(r'^[WEF]\/System\.err:\s+'),
+    RegExp(r'^[F]\/[\S^:]+:\s+')
   ];
 
   // 'F/libc(pid): Fatal signal 11'
-  static final RegExp _fatalLog = new RegExp(r'^F\/libc\s*\(\s*\d+\):\sFatal signal (\d+)');
+  static final RegExp _fatalLog = RegExp(r'^F\/libc\s*\(\s*\d+\):\sFatal signal (\d+)');
 
   // 'I/DEBUG(pid): ...'
-  static final RegExp _tombstoneLine = new RegExp(r'^[IF]\/DEBUG\s*\(\s*\d+\):\s(.+)$');
+  static final RegExp _tombstoneLine = RegExp(r'^[IF]\/DEBUG\s*\(\s*\d+\):\s(.+)$');
 
   // 'I/DEBUG(pid): Tombstone written to: '
-  static final RegExp _tombstoneTerminator = new RegExp(r'^Tombstone written to:\s');
+  static final RegExp _tombstoneTerminator = RegExp(r'^Tombstone written to:\s');
 
   // we default to true in case none of the log lines match
   bool _acceptedLastLine = true;
@@ -826,7 +826,7 @@
         if (hostPort == null || devicePort == null)
           continue;
 
-        ports.add(new ForwardedPort(hostPort, devicePort));
+        ports.add(ForwardedPort(hostPort, devicePort));
       }
     }
 
diff --git a/packages/flutter_tools/lib/src/android/android_emulator.dart b/packages/flutter_tools/lib/src/android/android_emulator.dart
index 582bf0f..22c32ad 100644
--- a/packages/flutter_tools/lib/src/android/android_emulator.dart
+++ b/packages/flutter_tools/lib/src/android/android_emulator.dart
@@ -56,7 +56,7 @@
     // return.
     return Future.any<void>(<Future<void>>[
       launchResult,
-      new Future<void>.delayed(const Duration(seconds: 3))
+      Future<void>.delayed(const Duration(seconds: 3))
     ]);
   }
 }
@@ -98,13 +98,13 @@
         if (configFile.existsSync()) {
           final Map<String, String> properties =
               parseIniLines(configFile.readAsLinesSync());
-          return new AndroidEmulator(id, properties);
+          return AndroidEmulator(id, properties);
         }
       }
     }
   }
 
-  return new AndroidEmulator(id);
+  return AndroidEmulator(id);
 }
 
 @visibleForTesting
diff --git a/packages/flutter_tools/lib/src/android/android_sdk.dart b/packages/flutter_tools/lib/src/android/android_sdk.dart
index de20ccb..72344d2 100644
--- a/packages/flutter_tools/lib/src/android/android_sdk.dart
+++ b/packages/flutter_tools/lib/src/android/android_sdk.dart
@@ -36,8 +36,8 @@
 // $ANDROID_HOME/platforms/android-23/android.jar
 // $ANDROID_HOME/platforms/android-N/android.jar
 
-final RegExp _numberedAndroidPlatformRe = new RegExp(r'^android-([0-9]+)$');
-final RegExp _sdkVersionRe = new RegExp(r'^ro.build.version.sdk=([0-9]+)$');
+final RegExp _numberedAndroidPlatformRe = RegExp(r'^android-([0-9]+)$');
+final RegExp _sdkVersionRe = RegExp(r'^ro.build.version.sdk=([0-9]+)$');
 
 /// The minimum Android SDK version we support.
 const int minimumAndroidSdkVersion = 25;
@@ -127,13 +127,13 @@
   /// Locate NDK within the given SDK or throw [AndroidNdkSearchError].
   static AndroidNdk locateNdk(String androidHomeDir) {
     if (androidHomeDir == null) {
-      throw new AndroidNdkSearchError('Can not locate NDK because no SDK is found');
+      throw AndroidNdkSearchError('Can not locate NDK because no SDK is found');
     }
 
     String findBundle(String androidHomeDir) {
       final String ndkDirectory = fs.path.join(androidHomeDir, 'ndk-bundle');
       if (!fs.isDirectorySync(ndkDirectory)) {
-        throw new AndroidNdkSearchError('Can not locate ndk-bundle, tried: $ndkDirectory');
+        throw AndroidNdkSearchError('Can not locate ndk-bundle, tried: $ndkDirectory');
       }
       return ndkDirectory;
     }
@@ -145,14 +145,14 @@
       } else if (platform.isMacOS) {
         directory = 'darwin-x86_64';
       } else {
-        throw new AndroidNdkSearchError('Only Linux and macOS are supported');
+        throw AndroidNdkSearchError('Only Linux and macOS are supported');
       }
 
       final String ndkCompiler = fs.path.join(ndkDirectory,
           'toolchains', 'arm-linux-androideabi-4.9', 'prebuilt', directory,
           'bin', 'arm-linux-androideabi-gcc');
       if (!fs.isFileSync(ndkCompiler)) {
-        throw new AndroidNdkSearchError('Can not locate GCC binary, tried $ndkCompiler');
+        throw AndroidNdkSearchError('Can not locate GCC binary, tried $ndkCompiler');
       }
 
       return ndkCompiler;
@@ -193,7 +193,7 @@
       final int suitableVersion = versions
           .firstWhere((int version) => version >= 9, orElse: () => null);
       if (suitableVersion == null) {
-        throw new AndroidNdkSearchError('Can not locate a suitable platform ARM sysroot (need android-9 or newer), tried to look in $platformsDir');
+        throw AndroidNdkSearchError('Can not locate a suitable platform ARM sysroot (need android-9 or newer), tried to look in $platformsDir');
       }
 
       final String armPlatform = fs.path.join(ndkDirectory, 'platforms',
@@ -204,7 +204,7 @@
     final String ndkDir = findBundle(androidHomeDir);
     final String ndkCompiler = findCompiler(ndkDir);
     final List<String> ndkCompilerArgs = findSysroot(ndkDir);
-    return new AndroidNdk._(ndkDir, ndkCompiler, ndkCompilerArgs);
+    return AndroidNdk._(ndkDir, ndkCompiler, ndkCompilerArgs);
   }
 
   /// Returns a descriptive message explaining why NDK can not be found within
@@ -300,7 +300,7 @@
       // exceptions.
     }
 
-    return new AndroidSdk(androidHomeDir, ndk);
+    return AndroidSdk(androidHomeDir, ndk);
   }
 
   static bool validSdkDirectory(String dir) {
@@ -372,7 +372,7 @@
         .listSync()
         .map((FileSystemEntity entity) {
           try {
-            return new Version.parse(entity.basename);
+            return Version.parse(entity.basename);
           } catch (error) {
             return null;
           }
@@ -412,7 +412,7 @@
       if (buildToolsVersion == null)
         return null;
 
-      return new AndroidSdkVersion._(
+      return AndroidSdkVersion._(
         this,
         sdkLevel: platformVersion,
         platformName: platformName,
diff --git a/packages/flutter_tools/lib/src/android/android_studio.dart b/packages/flutter_tools/lib/src/android/android_studio.dart
index d437162..9cf6898 100644
--- a/packages/flutter_tools/lib/src/android/android_studio.dart
+++ b/packages/flutter_tools/lib/src/android/android_studio.dart
@@ -25,7 +25,7 @@
 // $HOME/Applications/Android Studio.app/Contents/
 
 final RegExp _dotHomeStudioVersionMatcher =
-    new RegExp(r'^\.AndroidStudio([^\d]*)([\d.]+)');
+    RegExp(r'^\.AndroidStudio([^\d]*)([\d.]+)');
 
 String get javaPath => androidStudio?.javaPath;
 
@@ -54,8 +54,8 @@
 
     Version version;
     if (versionString != null)
-      version = new Version.parse(versionString);
-    return new AndroidStudio(studioPath, version: version);
+      version = Version.parse(versionString);
+    return AndroidStudio(studioPath, version: version);
   }
 
   factory AndroidStudio.fromHomeDot(Directory homeDotDir) {
@@ -64,7 +64,7 @@
     if (versionMatch?.groupCount != 2) {
       return null;
     }
-    final Version version = new Version.parse(versionMatch[2]);
+    final Version version = Version.parse(versionMatch[2]);
     if (version == null) {
       return null;
     }
@@ -77,7 +77,7 @@
       // ignored, installPath will be null, which is handled below
     }
     if (installPath != null && fs.isDirectorySync(installPath)) {
-      return new AndroidStudio(installPath, version: version);
+      return AndroidStudio(installPath, version: version);
     }
     return null;
   }
@@ -123,7 +123,7 @@
       String configuredStudioPath = configuredStudio;
       if (platform.isMacOS && !configuredStudioPath.endsWith('Contents'))
         configuredStudioPath = fs.path.join(configuredStudioPath, 'Contents');
-      return new AndroidStudio(configuredStudioPath,
+      return AndroidStudio(configuredStudioPath,
           configured: configuredStudio);
     }
 
@@ -181,7 +181,7 @@
     }
 
     return candidatePaths
-        .map((FileSystemEntity e) => new AndroidStudio.fromMacOSBundle(e.path))
+        .map((FileSystemEntity e) => AndroidStudio.fromMacOSBundle(e.path))
         .where((AndroidStudio s) => s != null)
         .toList();
   }
@@ -205,7 +205,7 @@
     if (fs.directory(homeDirPath).existsSync()) {
       for (FileSystemEntity entity in fs.directory(homeDirPath).listSync()) {
         if (entity is Directory && entity.basename.startsWith('.AndroidStudio')) {
-          final AndroidStudio studio = new AndroidStudio.fromHomeDot(entity);
+          final AndroidStudio studio = AndroidStudio.fromHomeDot(entity);
           if (studio != null && !_hasStudioAt(studio.directory, newerThan: studio.version)) {
             studios.removeWhere((AndroidStudio other) => other.directory == studio.directory);
             studios.add(studio);
@@ -216,14 +216,14 @@
 
     final String configuredStudioDir = config.getValue('android-studio-dir');
     if (configuredStudioDir != null && !_hasStudioAt(configuredStudioDir)) {
-      studios.add(new AndroidStudio(configuredStudioDir,
+      studios.add(AndroidStudio(configuredStudioDir,
           configured: configuredStudioDir));
     }
 
     if (platform.isLinux) {
       void _checkWellKnownPath(String path) {
         if (fs.isDirectorySync(path) && !_hasStudioAt(path)) {
-          studios.add(new AndroidStudio(path));
+          studios.add(AndroidStudio(path));
         }
       }
 
diff --git a/packages/flutter_tools/lib/src/android/android_studio_validator.dart b/packages/flutter_tools/lib/src/android/android_studio_validator.dart
index 9dafcdd..50ae46e 100644
--- a/packages/flutter_tools/lib/src/android/android_studio_validator.dart
+++ b/packages/flutter_tools/lib/src/android/android_studio_validator.dart
@@ -19,10 +19,10 @@
     final List<DoctorValidator> validators = <DoctorValidator>[];
     final List<AndroidStudio> studios = AndroidStudio.allInstalled();
     if (studios.isEmpty) {
-      validators.add(new NoAndroidStudioValidator());
+      validators.add(NoAndroidStudioValidator());
     } else {
       validators.addAll(studios
-          .map((AndroidStudio studio) => new AndroidStudioValidator(studio)));
+          .map((AndroidStudio studio) => AndroidStudioValidator(studio)));
     }
     return validators;
   }
@@ -36,9 +36,9 @@
         ? null
         : 'version ${_studio.version}';
     messages
-        .add(new ValidationMessage('Android Studio at ${_studio.directory}'));
+        .add(ValidationMessage('Android Studio at ${_studio.directory}'));
 
-    final IntelliJPlugins plugins = new IntelliJPlugins(_studio.pluginsPath);
+    final IntelliJPlugins plugins = IntelliJPlugins(_studio.pluginsPath);
     plugins.validatePackage(messages, <String>['flutter-intellij', 'flutter-intellij.jar'],
         'Flutter', minVersion: IntelliJPlugins.kMinFlutterPluginVersion);
     plugins.validatePackage(messages, <String>['Dart'], 'Dart');
@@ -46,20 +46,20 @@
     if (_studio.isValid) {
       type = ValidationType.installed;
       messages.addAll(_studio.validationMessages
-          .map((String m) => new ValidationMessage(m)));
+          .map((String m) => ValidationMessage(m)));
     } else {
       type = ValidationType.partial;
       messages.addAll(_studio.validationMessages
-          .map((String m) => new ValidationMessage.error(m)));
-      messages.add(new ValidationMessage(
+          .map((String m) => ValidationMessage.error(m)));
+      messages.add(ValidationMessage(
           'Try updating or re-installing Android Studio.'));
       if (_studio.configured != null) {
-        messages.add(new ValidationMessage(
+        messages.add(ValidationMessage(
             'Consider removing your android-studio-dir setting by running:\nflutter config --android-studio-dir='));
       }
     }
 
-    return new ValidationResult(type, messages, statusInfo: studioVersionText);
+    return ValidationResult(type, messages, statusInfo: studioVersionText);
   }
 }
 
@@ -73,14 +73,14 @@
     final String cfgAndroidStudio = config.getValue('android-studio-dir');
     if (cfgAndroidStudio != null) {
       messages.add(
-          new ValidationMessage.error('android-studio-dir = $cfgAndroidStudio\n'
+          ValidationMessage.error('android-studio-dir = $cfgAndroidStudio\n'
               'but Android Studio not found at this location.'));
     }
-    messages.add(new ValidationMessage(
+    messages.add(ValidationMessage(
         'Android Studio not found; download from https://developer.android.com/studio/index.html\n'
         '(or visit https://flutter.io/setup/#android-setup for detailed instructions).'));
 
-    return new ValidationResult(ValidationType.missing, messages,
+    return ValidationResult(ValidationType.missing, messages,
         statusInfo: 'not installed');
   }
 }
diff --git a/packages/flutter_tools/lib/src/android/android_workflow.dart b/packages/flutter_tools/lib/src/android/android_workflow.dart
index 7f55676..3cadb25 100644
--- a/packages/flutter_tools/lib/src/android/android_workflow.dart
+++ b/packages/flutter_tools/lib/src/android/android_workflow.dart
@@ -27,9 +27,9 @@
   unknown,
 }
 
-final RegExp licenseCounts = new RegExp(r'(\d+) of (\d+) SDK package licenses? not accepted.');
-final RegExp licenseNotAccepted = new RegExp(r'licenses? not accepted', caseSensitive: false);
-final RegExp licenseAccepted = new RegExp(r'All SDK package licenses accepted.');
+final RegExp licenseCounts = RegExp(r'(\d+) of (\d+) SDK package licenses? not accepted.');
+final RegExp licenseNotAccepted = RegExp(r'licenses? not accepted', caseSensitive: false);
+final RegExp licenseAccepted = RegExp(r'All SDK package licenses accepted.');
 
 class AndroidWorkflow implements Workflow {
   @override
@@ -55,7 +55,7 @@
   /// is not compatible.
   bool _checkJavaVersion(String javaBinary, List<ValidationMessage> messages) {
     if (!processManager.canRun(javaBinary)) {
-      messages.add(new ValidationMessage.error('Cannot execute $javaBinary to determine the version'));
+      messages.add(ValidationMessage.error('Cannot execute $javaBinary to determine the version'));
       return false;
     }
     String javaVersion;
@@ -69,10 +69,10 @@
     } catch (_) { /* ignore */ }
     if (javaVersion == null) {
       // Could not determine the java version.
-      messages.add(new ValidationMessage.error('Could not determine java version'));
+      messages.add(ValidationMessage.error('Could not determine java version'));
       return false;
     }
-    messages.add(new ValidationMessage('Java version $javaVersion'));
+    messages.add(ValidationMessage('Java version $javaVersion'));
     // TODO(johnmccutchan): Validate version.
     return true;
   }
@@ -85,12 +85,12 @@
       // No Android SDK found.
       if (platform.environment.containsKey(kAndroidHome)) {
         final String androidHomeDir = platform.environment[kAndroidHome];
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           '$kAndroidHome = $androidHomeDir\n'
           'but Android SDK not found at this location.'
         ));
       } else {
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           'Unable to locate Android SDK.\n'
           'Install Android Studio from: https://developer.android.com/studio/index.html\n'
           'On first launch it will assist you in installing the Android SDK components.\n'
@@ -99,12 +99,12 @@
         ));
       }
 
-      return new ValidationResult(ValidationType.missing, messages);
+      return ValidationResult(ValidationType.missing, messages);
     }
 
-    messages.add(new ValidationMessage('Android SDK at ${androidSdk.directory}'));
+    messages.add(ValidationMessage('Android SDK at ${androidSdk.directory}'));
 
-    messages.add(new ValidationMessage(androidSdk.ndk == null
+    messages.add(ValidationMessage(androidSdk.ndk == null
           ? 'Android NDK location not configured (optional; useful for native profiling support)'
           : 'Android NDK at ${androidSdk.ndk.directory}'));
 
@@ -112,7 +112,7 @@
     if (androidSdk.latestVersion != null) {
       sdkVersionText = 'Android SDK ${androidSdk.latestVersion.buildToolsVersionName}';
 
-      messages.add(new ValidationMessage(
+      messages.add(ValidationMessage(
         'Platform ${androidSdk.latestVersion.platformName}, '
         'build-tools ${androidSdk.latestVersion.buildToolsVersionName}'
       ));
@@ -120,7 +120,7 @@
 
     if (platform.environment.containsKey(kAndroidHome)) {
       final String androidHomeDir = platform.environment[kAndroidHome];
-      messages.add(new ValidationMessage('$kAndroidHome = $androidHomeDir'));
+      messages.add(ValidationMessage('$kAndroidHome = $androidHomeDir'));
     }
 
     final List<String> validationResult = androidSdk.validateSdkWellFormed();
@@ -128,48 +128,48 @@
     if (validationResult.isNotEmpty) {
       // Android SDK is not functional.
       messages.addAll(validationResult.map((String message) {
-        return new ValidationMessage.error(message);
+        return ValidationMessage.error(message);
       }));
-      messages.add(new ValidationMessage(
+      messages.add(ValidationMessage(
           'Try re-installing or updating your Android SDK,\n'
           'visit https://flutter.io/setup/#android-setup for detailed instructions.'));
-      return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+      return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
     }
 
     // Now check for the JDK.
     final String javaBinary = AndroidSdk.findJavaBinary();
     if (javaBinary == null) {
-      messages.add(new ValidationMessage.error(
+      messages.add(ValidationMessage.error(
           'No Java Development Kit (JDK) found; You must have the environment '
           'variable JAVA_HOME set and the java binary in your PATH. '
           'You can download the JDK from $_jdkDownload.'));
-      return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+      return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
     }
-    messages.add(new ValidationMessage('Java binary at: $javaBinary'));
+    messages.add(ValidationMessage('Java binary at: $javaBinary'));
 
     // Check JDK version.
     if (!_checkJavaVersion(javaBinary, messages)) {
-      return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+      return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
     }
 
     // Check for licenses.
     switch (await licensesAccepted) {
       case LicensesAccepted.all:
-        messages.add(new ValidationMessage('All Android licenses accepted.'));
+        messages.add(ValidationMessage('All Android licenses accepted.'));
         break;
       case LicensesAccepted.some:
-        messages.add(new ValidationMessage.hint('Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses'));
-        return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+        messages.add(ValidationMessage.hint('Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses'));
+        return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
       case LicensesAccepted.none:
-        messages.add(new ValidationMessage.error('Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses'));
-        return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+        messages.add(ValidationMessage.error('Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses'));
+        return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
       case LicensesAccepted.unknown:
-        messages.add(new ValidationMessage.error('Android license status unknown.'));
-        return new ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
+        messages.add(ValidationMessage.error('Android license status unknown.'));
+        return ValidationResult(ValidationType.partial, messages, statusInfo: sdkVersionText);
     }
 
     // Success.
-    return new ValidationResult(ValidationType.installed, messages, statusInfo: sdkVersionText);
+    return ValidationResult(ValidationType.installed, messages, statusInfo: sdkVersionText);
   }
 
   Future<LicensesAccepted> get licensesAccepted async {
@@ -227,7 +227,7 @@
 
     _ensureCanRunSdkManager();
 
-    final Version sdkManagerVersion = new Version.parse(androidSdk.sdkManagerVersion);
+    final Version sdkManagerVersion = Version.parse(androidSdk.sdkManagerVersion);
     if (sdkManagerVersion == null || sdkManagerVersion.major < 26)
       // SDK manager is found, but needs to be updated.
       throwToolExit(
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index bbe5c2f..e5bdc36 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -24,7 +24,7 @@
 import 'android_studio.dart';
 
 const String gradleVersion = '4.4';
-final RegExp _assembleTaskPattern = new RegExp(r'assemble([^:]+): task ');
+final RegExp _assembleTaskPattern = RegExp(r'assemble([^:]+): task ');
 
 GradleProject _cachedGradleProject;
 String _cachedGradleExecutable;
@@ -39,7 +39,7 @@
 // Investigation documented in #13975 suggests the filter should be a subset
 // of the impact of -q, but users insist they see the error message sometimes
 // anyway.  If we can prove it really is impossible, delete the filter.
-final RegExp ndkMessageFilter = new RegExp(r'^(?!NDK is missing a ".*" directory'
+final RegExp ndkMessageFilter = RegExp(r'^(?!NDK is missing a ".*" directory'
   r'|If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning'
   r'|If you are using NDK, verify the ndk.dir is set to a valid NDK directory.  It is currently set to .*)');
 
@@ -57,7 +57,7 @@
       fs.path.join('app', 'build.gradle'));
   if (appGradle.existsSync()) {
     for (String line in appGradle.readAsLinesSync()) {
-      if (line.contains(new RegExp(r'apply from: .*/flutter.gradle'))) {
+      if (line.contains(RegExp(r'apply from: .*/flutter.gradle'))) {
         return FlutterPluginVersion.managed;
       }
       if (line.contains("def flutterPluginVersion = 'managed'")) {
@@ -103,7 +103,7 @@
       environment: _gradleEnv,
     );
     final String properties = runResult.stdout.trim();
-    project = new GradleProject.fromAppProperties(properties);
+    project = GradleProject.fromAppProperties(properties);
   } catch (exception) {
     if (getFlutterPluginVersion(flutterProject.android) == FlutterPluginVersion.managed) {
       status.cancel();
@@ -115,7 +115,7 @@
       throwToolExit('Please review your Gradle project setup in the android/ folder.');
     }
     // Fall back to the default
-    project = new GradleProject(
+    project = GradleProject(
       <String>['debug', 'profile', 'release'],
       <String>[], flutterProject.android.gradleAppOutV1Directory,
     );
@@ -131,7 +131,7 @@
   const String matcher =
     r'You have not accepted the license agreements of the following SDK components:'
     r'\s*\[(.+)\]';
-  final RegExp licenseFailure = new RegExp(matcher, multiLine: true);
+  final RegExp licenseFailure = RegExp(matcher, multiLine: true);
   final Match licenseMatch = licenseFailure.firstMatch(exceptionString);
   if (licenseMatch != null) {
     final String missingLicenses = licenseMatch.group(1);
@@ -219,9 +219,9 @@
 
   SettingsFile settings;
   if (localProperties.existsSync()) {
-    settings = new SettingsFile.parseFromFile(localProperties);
+    settings = SettingsFile.parseFromFile(localProperties);
   } else {
-    settings = new SettingsFile();
+    settings = SettingsFile();
     changed = true;
   }
 
@@ -254,7 +254,7 @@
 ///
 /// Writes the path to the Android SDK, if known.
 void writeLocalProperties(File properties) {
-  final SettingsFile settings = new SettingsFile();
+  final SettingsFile settings = SettingsFile();
   if (androidSdk != null) {
     settings.values['sdk.dir'] = escapePath(androidSdk.directory);
   }
@@ -424,7 +424,7 @@
 }
 
 Map<String, String> get _gradleEnv {
-  final Map<String, String> env = new Map<String, String>.from(platform.environment);
+  final Map<String, String> env = Map<String, String>.from(platform.environment);
   if (javaPath != null) {
     // Use java bundled with Android Studio.
     env['JAVA_HOME'] = javaPath;
@@ -444,7 +444,7 @@
         .trim();
 
     // Extract build types and product flavors.
-    final Set<String> variants = new Set<String>();
+    final Set<String> variants = Set<String>();
     for (String s in properties.split('\n')) {
       final Match match = _assembleTaskPattern.matchAsPrefix(s);
       if (match != null) {
@@ -453,8 +453,8 @@
           variants.add(variant);
       }
     }
-    final Set<String> buildTypes = new Set<String>();
-    final Set<String> productFlavors = new Set<String>();
+    final Set<String> buildTypes = Set<String>();
+    final Set<String> productFlavors = Set<String>();
     for (final String variant1 in variants) {
       for (final String variant2 in variants) {
         if (variant2.startsWith(variant1) && variant2 != variant1) {
@@ -468,7 +468,7 @@
     }
     if (productFlavors.isEmpty)
       buildTypes.addAll(variants);
-    return new GradleProject(
+    return GradleProject(
       buildTypes.toList(),
       productFlavors.toList(),
       fs.directory(fs.path.join(buildDir, 'outputs', 'apk')),
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart
index f71c0ae..03fbd9b 100644
--- a/packages/flutter_tools/lib/src/application_package.dart
+++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -81,7 +81,7 @@
       return null;
     }
 
-    return new AndroidApk(
+    return AndroidApk(
       id: data.packageName,
       file: apk,
       launchActivity: '${data.packageName}/${data.launchableActivityName}'
@@ -97,7 +97,7 @@
       if (apkFile.existsSync()) {
         // Grab information from the .apk. The gradle build script might alter
         // the application Id, so we need to look at what was actually built.
-        return new AndroidApk.fromApk(apkFile);
+        return AndroidApk.fromApk(apkFile);
       }
       // The .apk hasn't been built yet, so we work with what we have. The run
       // command will grab a new AndroidApk after building, to get the updated
@@ -135,7 +135,7 @@
     if (packageId == null || launchActivity == null)
       return null;
 
-    return new AndroidApk(
+    return AndroidApk(
       id: packageId,
       file: apkFile,
       launchActivity: launchActivity
@@ -209,7 +209,7 @@
       return null;
     }
 
-    return new PrebuiltIOSApp(
+    return PrebuiltIOSApp(
       bundleDir: bundleDir,
       bundleName: fs.path.basename(bundleDir.path),
       projectBundleId: id,
@@ -219,7 +219,7 @@
   factory IOSApp.fromIosProject(IosProject project) {
     if (getCurrentHostPlatform() != HostPlatform.darwin_x64)
       return null;
-    return new BuildableIOSApp(project);
+    return BuildableIOSApp(project);
   }
 
   @override
@@ -281,13 +281,13 @@
     case TargetPlatform.android_x86:
       return applicationBinary == null
           ? await AndroidApk.fromAndroidProject((await FlutterProject.current()).android)
-          : new AndroidApk.fromApk(applicationBinary);
+          : AndroidApk.fromApk(applicationBinary);
     case TargetPlatform.ios:
       return applicationBinary == null
-          ? new IOSApp.fromIosProject((await FlutterProject.current()).ios)
-          : new IOSApp.fromPrebuiltApp(applicationBinary);
+          ? IOSApp.fromIosProject((await FlutterProject.current()).ios)
+          : IOSApp.fromPrebuiltApp(applicationBinary);
     case TargetPlatform.tester:
-      return new FlutterTesterApp.fromCurrentDirectory();
+      return FlutterTesterApp.fromCurrentDirectory();
     case TargetPlatform.darwin_x64:
     case TargetPlatform.linux_x64:
     case TargetPlatform.windows_x64:
@@ -395,7 +395,7 @@
     final List<String> lines = data.split('\n');
     assert(lines.length > 3);
 
-    final _Element manifest = new _Element.fromLine(lines[1], null);
+    final _Element manifest = _Element.fromLine(lines[1], null);
     _Element currentElement = manifest;
 
     for (String line in lines.skip(2)) {
@@ -411,10 +411,10 @@
         switch (trimLine[0]) {
           case 'A':
             currentElement
-                .addChild(new _Attribute.fromLine(line, currentElement));
+                .addChild(_Attribute.fromLine(line, currentElement));
             break;
           case 'E':
-            final _Element element = new _Element.fromLine(line, currentElement);
+            final _Element element = _Element.fromLine(line, currentElement);
             currentElement.addChild(element);
             currentElement = element;
         }
@@ -453,14 +453,14 @@
     map['package'] = <String, String>{'name': packageName};
     map['launchable-activity'] = <String, String>{'name': activityName};
 
-    return new ApkManifestData._(map);
+    return ApkManifestData._(map);
   }
 
   final Map<String, Map<String, String>> _data;
 
   @visibleForTesting
   Map<String, Map<String, String>> get data =>
-      new UnmodifiableMapView<String, Map<String, String>>(_data);
+      UnmodifiableMapView<String, Map<String, String>>(_data);
 
   String get packageName => _data['package'] == null ? null : _data['package']['name'];
 
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
index 4d9a18c..06765c9 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -89,7 +89,7 @@
   static Artifacts get instance => context[Artifacts];
 
   static LocalEngineArtifacts getLocalEngine(String engineSrcPath, EngineBuildPaths engineBuildPaths) {
-    return new LocalEngineArtifacts(engineSrcPath, engineBuildPaths.targetEngine, engineBuildPaths.hostEngine);
+    return LocalEngineArtifacts(engineSrcPath, engineBuildPaths.targetEngine, engineBuildPaths.hostEngine);
   }
 
   // Returns the requested [artifact] for the [platform] and [mode] combination.
@@ -233,7 +233,7 @@
       return TargetPlatform.linux_x64;
     if (platform.isWindows)
       return TargetPlatform.windows_x64;
-    throw new UnimplementedError('Host OS not supported.');
+    throw UnimplementedError('Host OS not supported.');
   }
 }
 
@@ -300,7 +300,7 @@
       if (processManager.canRun(genSnapshotPath))
         return genSnapshotPath;
     }
-    throw new Exception('Unable to find $genSnapshotName');
+    throw Exception('Unable to find $genSnapshotName');
   }
 
   String _flutterTesterPath(TargetPlatform platform) {
@@ -311,6 +311,6 @@
     } else if (getCurrentHostPlatform() == HostPlatform.windows_x64) {
       return fs.path.join(engineOutPath, 'flutter_tester.exe');
     }
-    throw new Exception('Unsupported platform $platform.');
+    throw Exception('Unsupported platform $platform.');
   }
 }
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index e0d84eb..22b7b24 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
@@ -52,7 +52,7 @@
   const _ManifestAssetBundleFactory();
 
   @override
-  AssetBundle createBundle() => new _ManifestAssetBundle();
+  AssetBundle createBundle() => _ManifestAssetBundle();
 }
 
 class _ManifestAssetBundle implements AssetBundle {
@@ -108,15 +108,15 @@
       return 1;
 
     if (flutterManifest.isEmpty) {
-      entries[_assetManifestJson] = new DevFSStringContent('{}');
+      entries[_assetManifestJson] = DevFSStringContent('{}');
       return 0;
     }
 
     final String assetBasePath = fs.path.dirname(fs.path.absolute(manifestPath));
 
-    _lastBuildTimestamp = new DateTime.now();
+    _lastBuildTimestamp = DateTime.now();
 
-    final PackageMap packageMap = new PackageMap(packagesPath);
+    final PackageMap packageMap = PackageMap(packagesPath);
 
     // The _assetVariants map contains an entry for each asset listed
     // in the pubspec.yaml file's assets and font and sections. The
@@ -191,7 +191,7 @@
       }
       for (_Asset variant in assetVariants[asset]) {
         assert(variant.assetFileExists);
-        entries[variant.entryUri.path] = new DevFSFileContent(variant.assetFile);
+        entries[variant.entryUri.path] = DevFSFileContent(variant.assetFile);
       }
     }
 
@@ -201,12 +201,12 @@
     }
     for (_Asset asset in materialAssets) {
       assert(asset.assetFileExists);
-      entries[asset.entryUri.path] = new DevFSFileContent(asset.assetFile);
+      entries[asset.entryUri.path] = DevFSFileContent(asset.assetFile);
     }
 
     entries[_assetManifestJson] = _createAssetManifest(assetVariants);
 
-    entries[_fontManifestJson] = new DevFSStringContent(json.encode(fonts));
+    entries[_fontManifestJson] = DevFSStringContent(json.encode(fonts));
 
     // TODO(ianh): Only do the following line if we've changed packages or if our LICENSE file changed
     entries[_license] = await _obtainLicenses(packageMap, assetBasePath, reportPackages: reportLicensedPackages);
@@ -239,7 +239,7 @@
     if (entryUri == relativeUri)
       return null;
     final int index = entryUri.path.indexOf(relativeUri.path);
-    return index == -1 ? null : new Uri(path: entryUri.path.substring(0, index));
+    return index == -1 ? null : Uri(path: entryUri.path.substring(0, index));
   }
 
   @override
@@ -285,9 +285,9 @@
   for (Map<String, dynamic> family in _getMaterialFonts(fontSet)) {
     for (Map<dynamic, dynamic> font in family['fonts']) {
       final Uri entryUri = fs.path.toUri(font['asset']);
-      result.add(new _Asset(
+      result.add(_Asset(
         baseDir: fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'),
-        relativeUri: new Uri(path: entryUri.pathSegments.last),
+        relativeUri: Uri(path: entryUri.pathSegments.last),
         entryUri: entryUri
       ));
     }
@@ -318,7 +318,7 @@
   // example, a package might itself contain code from multiple third-party
   // sources, and might need to include a license for each one.)
   final Map<String, Set<String>> packageLicenses = <String, Set<String>>{};
-  final Set<String> allPackages = new Set<String>();
+  final Set<String> allPackages = Set<String>();
   for (String packageName in packageMap.map.keys) {
     final Uri package = packageMap.map[packageName];
     if (package != null && package.scheme == 'file') {
@@ -340,7 +340,7 @@
             packageNames = <String>[packageName];
             licenseText = rawLicense;
           }
-          packageLicenses.putIfAbsent(licenseText, () => new Set<String>())
+          packageLicenses.putIfAbsent(licenseText, () => Set<String>())
             ..addAll(packageNames);
           allPackages.addAll(packageNames);
         }
@@ -365,7 +365,7 @@
 
   final String combinedLicenses = combinedLicensesList.join(_licenseSeparator);
 
-  return new DevFSStringContent(combinedLicenses);
+  return DevFSStringContent(combinedLicenses);
 }
 
 int _byBasename(_Asset a, _Asset b) {
@@ -386,7 +386,7 @@
       variants.add(variant.entryUri.path);
     jsonObject[main.entryUri.path] = variants;
   }
-  return new DevFSStringContent(json.encode(jsonObject));
+  return DevFSStringContent(json.encode(jsonObject));
 }
 
 List<Map<String, dynamic>> _parseFonts(
@@ -425,20 +425,20 @@
       final Uri assetUri = fontAsset.assetUri;
       if (assetUri.pathSegments.first == 'packages' &&
           !fs.isFileSync(fs.path.fromUri(packageMap.map[packageName].resolve('../${assetUri.path}')))) {
-        packageFontAssets.add(new FontAsset(
+        packageFontAssets.add(FontAsset(
           fontAsset.assetUri,
           weight: fontAsset.weight,
           style: fontAsset.style,
         ));
       } else {
-        packageFontAssets.add(new FontAsset(
-          new Uri(pathSegments: <String>['packages', packageName]..addAll(assetUri.pathSegments)),
+        packageFontAssets.add(FontAsset(
+          Uri(pathSegments: <String>['packages', packageName]..addAll(assetUri.pathSegments)),
           weight: fontAsset.weight,
           style: fontAsset.style,
         ));
       }
     }
-    packageFonts.add(new Font('packages/$packageName/${font.familyName}', packageFontAssets));
+    packageFonts.add(Font('packages/$packageName/${font.familyName}', packageFontAssets));
   }
   return packageFonts;
 }
@@ -528,7 +528,7 @@
 }) {
   final Map<_Asset, List<_Asset>> result = <_Asset, List<_Asset>>{};
 
-  final _AssetDirectoryCache cache = new _AssetDirectoryCache(excludeDirs);
+  final _AssetDirectoryCache cache = _AssetDirectoryCache(excludeDirs);
   for (Uri assetUri in flutterManifest.assets) {
     if (assetUri.toString().endsWith('/')) {
       _parseAssetsFromFolder(packageMap, flutterManifest, assetBase,
@@ -585,7 +585,7 @@
     if (entity is File) {
       final String relativePath = fs.path.relative(entity.path, from: assetBase);
 
-      final Uri uri = new Uri.file(relativePath, windows: platform.isWindows);
+      final Uri uri = Uri.file(relativePath, windows: platform.isWindows);
 
       _parseAssetFromFile(packageMap, flutterManifest, assetBase, cache, result,
           uri, packageName: packageName);
@@ -617,7 +617,7 @@
         : asset.symbolicPrefixUri.resolveUri(relativeUri);
 
     variants.add(
-      new _Asset(
+      _Asset(
         baseDir: asset.baseDir,
         entryUri: entryUri,
         relativeUri: relativeUri,
@@ -643,11 +643,11 @@
       return packageAsset;
   }
 
-  return new _Asset(
+  return _Asset(
     baseDir: assetsBaseDir,
     entryUri: packageName == null
         ? assetUri // Asset from the current application.
-        : new Uri(pathSegments: <String>['packages', packageName]..addAll(assetUri.pathSegments)), // Asset from, and declared in $packageName.
+        : Uri(pathSegments: <String>['packages', packageName]..addAll(assetUri.pathSegments)), // Asset from, and declared in $packageName.
     relativeUri: assetUri,
   );
 }
@@ -658,10 +658,10 @@
     final String packageName = assetUri.pathSegments[1];
     final Uri packageUri = packageMap.map[packageName];
     if (packageUri != null && packageUri.scheme == 'file') {
-      return new _Asset(
+      return _Asset(
         baseDir: fs.path.fromUri(packageUri),
         entryUri: assetUri,
-        relativeUri: new Uri(pathSegments: assetUri.pathSegments.sublist(2)),
+        relativeUri: Uri(pathSegments: assetUri.pathSegments.sublist(2)),
       );
     }
   }
diff --git a/packages/flutter_tools/lib/src/base/build.dart b/packages/flutter_tools/lib/src/base/build.dart
index a463ac3..9f06f76 100644
--- a/packages/flutter_tools/lib/src/base/build.dart
+++ b/packages/flutter_tools/lib/src/base/build.dart
@@ -103,7 +103,7 @@
       return 1;
     }
 
-    final PackageMap packageMap = new PackageMap(packagesPath);
+    final PackageMap packageMap = PackageMap(packagesPath);
     final String packageMapError = packageMap.checkValid();
     if (packageMapError != null) {
       printError(packageMapError);
@@ -120,7 +120,7 @@
     final String ioEntryPoints = artifacts.getArtifactPath(Artifact.dartIoEntriesTxt, platform, buildMode);
 
     final List<String> inputPaths = <String>[uiPath, vmServicePath, vmEntryPoints, ioEntryPoints, mainPath];
-    final Set<String> outputPaths = new Set<String>();
+    final Set<String> outputPaths = Set<String>();
 
     final String depfilePath = fs.path.join(outputDir.path, 'snapshot.d');
     final List<String> genSnapshotArgs = <String>[
@@ -181,7 +181,7 @@
     }
 
     // If inputs and outputs have not changed since last run, skip the build.
-    final Fingerprinter fingerprinter = new Fingerprinter(
+    final Fingerprinter fingerprinter = Fingerprinter(
       fingerprintPath: '$depfilePath.fingerprint',
       paths: <String>[mainPath]..addAll(inputPaths)..addAll(outputPaths),
       properties: <String, String>{
@@ -198,7 +198,7 @@
       return 0;
     }
 
-    final SnapshotType snapshotType = new SnapshotType(platform, buildMode);
+    final SnapshotType snapshotType = SnapshotType(platform, buildMode);
     final int genSnapshotExitCode = await genSnapshot.run(
       snapshotType: snapshotType,
       packagesPath: packageMap.packagesPath,
@@ -369,7 +369,7 @@
     outputDir.createSync(recursive: true);
 
     final List<String> inputPaths = <String>[mainPath, compilationTraceFilePath];
-    final Set<String> outputPaths = new Set<String>();
+    final Set<String> outputPaths = Set<String>();
 
     final String depfilePath = fs.path.join(outputDir.path, 'snapshot.d');
     final List<String> genSnapshotArgs = <String>[
@@ -419,7 +419,7 @@
     }
 
     // If inputs and outputs have not changed since last run, skip the build.
-    final Fingerprinter fingerprinter = new Fingerprinter(
+    final Fingerprinter fingerprinter = Fingerprinter(
       fingerprintPath: '$depfilePath.fingerprint',
       paths: <String>[mainPath]..addAll(inputPaths)..addAll(outputPaths),
       properties: <String, String>{
@@ -435,7 +435,7 @@
       return 0;
     }
 
-    final SnapshotType snapshotType = new SnapshotType(platform, buildMode);
+    final SnapshotType snapshotType = SnapshotType(platform, buildMode);
     final int genSnapshotExitCode = await genSnapshot.run(
       snapshotType: snapshotType,
       packagesPath: packagesPath,
diff --git a/packages/flutter_tools/lib/src/base/common.dart b/packages/flutter_tools/lib/src/base/common.dart
index 01c2cba..3130576 100644
--- a/packages/flutter_tools/lib/src/base/common.dart
+++ b/packages/flutter_tools/lib/src/base/common.dart
@@ -23,7 +23,7 @@
 /// and no stack trace unless the --verbose option is specified.
 /// For example: network errors
 void throwToolExit(String message, { int exitCode }) {
-  throw new ToolExit(message, exitCode: exitCode);
+  throw ToolExit(message, exitCode: exitCode);
 }
 
 /// Specialized exception for expected situations
diff --git a/packages/flutter_tools/lib/src/base/context.dart b/packages/flutter_tools/lib/src/base/context.dart
index e4a20dd..2f8fca1 100644
--- a/packages/flutter_tools/lib/src/base/context.dart
+++ b/packages/flutter_tools/lib/src/base/context.dart
@@ -61,7 +61,7 @@
   List<Type> _reentrantChecks;
 
   /// Bootstrap context.
-  static final AppContext _root = new AppContext._(null, 'ROOT');
+  static final AppContext _root = AppContext._(null, 'ROOT');
 
   dynamic _boxNull(dynamic value) => value ?? _BoxedNull.instance;
 
@@ -90,8 +90,8 @@
       final int index = _reentrantChecks.indexOf(type);
       if (index >= 0) {
         // We're already in the process of trying to generate this type.
-        throw new ContextDependencyCycleException._(
-            new UnmodifiableListView<Type>(_reentrantChecks.sublist(index)));
+        throw ContextDependencyCycleException._(
+            UnmodifiableListView<Type>(_reentrantChecks.sublist(index)));
       }
 
       _reentrantChecks.add(type);
@@ -132,11 +132,11 @@
     Map<Type, Generator> overrides,
     Map<Type, Generator> fallbacks,
   }) async {
-    final AppContext child = new AppContext._(
+    final AppContext child = AppContext._(
       this,
       name,
-      new Map<Type, Generator>.unmodifiable(overrides ?? const <Type, Generator>{}),
-      new Map<Type, Generator>.unmodifiable(fallbacks ?? const <Type, Generator>{}),
+      Map<Type, Generator>.unmodifiable(overrides ?? const <Type, Generator>{}),
+      Map<Type, Generator>.unmodifiable(fallbacks ?? const <Type, Generator>{}),
     );
     return await runZoned<Future<V>>(
       () async => await body(),
@@ -146,7 +146,7 @@
 
   @override
   String toString() {
-    final StringBuffer buf = new StringBuffer();
+    final StringBuffer buf = StringBuffer();
     String indent = '';
     AppContext ctx = this;
     while (ctx != null) {
diff --git a/packages/flutter_tools/lib/src/base/file_system.dart b/packages/flutter_tools/lib/src/base/file_system.dart
index b15e041..0aeebed 100644
--- a/packages/flutter_tools/lib/src/base/file_system.dart
+++ b/packages/flutter_tools/lib/src/base/file_system.dart
@@ -33,7 +33,7 @@
 /// directory as long as there is no collision with the `"file"` subdirectory.
 RecordingFileSystem getRecordingFileSystem(String location) {
   final Directory dir = getRecordingSink(location, _kRecordingType);
-  final RecordingFileSystem fileSystem = new RecordingFileSystem(
+  final RecordingFileSystem fileSystem = RecordingFileSystem(
       delegate: _kLocalFs, destination: dir);
   addShutdownHook(() async {
     await fileSystem.recording.flush(
@@ -51,7 +51,7 @@
 /// [getRecordingFileSystem]), or a [ToolExit] will be thrown.
 ReplayFileSystem getReplayFileSystem(String location) {
   final Directory dir = getReplaySource(location, _kRecordingType);
-  return new ReplayFileSystem(recording: dir);
+  return ReplayFileSystem(recording: dir);
 }
 
 /// Create the ancestor directories of a file path if they do not already exist.
@@ -72,7 +72,7 @@
 /// Creates `destDir` if needed.
 void copyDirectorySync(Directory srcDir, Directory destDir, [void onFileCopied(File srcFile, File destFile)]) {
   if (!srcDir.existsSync())
-    throw new Exception('Source directory "${srcDir.path}" does not exist, nothing to copy');
+    throw Exception('Source directory "${srcDir.path}" does not exist, nothing to copy');
 
   if (!destDir.existsSync())
     destDir.createSync(recursive: true);
@@ -87,7 +87,7 @@
       copyDirectorySync(
         entity, destDir.fileSystem.directory(newPath));
     } else {
-      throw new Exception('${entity.path} is neither File nor Directory');
+      throw Exception('${entity.path} is neither File nor Directory');
     }
   }
 }
diff --git a/packages/flutter_tools/lib/src/base/fingerprint.dart b/packages/flutter_tools/lib/src/base/fingerprint.dart
index a87fda3..4d33ba4 100644
--- a/packages/flutter_tools/lib/src/base/fingerprint.dart
+++ b/packages/flutter_tools/lib/src/base/fingerprint.dart
@@ -30,7 +30,7 @@
     Iterable<String> depfilePaths = const <String>[],
     FingerprintPathFilter pathFilter,
   }) : _paths = paths.toList(),
-       _properties = new Map<String, String>.from(properties),
+       _properties = Map<String, String>.from(properties),
        _depfilePaths = depfilePaths.toList(),
        _pathFilter = pathFilter,
        assert(fingerprintPath != null),
@@ -46,7 +46,7 @@
 
   Future<Fingerprint> buildFingerprint() async {
     final List<String> paths = await _getPaths();
-    return new Fingerprint.fromBuildInputs(_properties, paths);
+    return Fingerprint.fromBuildInputs(_properties, paths);
   }
 
   Future<bool> doesFingerprintMatch() async {
@@ -62,7 +62,7 @@
       if (!paths.every(fs.isFileSync))
         return false;
 
-      final Fingerprint oldFingerprint = new Fingerprint.fromJson(await fingerprintFile.readAsString());
+      final Fingerprint oldFingerprint = Fingerprint.fromJson(await fingerprintFile.readAsString());
       final Fingerprint newFingerprint = await buildFingerprint();
       return oldFingerprint == newFingerprint;
     } catch (e) {
@@ -100,7 +100,7 @@
     final Iterable<File> files = inputPaths.map(fs.file);
     final Iterable<File> missingInputs = files.where((File file) => !file.existsSync());
     if (missingInputs.isNotEmpty)
-      throw new ArgumentError('Missing input files:\n' + missingInputs.join('\n'));
+      throw ArgumentError('Missing input files:\n' + missingInputs.join('\n'));
 
     _checksums = <String, String>{};
     for (File file in files) {
@@ -119,7 +119,7 @@
 
     final String version = content['version'];
     if (version != FlutterVersion.instance.frameworkRevision)
-      throw new ArgumentError('Incompatible fingerprint version: $version');
+      throw ArgumentError('Incompatible fingerprint version: $version');
     _checksums = content['files']?.cast<String,String>() ?? <String, String>{};
     _properties = content['properties']?.cast<String,String>() ?? <String, String>{};
   }
@@ -158,8 +158,8 @@
   String toString() => '{checksums: $_checksums, properties: $_properties}';
 }
 
-final RegExp _separatorExpr = new RegExp(r'([^\\]) ');
-final RegExp _escapeExpr = new RegExp(r'\\(.)');
+final RegExp _separatorExpr = RegExp(r'([^\\]) ');
+final RegExp _escapeExpr = RegExp(r'\\(.)');
 
 /// Parses a VM snapshot dependency file.
 ///
diff --git a/packages/flutter_tools/lib/src/base/io.dart b/packages/flutter_tools/lib/src/base/io.dart
index be2dcb2..4beb040 100644
--- a/packages/flutter_tools/lib/src/base/io.dart
+++ b/packages/flutter_tools/lib/src/base/io.dart
@@ -97,7 +97,7 @@
 @visibleForTesting
 void setExitFunctionForTests([ExitFunction exitFunction]) {
   _exitFunction = exitFunction ?? (int exitCode) {
-    throw new ProcessExit(exitCode, immediate: true);
+    throw ProcessExit(exitCode, immediate: true);
   };
 }
 
diff --git a/packages/flutter_tools/lib/src/base/logger.dart b/packages/flutter_tools/lib/src/base/logger.dart
index dcab62c..d71d974 100644
--- a/packages/flutter_tools/lib/src/base/logger.dart
+++ b/packages/flutter_tools/lib/src/base/logger.dart
@@ -108,10 +108,10 @@
   }) {
     if (_status != null) {
       // Ignore nested progresses; return a no-op status object.
-      return new Status(onFinish: _clearStatus)..start();
+      return Status(onFinish: _clearStatus)..start();
     }
     if (terminal.supportsColor) {
-      _status = new AnsiStatus(
+      _status = AnsiStatus(
         message: message,
         expectSlowOperation: expectSlowOperation,
         padding: progressIndicatorPadding,
@@ -119,7 +119,7 @@
       )..start();
     } else {
       printStatus(message);
-      _status = new Status(onFinish: _clearStatus)..start();
+      _status = Status(onFinish: _clearStatus)..start();
     }
     return _status;
   }
@@ -153,9 +153,9 @@
   @override
   bool get isVerbose => false;
 
-  final StringBuffer _error = new StringBuffer();
-  final StringBuffer _status = new StringBuffer();
-  final StringBuffer _trace = new StringBuffer();
+  final StringBuffer _error = StringBuffer();
+  final StringBuffer _status = StringBuffer();
+  final StringBuffer _trace = StringBuffer();
 
   String get errorText => _error.toString();
   String get statusText => _status.toString();
@@ -188,7 +188,7 @@
     int progressIndicatorPadding = kDefaultStatusPadding,
   }) {
     printStatus(message);
-    return new Status()..start();
+    return Status()..start();
   }
 
   /// Clears all buffers.
@@ -207,7 +207,7 @@
 
   final Logger parent;
 
-  Stopwatch stopwatch = new Stopwatch();
+  Stopwatch stopwatch = Stopwatch();
 
   @override
   bool get isVerbose => true;
@@ -238,7 +238,7 @@
     int progressIndicatorPadding = kDefaultStatusPadding,
   }) {
     printStatus(message);
-    return new Status(onFinish: () {
+    return Status(onFinish: () {
       printTrace('$message (completed)');
     })..start();
   }
@@ -303,8 +303,8 @@
   /// terminal is fancy enough), already started.
   factory Status.withSpinner({ VoidCallback onFinish }) {
     if (terminal.supportsColor)
-      return new AnsiSpinner(onFinish: onFinish)..start();
-    return new Status(onFinish: onFinish)..start();
+      return AnsiSpinner(onFinish: onFinish)..start();
+    return Status(onFinish: onFinish)..start();
   }
 
   final VoidCallback onFinish;
@@ -353,7 +353,7 @@
     super.start();
     assert(timer == null);
     stdout.write(' ');
-    timer = new Timer.periodic(const Duration(milliseconds: 100), _callback);
+    timer = Timer.periodic(const Duration(milliseconds: 100), _callback);
     _callback(timer);
   }
 
@@ -394,7 +394,7 @@
 
   @override
   void start() {
-    stopwatch = new Stopwatch()..start();
+    stopwatch = Stopwatch()..start();
     stdout.write('${message.padRight(padding)}     ');
     super.start();
   }
diff --git a/packages/flutter_tools/lib/src/base/net.dart b/packages/flutter_tools/lib/src/base/net.dart
index 343898f..1f761f3 100644
--- a/packages/flutter_tools/lib/src/base/net.dart
+++ b/packages/flutter_tools/lib/src/base/net.dart
@@ -23,7 +23,7 @@
     if (result != null)
       return result;
     printStatus('Download failed -- attempting retry $attempts in $duration second${ duration == 1 ? "" : "s"}...');
-    await new Future<Null>.delayed(new Duration(seconds: duration));
+    await Future<Null>.delayed(Duration(seconds: duration));
     if (duration < 64)
       duration *= 2;
   }
@@ -35,7 +35,7 @@
   if (context[HttpClientFactory] != null) {
     httpClient = context[HttpClientFactory]();
   } else {
-    httpClient = new HttpClient();
+    httpClient = HttpClient();
   }
   HttpClientRequest request;
   try {
@@ -68,7 +68,7 @@
   }
   printTrace('Received response from server, collecting bytes...');
   try {
-    final BytesBuilder responseBody = new BytesBuilder(copy: false);
+    final BytesBuilder responseBody = BytesBuilder(copy: false);
     await response.forEach(responseBody.add);
     return responseBody.takeBytes();
   } on IOException catch (error) {
diff --git a/packages/flutter_tools/lib/src/base/os.dart b/packages/flutter_tools/lib/src/base/os.dart
index 1faa3d3..8c3b30d 100644
--- a/packages/flutter_tools/lib/src/base/os.dart
+++ b/packages/flutter_tools/lib/src/base/os.dart
@@ -16,9 +16,9 @@
 abstract class OperatingSystemUtils {
   factory OperatingSystemUtils() {
     if (platform.isWindows) {
-      return new _WindowsUtils();
+      return _WindowsUtils();
     } else {
-      return new _PosixUtils();
+      return _PosixUtils();
     }
   }
 
@@ -155,7 +155,7 @@
   // This is a no-op.
   @override
   ProcessResult makeExecutable(File file) {
-    return new ProcessResult(0, 0, null, null);
+    return ProcessResult(0, 0, null, null);
   }
 
   @override
@@ -172,7 +172,7 @@
 
   @override
   void zip(Directory data, File zipFile) {
-    final Archive archive = new Archive();
+    final Archive archive = Archive();
     for (FileSystemEntity entity in data.listSync(recursive: true)) {
       if (entity is! File) {
         continue;
@@ -180,21 +180,21 @@
       final File file = entity;
       final String path = file.fileSystem.path.relative(file.path, from: data.path);
       final List<int> bytes = file.readAsBytesSync();
-      archive.addFile(new ArchiveFile(path, bytes.length, bytes));
+      archive.addFile(ArchiveFile(path, bytes.length, bytes));
     }
-    zipFile.writeAsBytesSync(new ZipEncoder().encode(archive), flush: true);
+    zipFile.writeAsBytesSync(ZipEncoder().encode(archive), flush: true);
   }
 
   @override
   void unzip(File file, Directory targetDirectory) {
-    final Archive archive = new ZipDecoder().decodeBytes(file.readAsBytesSync());
+    final Archive archive = ZipDecoder().decodeBytes(file.readAsBytesSync());
     _unpackArchive(archive, targetDirectory);
   }
 
   @override
   bool verifyZip(File zipFile) {
     try {
-      new ZipDecoder().decodeBytes(zipFile.readAsBytesSync(), verify: true);
+      ZipDecoder().decodeBytes(zipFile.readAsBytesSync(), verify: true);
     } on FileSystemException catch (_) {
       return false;
     } on ArchiveException catch (_) {
@@ -205,8 +205,8 @@
 
   @override
   void unpack(File gzippedTarFile, Directory targetDirectory) {
-    final Archive archive = new TarDecoder().decodeBytes(
-      new GZipDecoder().decodeBytes(gzippedTarFile.readAsBytesSync()),
+    final Archive archive = TarDecoder().decodeBytes(
+      GZipDecoder().decodeBytes(gzippedTarFile.readAsBytesSync()),
     );
     _unpackArchive(archive, targetDirectory);
   }
@@ -214,7 +214,7 @@
   @override
   bool verifyGzip(File gzipFile) {
     try {
-      new GZipDecoder().decodeBytes(gzipFile.readAsBytesSync(), verify: true);
+      GZipDecoder().decodeBytes(gzipFile.readAsBytesSync(), verify: true);
     } on FileSystemException catch (_) {
       return false;
     } on ArchiveException catch (_) {
@@ -238,7 +238,7 @@
 
   @override
   File makePipe(String path) {
-    throw new UnsupportedError('makePipe is not implemented on Windows.');
+    throw UnsupportedError('makePipe is not implemented on Windows.');
   }
 
   String _name;
diff --git a/packages/flutter_tools/lib/src/base/platform.dart b/packages/flutter_tools/lib/src/base/platform.dart
index 1a45a08..359cc5f 100644
--- a/packages/flutter_tools/lib/src/base/platform.dart
+++ b/packages/flutter_tools/lib/src/base/platform.dart
@@ -36,7 +36,7 @@
   final Directory dir = getReplaySource(location, _kRecordingType);
   final File file = _getPlatformManifest(dir);
   final String json = await file.readAsString();
-  return new FakePlatform.fromJson(json);
+  return FakePlatform.fromJson(json);
 }
 
 File _getPlatformManifest(Directory dir) {
diff --git a/packages/flutter_tools/lib/src/base/process.dart b/packages/flutter_tools/lib/src/base/process.dart
index 247e5ce..09c146c 100644
--- a/packages/flutter_tools/lib/src/base/process.dart
+++ b/packages/flutter_tools/lib/src/base/process.dart
@@ -205,7 +205,7 @@
 
 Future<Null> runAndKill(List<String> cmd, Duration timeout) {
   final Future<Process> proc = runDetached(cmd);
-  return new Future<Null>.delayed(timeout, () async {
+  return Future<Null>.delayed(timeout, () async {
     printTrace('Intentionally killing ${cmd[0]}');
     processManager.killPid((await proc).pid);
   });
@@ -231,7 +231,7 @@
     workingDirectory: workingDirectory,
     environment: _environment(allowReentrantFlutter, environment),
   );
-  final RunResult runResults = new RunResult(results, cmd);
+  final RunResult runResults = RunResult(results, cmd);
   printTrace(runResults.toString());
   return runResults;
 }
@@ -379,7 +379,7 @@
 
   @override
   String toString() {
-    final StringBuffer out = new StringBuffer();
+    final StringBuffer out = StringBuffer();
     if (processResult.stdout.isNotEmpty)
       out.writeln(processResult.stdout);
     if (processResult.stderr.isNotEmpty)
@@ -389,7 +389,7 @@
 
  /// Throws a [ProcessException] with the given `message`.
  void throwException(String message) {
-    throw new ProcessException(
+    throw ProcessException(
       _command.first,
       _command.skip(1).toList(),
       message,
diff --git a/packages/flutter_tools/lib/src/base/process_manager.dart b/packages/flutter_tools/lib/src/base/process_manager.dart
index 4420e51..cbf8661 100644
--- a/packages/flutter_tools/lib/src/base/process_manager.dart
+++ b/packages/flutter_tools/lib/src/base/process_manager.dart
@@ -28,7 +28,7 @@
 RecordingProcessManager getRecordingProcessManager(String location) {
   final Directory dir = getRecordingSink(location, _kRecordingType);
   const ProcessManager delegate = LocalProcessManager();
-  final RecordingProcessManager manager = new RecordingProcessManager(delegate, dir);
+  final RecordingProcessManager manager = RecordingProcessManager(delegate, dir);
   addShutdownHook(() async {
     await manager.flush(finishRunningProcesses: true);
   }, ShutdownStage.SERIALIZE_RECORDING);
diff --git a/packages/flutter_tools/lib/src/base/terminal.dart b/packages/flutter_tools/lib/src/base/terminal.dart
index 2efff21..c6c21b9 100644
--- a/packages/flutter_tools/lib/src/base/terminal.dart
+++ b/packages/flutter_tools/lib/src/base/terminal.dart
@@ -12,7 +12,7 @@
 import 'io.dart' as io;
 import 'platform.dart';
 
-final AnsiTerminal _kAnsiTerminal = new AnsiTerminal();
+final AnsiTerminal _kAnsiTerminal = AnsiTerminal();
 
 AnsiTerminal get terminal {
   return (context == null || context[AnsiTerminal] == null)
@@ -30,7 +30,7 @@
   String bolden(String message) {
     if (!supportsColor)
       return message;
-    final StringBuffer buffer = new StringBuffer();
+    final StringBuffer buffer = StringBuffer();
     for (String line in message.split('\n'))
       buffer.writeln('$_bold$line$_reset');
     final String result = buffer.toString();
@@ -88,7 +88,7 @@
     List<String> charactersToDisplay = acceptedCharacters;
     if (defaultChoiceIndex != null) {
       assert(defaultChoiceIndex >= 0 && defaultChoiceIndex < acceptedCharacters.length);
-      charactersToDisplay = new List<String>.from(charactersToDisplay);
+      charactersToDisplay = List<String>.from(charactersToDisplay);
       charactersToDisplay[defaultChoiceIndex] = bolden(charactersToDisplay[defaultChoiceIndex]);
       acceptedCharacters.add('\n');
     }
diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart
index 6756c71..8b22e86 100644
--- a/packages/flutter_tools/lib/src/base/utils.dart
+++ b/packages/flutter_tools/lib/src/base/utils.dart
@@ -53,7 +53,7 @@
 }
 
 String hex(List<int> bytes) {
-  final StringBuffer result = new StringBuffer();
+  final StringBuffer result = StringBuffer();
   for (int part in bytes)
     result.write('${part < 16 ? '0' : ''}${part.toRadixString(16)}');
   return result.toString();
@@ -75,7 +75,7 @@
   return str;
 }
 
-final RegExp _upperRegex = new RegExp(r'[A-Z]');
+final RegExp _upperRegex = RegExp(r'[A-Z]');
 
 /// Convert `fooBar` to `foo_bar`.
 String snakeCase(String str, [String sep = '_']) {
@@ -121,8 +121,8 @@
   return '${(bytesLength / (1024 * 1024)).toStringAsFixed(1)}MB';
 }
 
-final NumberFormat kSecondsFormat = new NumberFormat('0.0');
-final NumberFormat kMillisecondsFormat = new NumberFormat.decimalPattern();
+final NumberFormat kSecondsFormat = NumberFormat('0.0');
+final NumberFormat kMillisecondsFormat = NumberFormat.decimalPattern();
 
 String getElapsedAsSeconds(Duration duration) {
   final double seconds = duration.inMilliseconds / Duration.millisecondsPerSecond;
@@ -145,17 +145,17 @@
 /// available.
 class ItemListNotifier<T> {
   ItemListNotifier() {
-    _items = new Set<T>();
+    _items = Set<T>();
   }
 
   ItemListNotifier.from(List<T> items) {
-    _items = new Set<T>.from(items);
+    _items = Set<T>.from(items);
   }
 
   Set<T> _items;
 
-  final StreamController<T> _addedController = new StreamController<T>.broadcast();
-  final StreamController<T> _removedController = new StreamController<T>.broadcast();
+  final StreamController<T> _addedController = StreamController<T>.broadcast();
+  final StreamController<T> _removedController = StreamController<T>.broadcast();
 
   Stream<T> get onAdded => _addedController.stream;
   Stream<T> get onRemoved => _removedController.stream;
@@ -163,7 +163,7 @@
   List<T> get items => _items.toList();
 
   void updateWithNewList(List<T> updatedList) {
-    final Set<T> updatedSet = new Set<T>.from(updatedList);
+    final Set<T> updatedSet = Set<T>.from(updatedList);
 
     final Set<T> addedItems = updatedSet.difference(_items);
     final Set<T> removedItems = _items.difference(updatedSet);
@@ -196,7 +196,7 @@
   }
 
   factory SettingsFile.parseFromFile(File file) {
-    return new SettingsFile.parse(file.readAsStringSync());
+    return SettingsFile.parse(file.readAsStringSync());
   }
 
   final Map<String, String> values = <String, String>{};
@@ -217,7 +217,7 @@
 /// For more information, see
 /// http://en.wikipedia.org/wiki/Universally_unique_identifier.
 class Uuid {
-  final Random _random = new Random();
+  final Random _random = Random();
 
   /// Generate a version 4 (random) UUID. This is a UUID scheme that only uses
   /// random numbers as the source of the generated UUID.
@@ -258,7 +258,7 @@
 ///   - waits for a callback to be complete before it starts the next timer
 class Poller {
   Poller(this.callback, this.pollingInterval, { this.initialDelay = Duration.zero }) {
-    new Future<Null>.delayed(initialDelay, _handleCallback);
+    Future<Null>.delayed(initialDelay, _handleCallback);
   }
 
   final AsyncCallback callback;
@@ -279,7 +279,7 @@
     }
 
     if (!_cancelled)
-      _timer = new Timer(pollingInterval, _handleCallback);
+      _timer = Timer(pollingInterval, _handleCallback);
   }
 
   /// Cancels the poller.
diff --git a/packages/flutter_tools/lib/src/base/version.dart b/packages/flutter_tools/lib/src/base/version.dart
index 02aa239..663c43e 100644
--- a/packages/flutter_tools/lib/src/base/version.dart
+++ b/packages/flutter_tools/lib/src/base/version.dart
@@ -4,7 +4,7 @@
 
 class Version implements Comparable<Version> {
   static final RegExp versionPattern =
-      new RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?');
+      RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?');
 
   /// The major version number: "1" in "1.2.3".
   final int major;
@@ -31,16 +31,16 @@
         text = '$text.$patch';
     }
 
-    return new Version._(major ?? 0, minor ?? 0, patch ?? 0, text);
+    return Version._(major ?? 0, minor ?? 0, patch ?? 0, text);
   }
 
   Version._(this.major, this.minor, this.patch, this._text) {
     if (major < 0)
-      throw new ArgumentError('Major version must be non-negative.');
+      throw ArgumentError('Major version must be non-negative.');
     if (minor < 0)
-      throw new ArgumentError('Minor version must be non-negative.');
+      throw ArgumentError('Minor version must be non-negative.');
     if (patch < 0)
-      throw new ArgumentError('Patch version must be non-negative.');
+      throw ArgumentError('Patch version must be non-negative.');
   }
 
   /// Creates a new [Version] by parsing [text].
@@ -54,7 +54,7 @@
       final int major = int.parse(match[1] ?? '0');
       final int minor = int.parse(match[3] ?? '0');
       final int patch = int.parse(match[5] ?? '0');
-      return new Version._(major, minor, patch, text);
+      return Version._(major, minor, patch, text);
     } on FormatException {
       return null;
     }
@@ -74,7 +74,7 @@
   }
 
 
-  static Version get unknown => new Version(0, 0, 0, text: 'unknown');
+  static Version get unknown => Version(0, 0, 0, text: 'unknown');
 
   /// Two [Version]s are equal if their version numbers are. The version text
   /// is ignored.
diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart
index 0b4e031..7db6522 100644
--- a/packages/flutter_tools/lib/src/build_info.dart
+++ b/packages/flutter_tools/lib/src/build_info.dart
@@ -94,7 +94,7 @@
   String get modeName => getModeName(mode);
 
   BuildInfo withTargetPlatform(TargetPlatform targetPlatform) =>
-      new BuildInfo(mode, flavor,
+      BuildInfo(mode, flavor,
           trackWidgetCreation: trackWidgetCreation,
           compilationTraceFilePath: compilationTraceFilePath,
           extraFrontEndOptions: extraFrontEndOptions,
@@ -259,7 +259,7 @@
 
   final String buildDir = config.getValue('build-dir') ?? 'build';
   if (fs.path.isAbsolute(buildDir)) {
-    throw new Exception(
+    throw Exception(
         'build-dir config setting in ${config.configPath} must be relative');
   }
   return buildDir;
diff --git a/packages/flutter_tools/lib/src/bundle.dart b/packages/flutter_tools/lib/src/bundle.dart
index 8f3fe07..4d75a3d 100644
--- a/packages/flutter_tools/lib/src/bundle.dart
+++ b/packages/flutter_tools/lib/src/bundle.dart
@@ -79,13 +79,13 @@
     if (compilerOutput?.outputFilename == null) {
       throwToolExit('Compiler failed on $mainPath');
     }
-    kernelContent = new DevFSFileContent(fs.file(compilerOutput.outputFilename));
+    kernelContent = DevFSFileContent(fs.file(compilerOutput.outputFilename));
 
     await fs.directory(getBuildDirectory()).childFile('frontend_server.d')
         .writeAsString('frontend_server.d: ${artifacts.getArtifactPath(Artifact.frontendServerSnapshotForEngineDartSdk)}\n');
 
     if (compilationTraceFilePath != null) {
-      final CoreJITSnapshotter snapshotter = new CoreJITSnapshotter();
+      final CoreJITSnapshotter snapshotter = CoreJITSnapshotter();
       final int snapshotExitCode = await snapshotter.build(
         platform: platform,
         buildMode: buildMode,
@@ -155,29 +155,29 @@
   assetDirPath ??= getAssetBuildDirectory();
   printTrace('Building bundle');
 
-  final Map<String, DevFSContent> assetEntries = new Map<String, DevFSContent>.from(assetBundle.entries);
+  final Map<String, DevFSContent> assetEntries = Map<String, DevFSContent>.from(assetBundle.entries);
   if (kernelContent != null) {
     if (compilationTraceFilePath != null) {
       final String vmSnapshotData = fs.path.join(getBuildDirectory(), _kVMSnapshotData);
       final String vmSnapshotInstr = fs.path.join(getBuildDirectory(), _kVMSnapshotInstr);
       final String isolateSnapshotData = fs.path.join(getBuildDirectory(), _kIsolateSnapshotData);
       final String isolateSnapshotInstr = fs.path.join(getBuildDirectory(), _kIsolateSnapshotInstr);
-      assetEntries[_kVMSnapshotData] = new DevFSFileContent(fs.file(vmSnapshotData));
-      assetEntries[_kVMSnapshotInstr] = new DevFSFileContent(fs.file(vmSnapshotInstr));
-      assetEntries[_kIsolateSnapshotData] = new DevFSFileContent(fs.file(isolateSnapshotData));
-      assetEntries[_kIsolateSnapshotInstr] = new DevFSFileContent(fs.file(isolateSnapshotInstr));
+      assetEntries[_kVMSnapshotData] = DevFSFileContent(fs.file(vmSnapshotData));
+      assetEntries[_kVMSnapshotInstr] = DevFSFileContent(fs.file(vmSnapshotInstr));
+      assetEntries[_kIsolateSnapshotData] = DevFSFileContent(fs.file(isolateSnapshotData));
+      assetEntries[_kIsolateSnapshotInstr] = DevFSFileContent(fs.file(isolateSnapshotInstr));
     } else {
       final String platformKernelDill = artifacts.getArtifactPath(Artifact.platformKernelDill);
       final String vmSnapshotData = artifacts.getArtifactPath(Artifact.vmSnapshotData);
       final String isolateSnapshotData = artifacts.getArtifactPath(Artifact.isolateSnapshotData);
       assetEntries[_kKernelKey] = kernelContent;
-      assetEntries[_kPlatformKernelKey] = new DevFSFileContent(fs.file(platformKernelDill));
-      assetEntries[_kVMSnapshotData] = new DevFSFileContent(fs.file(vmSnapshotData));
-      assetEntries[_kIsolateSnapshotData] = new DevFSFileContent(fs.file(isolateSnapshotData));
+      assetEntries[_kPlatformKernelKey] = DevFSFileContent(fs.file(platformKernelDill));
+      assetEntries[_kVMSnapshotData] = DevFSFileContent(fs.file(vmSnapshotData));
+      assetEntries[_kIsolateSnapshotData] = DevFSFileContent(fs.file(isolateSnapshotData));
     }
   }
   if (dylibFile != null)
-    assetEntries[_kDylibKey] = new DevFSFileContent(dylibFile);
+    assetEntries[_kDylibKey] = DevFSFileContent(dylibFile);
 
   printTrace('Writing asset files to $assetDirPath');
   ensureDirectoryExists(assetDirPath);
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index ffc4af5..8e2325c 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -21,9 +21,9 @@
   /// [artifacts] is configurable for testing.
   Cache({ Directory rootOverride, List<CachedArtifact> artifacts }) : _rootOverride = rootOverride {
     if (artifacts == null) {
-      _artifacts.add(new MaterialFonts(this));
-      _artifacts.add(new FlutterEngine(this));
-      _artifacts.add(new GradleWrapper(this));
+      _artifacts.add(MaterialFonts(this));
+      _artifacts.add(FlutterEngine(this));
+      _artifacts.add(GradleWrapper(this));
     } else {
       _artifacts.addAll(artifacts);
     }
@@ -87,7 +87,7 @@
           printStatus('Waiting for another flutter command to release the startup lock...');
           printed = true;
         }
-        await new Future<Null>.delayed(const Duration(milliseconds: 50));
+        await Future<Null>.delayed(const Duration(milliseconds: 50));
       }
     }
   }
@@ -104,7 +104,7 @@
   /// this very moment; throws a [StateError] if it doesn't.
   static void checkLockAcquired() {
     if (_lockEnabled && _lock == null && platform.environment['FLUTTER_ALREADY_LOCKED'] != 'true') {
-      throw new StateError(
+      throw StateError(
         'The current process does not own the lock for the cache directory. This is a bug in Flutter CLI tools.',
       );
     }
@@ -554,7 +554,7 @@
   for (int codeUnit in fileName.codeUnits) {
     replacedCodeUnits.addAll(_flattenNameSubstitutions[codeUnit] ?? <int>[codeUnit]);
   }
-  return new String.fromCharCodes(replacedCodeUnits);
+  return String.fromCharCodes(replacedCodeUnits);
 }
 
 @visibleForTesting
diff --git a/packages/flutter_tools/lib/src/commands/analyze.dart b/packages/flutter_tools/lib/src/commands/analyze.dart
index c79ba29..1da4c74 100644
--- a/packages/flutter_tools/lib/src/commands/analyze.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze.dart
@@ -82,13 +82,13 @@
   @override
   Future<Null> runCommand() {
     if (argResults['watch']) {
-      return new AnalyzeContinuously(
+      return AnalyzeContinuously(
         argResults,
         runner.getRepoRoots(),
         runner.getRepoPackages(),
       ).analyze();
     } else {
-      return new AnalyzeOnce(
+      return AnalyzeOnce(
         argResults,
         runner.getRepoRoots(),
         runner.getRepoPackages(),
diff --git a/packages/flutter_tools/lib/src/commands/analyze_base.dart b/packages/flutter_tools/lib/src/commands/analyze_base.dart
index 5e07adc..04547d2 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_base.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_base.dart
@@ -123,7 +123,7 @@
   Map<String, PackageDependency> packages = <String, PackageDependency>{};
 
   PackageDependency getPackageDependency(String packageName) {
-    return packages.putIfAbsent(packageName, () => new PackageDependency());
+    return packages.putIfAbsent(packageName, () => PackageDependency());
   }
 
   /// Read the .packages file in [directory] and add referenced packages to [dependencies].
@@ -135,7 +135,7 @@
       final Iterable<String> lines = dotPackages
         .readAsStringSync()
         .split('\n')
-        .where((String line) => !line.startsWith(new RegExp(r'^ *#')));
+        .where((String line) => !line.startsWith(RegExp(r'^ *#')));
       for (String line in lines) {
         final int colon = line.indexOf(':');
         if (colon > 0) {
@@ -177,7 +177,7 @@
 
     // prepare a union of all the .packages files
     if (dependencies.hasConflicts) {
-      final StringBuffer message = new StringBuffer();
+      final StringBuffer message = StringBuffer();
       message.writeln(dependencies.generateConflictReport());
       message.writeln('Make sure you have run "pub upgrade" in all the directories mentioned above.');
       if (dependencies.hasConflictsAffectingFlutterRepo) {
@@ -205,7 +205,7 @@
 
   String generateConflictReport() {
     assert(hasConflicts);
-    final StringBuffer result = new StringBuffer();
+    final StringBuffer result = StringBuffer();
     for (String package in packages.keys.where((String package) => packages[package].hasConflict)) {
       result.writeln('Package "$package" has conflicts:');
       packages[package].describeConflict(result);
diff --git a/packages/flutter_tools/lib/src/commands/analyze_continuously.dart b/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
index 3309753..c326608 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
@@ -26,7 +26,7 @@
 
   String analysisTarget;
   bool firstAnalysis = true;
-  Set<String> analyzedPaths = new Set<String>();
+  Set<String> analyzedPaths = Set<String>();
   Map<String, List<AnalysisError>> analysisErrors = <String, List<AnalysisError>>{};
   Stopwatch analysisTimer;
   int lastErrorCount = 0;
@@ -37,7 +37,7 @@
     List<String> directories;
 
     if (argResults['flutter-repo']) {
-      final PackageDependencyTracker dependencies = new PackageDependencyTracker();
+      final PackageDependencyTracker dependencies = PackageDependencyTracker();
       dependencies.checkForConflictingDependencies(repoPackages, dependencies);
 
       directories = repoRoots;
@@ -54,7 +54,7 @@
 
     final String sdkPath = argResults['dart-sdk'] ?? sdk.dartSdkPath;
 
-    final AnalysisServer server = new AnalysisServer(sdkPath, directories);
+    final AnalysisServer server = AnalysisServer(sdkPath, directories);
     server.onAnalyzing.listen((bool isAnalyzing) => _handleAnalysisStatus(server, isAnalyzing));
     server.onErrors.listen(_handleAnalysisErrors);
 
@@ -76,7 +76,7 @@
         printStatus('\n');
       analysisStatus = logger.startProgress('Analyzing $analysisTarget...');
       analyzedPaths.clear();
-      analysisTimer = new Stopwatch()..start();
+      analysisTimer = Stopwatch()..start();
     } else {
       analysisStatus?.stop();
       analysisTimer.stop();
diff --git a/packages/flutter_tools/lib/src/commands/analyze_once.dart b/packages/flutter_tools/lib/src/commands/analyze_once.dart
index 84d02a3..ae14c97 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_once.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_once.dart
@@ -38,7 +38,7 @@
         (workingDirectory ?? fs.currentDirectory).path;
 
     // find directories from argResults.rest
-    final Set<String> directories = new Set<String>.from(argResults.rest
+    final Set<String> directories = Set<String>.from(argResults.rest
         .map<String>((String path) => fs.path.canonicalize(path)));
     if (directories.isNotEmpty) {
       for (String directory in directories) {
@@ -54,7 +54,7 @@
 
     if (argResults['flutter-repo']) {
       // check for conflicting dependencies
-      final PackageDependencyTracker dependencies = new PackageDependencyTracker();
+      final PackageDependencyTracker dependencies = PackageDependencyTracker();
       dependencies.checkForConflictingDependencies(repoPackages, dependencies);
       directories.addAll(repoRoots);
       if (argResults.wasParsed('current-package') && argResults['current-package'])
@@ -68,12 +68,12 @@
       throwToolExit('Nothing to analyze.', exitCode: 0);
 
     // analyze all
-    final Completer<Null> analysisCompleter = new Completer<Null>();
+    final Completer<Null> analysisCompleter = Completer<Null>();
     final List<AnalysisError> errors = <AnalysisError>[];
 
     final String sdkPath = argResults['dart-sdk'] ?? sdk.dartSdkPath;
 
-    final AnalysisServer server = new AnalysisServer(
+    final AnalysisServer server = AnalysisServer(
       sdkPath,
       directories.toList(),
     );
@@ -101,7 +101,7 @@
     Cache.releaseLockEarly();
 
     // collect results
-    final Stopwatch timer = new Stopwatch()..start();
+    final Stopwatch timer = Stopwatch()..start();
     final String message = directories.length > 1
         ? '${directories.length} ${directories.length == 1 ? 'directory' : 'directories'}'
         : fs.path.basename(directories.first);
diff --git a/packages/flutter_tools/lib/src/commands/attach.dart b/packages/flutter_tools/lib/src/commands/attach.dart
index 09ad900..bcd8b24 100644
--- a/packages/flutter_tools/lib/src/commands/attach.dart
+++ b/packages/flutter_tools/lib/src/commands/attach.dart
@@ -53,7 +53,7 @@
           help: 'Handle machine structured JSON command input and provide output\n'
                 'and progress in machine friendly format.',
       );
-    hotRunnerFactory ??= new HotRunnerFactory();
+    hotRunnerFactory ??= HotRunnerFactory();
   }
 
   HotRunnerFactory hotRunnerFactory;
@@ -93,15 +93,15 @@
     final int devicePort = observatoryPort;
 
     final Daemon daemon = argResults['machine']
-      ? new Daemon(stdinCommandStream, stdoutCommandResponse,
-            notifyingLogger: new NotifyingLogger(), logToStdout: true)
+      ? Daemon(stdinCommandStream, stdoutCommandResponse,
+            notifyingLogger: NotifyingLogger(), logToStdout: true)
       : null;
 
     Uri observatoryUri;
     if (devicePort == null) {
       ProtocolDiscovery observatoryDiscovery;
       try {
-        observatoryDiscovery = new ProtocolDiscovery.observatory(
+        observatoryDiscovery = ProtocolDiscovery.observatory(
           device.getLogReader(),
           portForwarder: device.portForwarder,
         );
@@ -116,7 +116,7 @@
       observatoryUri = Uri.parse('http://$ipv4Loopback:$localPort/');
     }
     try {
-      final FlutterDevice flutterDevice = new FlutterDevice(
+      final FlutterDevice flutterDevice = FlutterDevice(
         device,
         trackWidgetCreation: false,
         dillOutputPath: argResults['output-dill'],
@@ -127,7 +127,7 @@
       final HotRunner hotRunner = hotRunnerFactory.build(
         <FlutterDevice>[flutterDevice],
         target: targetFile,
-        debuggingOptions: new DebuggingOptions.enabled(getBuildInfo()),
+        debuggingOptions: DebuggingOptions.enabled(getBuildInfo()),
         packagesFilePath: globalResults['packages'],
         usesTerminalUI: daemon == null,
         projectRootPath: argResults['project-root'],
@@ -170,7 +170,7 @@
       String dillOutputPath,
       bool stayResident = true,
       bool ipv6 = false,
-  }) => new HotRunner(
+  }) => HotRunner(
     devices,
     target: target,
     debuggingOptions: debuggingOptions,
diff --git a/packages/flutter_tools/lib/src/commands/build.dart b/packages/flutter_tools/lib/src/commands/build.dart
index 5bf3990..eb5ab8e 100644
--- a/packages/flutter_tools/lib/src/commands/build.dart
+++ b/packages/flutter_tools/lib/src/commands/build.dart
@@ -18,11 +18,11 @@
 
 class BuildCommand extends FlutterCommand {
   BuildCommand({bool verboseHelp = false}) {
-    addSubcommand(new BuildApkCommand(verboseHelp: verboseHelp));
-    addSubcommand(new BuildAotCommand());
-    addSubcommand(new BuildIOSCommand());
-    addSubcommand(new BuildFlxCommand());
-    addSubcommand(new BuildBundleCommand(verboseHelp: verboseHelp));
+    addSubcommand(BuildApkCommand(verboseHelp: verboseHelp));
+    addSubcommand(BuildAotCommand());
+    addSubcommand(BuildIOSCommand());
+    addSubcommand(BuildFlxCommand());
+    addSubcommand(BuildBundleCommand(verboseHelp: verboseHelp));
   }
 
   @override
diff --git a/packages/flutter_tools/lib/src/commands/build_aot.dart b/packages/flutter_tools/lib/src/commands/build_aot.dart
index 4f379a5..fb07c23 100644
--- a/packages/flutter_tools/lib/src/commands/build_aot.dart
+++ b/packages/flutter_tools/lib/src/commands/build_aot.dart
@@ -77,7 +77,7 @@
     final String outputPath = argResults['output-dir'] ?? getAotBuildDirectory();
     try {
       String mainPath = findMainDartFile(targetFile);
-      final AOTSnapshotter snapshotter = new AOTSnapshotter();
+      final AOTSnapshotter snapshotter = AOTSnapshotter();
 
       // Compile to kernel.
       mainPath = await snapshotter.compileKernel(
diff --git a/packages/flutter_tools/lib/src/commands/channel.dart b/packages/flutter_tools/lib/src/commands/channel.dart
index 6d14145..499fee1 100644
--- a/packages/flutter_tools/lib/src/commands/channel.dart
+++ b/packages/flutter_tools/lib/src/commands/channel.dart
@@ -39,7 +39,7 @@
       case 1:
         return _switchChannel(argResults.rest[0]);
       default:
-        throw new ToolExit('Too many arguments.\n$usage');
+        throw ToolExit('Too many arguments.\n$usage');
     }
   }
 
@@ -47,7 +47,7 @@
     // Beware: currentBranch could contain PII. See getBranchName().
     final String currentChannel = FlutterVersion.instance.channel;
     final String currentBranch = FlutterVersion.instance.getBranchName();
-    final Set<String> seenChannels = new Set<String>();
+    final Set<String> seenChannels = Set<String>();
 
     showAll = showAll || currentChannel != currentBranch;
 
diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart
index 4f9f440..a34ec89 100644
--- a/packages/flutter_tools/lib/src/commands/create.dart
+++ b/packages/flutter_tools/lib/src/commands/create.dart
@@ -360,7 +360,7 @@
   }
 
   int _renderTemplate(String templateName, Directory directory, Map<String, dynamic> context) {
-    final Template template = new Template.fromName(templateName);
+    final Template template = Template.fromName(templateName);
     return template.render(directory, context, overwriteExisting: false);
   }
 
@@ -392,13 +392,13 @@
 
 String _createUTIIdentifier(String organization, String name) {
   // Create a UTI (https://en.wikipedia.org/wiki/Uniform_Type_Identifier) from a base name
-  final RegExp disallowed = new RegExp(r'[^a-zA-Z0-9\-\.\u0080-\uffff]+');
+  final RegExp disallowed = RegExp(r'[^a-zA-Z0-9\-\.\u0080-\uffff]+');
   name = camelCase(name).replaceAll(disallowed, '');
   name = name.isEmpty ? 'untitled' : name;
   return '$organization.$name';
 }
 
-final Set<String> _packageDependencies = new Set<String>.from(<String>[
+final Set<String> _packageDependencies = Set<String>.from(<String>[
   'analyzer',
   'args',
   'async',
@@ -431,7 +431,7 @@
 /// we should disallow the project name.
 String _validateProjectName(String projectName) {
   if (!linter_utils.isValidPackageName(projectName)) {
-    final String packageNameDetails = new package_names.PubPackageNames().details;
+    final String packageNameDetails = package_names.PubPackageNames().details;
     return '"$projectName" is not a valid Dart package name.\n\n$packageNameDetails';
   }
   if (_packageDependencies.contains(projectName)) {
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart
index 5bb22bb..614f30a 100644
--- a/packages/flutter_tools/lib/src/commands/daemon.dart
+++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -52,13 +52,13 @@
   Future<Null> runCommand() {
     printStatus('Starting device daemon...');
 
-    final NotifyingLogger notifyingLogger = new NotifyingLogger();
+    final NotifyingLogger notifyingLogger = NotifyingLogger();
 
     Cache.releaseLockEarly();
 
     return context.run<Null>(
       body: () async {
-        final Daemon daemon = new Daemon(
+        final Daemon daemon = Daemon(
             stdinCommandStream, stdoutCommandResponse,
             daemonCommand: this, notifyingLogger: notifyingLogger);
 
@@ -86,10 +86,10 @@
     this.logToStdout = false,
   }) {
     // Set up domains.
-    _registerDomain(daemonDomain = new DaemonDomain(this));
-    _registerDomain(appDomain = new AppDomain(this));
-    _registerDomain(deviceDomain = new DeviceDomain(this));
-    _registerDomain(emulatorDomain = new EmulatorDomain(this));
+    _registerDomain(daemonDomain = DaemonDomain(this));
+    _registerDomain(appDomain = AppDomain(this));
+    _registerDomain(deviceDomain = DeviceDomain(this));
+    _registerDomain(emulatorDomain = EmulatorDomain(this));
 
     // Start listening.
     _commandSubscription = commandStream.listen(
@@ -112,7 +112,7 @@
   final NotifyingLogger notifyingLogger;
   final bool logToStdout;
 
-  final Completer<int> _onExitCompleter = new Completer<int>();
+  final Completer<int> _onExitCompleter = Completer<int>();
   final Map<String, Domain> _domainMap = <String, Domain>{};
 
   void _registerDomain(Domain domain) {
@@ -184,7 +184,7 @@
   String toString() => name;
 
   void handleCommand(String command, dynamic id, Map<String, dynamic> args) {
-    new Future<dynamic>.sync(() {
+    Future<dynamic>.sync(() {
       if (_handlers.containsKey(command))
         return _handlers[command](args);
       throw 'command not understood: $name.$command';
@@ -289,12 +289,12 @@
   StreamSubscription<LogMessage> _subscription;
 
   Future<String> version(Map<String, dynamic> args) {
-    return new Future<String>.value(protocolVersion);
+    return Future<String>.value(protocolVersion);
   }
 
   Future<Null> shutdown(Map<String, dynamic> args) {
     Timer.run(daemon.shutdown);
-    return new Future<Null>.value();
+    return Future<Null>.value();
   }
 
   @override
@@ -319,7 +319,7 @@
     registerHandler('detach', detach);
   }
 
-  static final Uuid _uuidGenerator = new Uuid();
+  static final Uuid _uuidGenerator = Uuid();
 
   static String _getNewAppId() => _uuidGenerator.generateV4();
 
@@ -343,7 +343,7 @@
     final Directory cwd = fs.currentDirectory;
     fs.currentDirectory = fs.directory(projectDirectory);
 
-    final FlutterDevice flutterDevice = new FlutterDevice(
+    final FlutterDevice flutterDevice = FlutterDevice(
       device,
       trackWidgetCreation: trackWidgetCreation,
       dillOutputPath: dillOutputPath,
@@ -352,7 +352,7 @@
     ResidentRunner runner;
 
     if (enableHotReload) {
-      runner = new HotRunner(
+      runner = HotRunner(
         <FlutterDevice>[flutterDevice],
         target: target,
         debuggingOptions: options,
@@ -365,7 +365,7 @@
         hostIsIde: true,
       );
     } else {
-      runner = new ColdRunner(
+      runner = ColdRunner(
         <FlutterDevice>[flutterDevice],
         target: target,
         debuggingOptions: options,
@@ -395,7 +395,7 @@
       String projectDirectory,
       bool enableHotReload,
       Directory cwd) async {
-    final AppInstance app = new AppInstance(_getNewAppId(),
+    final AppInstance app = AppInstance(_getNewAppId(),
         runner: runner, logToStdout: daemon.logToStdout);
     _apps.add(app);
     _sendAppEvent(app, 'start', <String, dynamic>{
@@ -407,7 +407,7 @@
     Completer<DebugConnectionInfo> connectionInfoCompleter;
 
     if (runner.debuggingOptions.debuggingEnabled) {
-      connectionInfoCompleter = new Completer<DebugConnectionInfo>();
+      connectionInfoCompleter = Completer<DebugConnectionInfo>();
       // We don't want to wait for this future to complete and callbacks won't fail.
       // As it just writes to stdout.
       connectionInfoCompleter.future.then<Null>((DebugConnectionInfo info) { // ignore: unawaited_futures
@@ -420,7 +420,7 @@
         _sendAppEvent(app, 'debugPort', params);
       });
     }
-    final Completer<void> appStartedCompleter = new Completer<void>();
+    final Completer<void> appStartedCompleter = Completer<void>();
     // We don't want to wait for this future to complete and callbacks won't fail.
     // As it just writes to stdout.
     appStartedCompleter.future.timeout(const Duration(minutes: 1), onTimeout: () { // ignore: unawaited_futures
@@ -565,10 +565,10 @@
     registerHandler('forward', forward);
     registerHandler('unforward', unforward);
 
-    addDeviceDiscoverer(new AndroidDevices());
-    addDeviceDiscoverer(new IOSDevices());
-    addDeviceDiscoverer(new IOSSimulators());
-    addDeviceDiscoverer(new FlutterTesterDevices());
+    addDeviceDiscoverer(AndroidDevices());
+    addDeviceDiscoverer(IOSDevices());
+    addDeviceDiscoverer(IOSSimulators());
+    addDeviceDiscoverer(FlutterTesterDevices());
   }
 
   void addDeviceDiscoverer(PollingDeviceDiscovery discoverer) {
@@ -596,7 +596,7 @@
     discoverer.onRemoved.listen(_onDeviceEvent('device.removed'));
   }
 
-  Future<Null> _serializeDeviceEvents = new Future<Null>.value();
+  Future<Null> _serializeDeviceEvents = Future<Null>.value();
 
   _DeviceEventHandler _onDeviceEvent(String eventName) {
     return (Device device) {
@@ -620,14 +620,14 @@
   Future<Null> enable(Map<String, dynamic> args) {
     for (PollingDeviceDiscovery discoverer in _discoverers)
       discoverer.startPolling();
-    return new Future<Null>.value();
+    return Future<Null>.value();
   }
 
   /// Disable device events.
   Future<Null> disable(Map<String, dynamic> args) {
     for (PollingDeviceDiscovery discoverer in _discoverers)
       discoverer.stopPolling();
-    return new Future<Null>.value();
+    return Future<Null>.value();
   }
 
   /// Forward a host port to a device port.
@@ -655,7 +655,7 @@
     if (device == null)
       throw "device '$deviceId' not found";
 
-    return device.portForwarder.unforward(new ForwardedPort(hostPort, devicePort));
+    return device.portForwarder.unforward(ForwardedPort(hostPort, devicePort));
   }
 
   @override
@@ -739,13 +739,13 @@
 }
 
 class NotifyingLogger extends Logger {
-  final StreamController<LogMessage> _messageController = new StreamController<LogMessage>.broadcast();
+  final StreamController<LogMessage> _messageController = StreamController<LogMessage>.broadcast();
 
   Stream<LogMessage> get onMessage => _messageController.stream;
 
   @override
   void printError(String message, { StackTrace stackTrace, bool emphasis = false }) {
-    _messageController.add(new LogMessage('error', message, stackTrace));
+    _messageController.add(LogMessage('error', message, stackTrace));
   }
 
   @override
@@ -753,7 +753,7 @@
     String message,
     { bool emphasis = false, bool newline = true, String ansiAlternative, int indent }
   ) {
-    _messageController.add(new LogMessage('status', message));
+    _messageController.add(LogMessage('status', message));
   }
 
   @override
@@ -769,7 +769,7 @@
     int progressIndicatorPadding = kDefaultStatusPadding,
   }) {
     printStatus(message);
-    return new Status();
+    return Status();
   }
 
   void dispose() {
@@ -799,7 +799,7 @@
   }
 
   Future<T> _runInZone<T>(AppDomain domain, dynamic method()) {
-    _logger ??= new _AppRunLogger(domain, this, parent: logToStdout ? logger : null);
+    _logger ??= _AppRunLogger(domain, this, parent: logToStdout ? logger : null);
 
     return context.run<T>(
       body: method,
@@ -812,7 +812,7 @@
 
 /// This domain responds to methods like [getEmulators] and [launch].
 class EmulatorDomain extends Domain {
-  EmulatorManager emulators = new EmulatorManager();
+  EmulatorManager emulators = EmulatorManager();
 
   EmulatorDomain(Daemon daemon) : super(daemon, 'emulator') {
     registerHandler('getEmulators', getEmulators);
@@ -924,7 +924,7 @@
       'message': message,
     });
 
-    _status = new Status(onFinish: () {
+    _status = Status(onFinish: () {
       _status = null;
       _sendProgressEvent(<String, dynamic>{
         'id': id.toString(),
diff --git a/packages/flutter_tools/lib/src/commands/doctor.dart b/packages/flutter_tools/lib/src/commands/doctor.dart
index 0dd0b80..4010476 100644
--- a/packages/flutter_tools/lib/src/commands/doctor.dart
+++ b/packages/flutter_tools/lib/src/commands/doctor.dart
@@ -27,6 +27,6 @@
   @override
   Future<FlutterCommandResult> runCommand() async {
     final bool success = await doctor.diagnose(androidLicenses: argResults['android-licenses'], verbose: verbose);
-    return new FlutterCommandResult(success ? ExitStatus.success : ExitStatus.warning);
+    return FlutterCommandResult(success ? ExitStatus.success : ExitStatus.warning);
   }
 }
diff --git a/packages/flutter_tools/lib/src/commands/drive.dart b/packages/flutter_tools/lib/src/commands/drive.dart
index 0d7b529..61f8d11 100644
--- a/packages/flutter_tools/lib/src/commands/drive.dart
+++ b/packages/flutter_tools/lib/src/commands/drive.dart
@@ -254,7 +254,7 @@
     package,
     mainPath: mainPath,
     route: command.route,
-    debuggingOptions: new DebuggingOptions.enabled(
+    debuggingOptions: DebuggingOptions.enabled(
       command.getBuildInfo(),
       startPaused: true,
       observatoryPort: command.observatoryPort,
diff --git a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
index 317960e..10ed98a 100644
--- a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
+++ b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
@@ -128,16 +128,16 @@
       final List<Uri> observatoryUris = fullAddresses.map(
         (String a) => Uri.parse('http://$a')
       ).toList();
-      final FuchsiaDevice device = new FuchsiaDevice(
+      final FuchsiaDevice device = FuchsiaDevice(
           fullAddresses[0], name: _address);
-      final FlutterDevice flutterDevice = new FlutterDevice(
+      final FlutterDevice flutterDevice = FlutterDevice(
         device,
         trackWidgetCreation: false,
       );
       flutterDevice.observatoryUris = observatoryUris;
-      final HotRunner hotRunner = new HotRunner(
+      final HotRunner hotRunner = HotRunner(
         <FlutterDevice>[flutterDevice],
-        debuggingOptions: new DebuggingOptions.enabled(getBuildInfo()),
+        debuggingOptions: DebuggingOptions.enabled(getBuildInfo()),
         target: _target,
         projectRootPath: _fuchsiaProjectPath,
         packagesFilePath: _dotPackagesPath
@@ -150,7 +150,7 @@
   }
 
   // A cache of VMService connections.
-  final HashMap<int, VMService> _vmServiceCache = new HashMap<int, VMService>();
+  final HashMap<int, VMService> _vmServiceCache = HashMap<int, VMService>();
 
   Future<VMService> _getVMService(int port) async {
     if (!_vmServiceCache.containsKey(port)) {
@@ -217,7 +217,7 @@
     final String external = getSizeAsMB(totalExternal);
     final String tabs = '\t' * tabDepth;
     final String extraTabs = '\t' * (tabDepth + 1);
-    final StringBuffer stringBuffer = new StringBuffer(
+    final StringBuffer stringBuffer = StringBuffer(
       '$tabs$_bold$embedder at $addr$_reset\n'
       '${extraTabs}RSS: $maxRSS\n'
       '${extraTabs}Native allocations: $heapSize\n'
@@ -372,7 +372,7 @@
 
   Future<List<int>> _getServicePorts() async {
     final FuchsiaDeviceCommandRunner runner =
-        new FuchsiaDeviceCommandRunner(_address, _buildDir);
+        FuchsiaDeviceCommandRunner(_address, _buildDir);
     final List<String> lsOutput = await runner.run('ls /tmp/dart.services');
     final List<int> ports = <int>[];
     if (lsOutput != null) {
@@ -427,7 +427,7 @@
     if (localPort == 0) {
       printStatus(
           '_PortForwarder failed to find a local port for $address:$remotePort');
-      return new _PortForwarder._(null, 0, 0, null, null);
+      return _PortForwarder._(null, 0, 0, null, null);
     }
     const String dummyRemoteCommand = 'date';
     final List<String> command = <String>[
@@ -444,7 +444,7 @@
       printTrace("'${command.join(' ')}' exited with exit code $c");
     });
     printTrace('Set up forwarding from $localPort to $address:$remotePort');
-    return new _PortForwarder._(address, remotePort, localPort, process, sshConfig);
+    return _PortForwarder._(address, remotePort, localPort, process, sshConfig);
   }
 
   Future<Null> stop() async {
diff --git a/packages/flutter_tools/lib/src/commands/ide_config.dart b/packages/flutter_tools/lib/src/commands/ide_config.dart
index 1123cbd..415555c 100644
--- a/packages/flutter_tools/lib/src/commands/ide_config.dart
+++ b/packages/flutter_tools/lib/src/commands/ide_config.dart
@@ -121,7 +121,7 @@
       return;
     }
 
-    final Set<String> manifest = new Set<String>();
+    final Set<String> manifest = Set<String>();
     final List<FileSystemEntity> flutterFiles = _flutterRoot.listSync(recursive: true);
     for (FileSystemEntity entity in flutterFiles) {
       final String relativePath = fs.path.relative(entity.path, from: _flutterRoot.absolute.path);
@@ -139,7 +139,7 @@
       }
 
       // Skip files we aren't interested in.
-      final RegExp _trackedIdeaFileRegExp = new RegExp(
+      final RegExp _trackedIdeaFileRegExp = RegExp(
         r'(\.name|modules.xml|vcs.xml)$',
       );
       final bool isATrackedIdeaFile = _hasDirectoryInPath(srcFile, '.idea') &&
@@ -253,7 +253,7 @@
   }
 
   int _renderTemplate(String templateName, String dirPath, Map<String, dynamic> context) {
-    final Template template = new Template(_templateDirectory, _templateDirectory);
+    final Template template = Template(_templateDirectory, _templateDirectory);
     return template.render(
       fs.directory(dirPath),
       context,
diff --git a/packages/flutter_tools/lib/src/commands/logs.dart b/packages/flutter_tools/lib/src/commands/logs.dart
index a16b23f..56212ad 100644
--- a/packages/flutter_tools/lib/src/commands/logs.dart
+++ b/packages/flutter_tools/lib/src/commands/logs.dart
@@ -47,7 +47,7 @@
 
     printStatus('Showing $logReader logs:');
 
-    final Completer<int> exitCompleter = new Completer<int>();
+    final Completer<int> exitCompleter = Completer<int>();
 
     // Start reading.
     final StreamSubscription<String> subscription = logReader.logLines.listen(
diff --git a/packages/flutter_tools/lib/src/commands/materialize.dart b/packages/flutter_tools/lib/src/commands/materialize.dart
index 0c0f27d..c785ea4 100644
--- a/packages/flutter_tools/lib/src/commands/materialize.dart
+++ b/packages/flutter_tools/lib/src/commands/materialize.dart
@@ -10,8 +10,8 @@
 
 class MaterializeCommand extends FlutterCommand {
   MaterializeCommand() {
-    addSubcommand(new MaterializeAndroidCommand());
-    addSubcommand(new MaterializeIosCommand());
+    addSubcommand(MaterializeAndroidCommand());
+    addSubcommand(MaterializeIosCommand());
   }
 
   @override
@@ -45,7 +45,7 @@
     await super.validateCommand();
     _project = await FlutterProject.current();
     if (!_project.isModule)
-      throw new ToolExit("Only projects created using 'flutter create -t module' can be materialized.");
+      throw ToolExit("Only projects created using 'flutter create -t module' can be materialized.");
   }
 }
 
diff --git a/packages/flutter_tools/lib/src/commands/packages.dart b/packages/flutter_tools/lib/src/commands/packages.dart
index b78e25b..e010a35 100644
--- a/packages/flutter_tools/lib/src/commands/packages.dart
+++ b/packages/flutter_tools/lib/src/commands/packages.dart
@@ -12,10 +12,10 @@
 
 class PackagesCommand extends FlutterCommand {
   PackagesCommand() {
-    addSubcommand(new PackagesGetCommand('get', false));
-    addSubcommand(new PackagesGetCommand('upgrade', true));
-    addSubcommand(new PackagesTestCommand());
-    addSubcommand(new PackagesPassthroughCommand());
+    addSubcommand(PackagesGetCommand('get', false));
+    addSubcommand(PackagesGetCommand('upgrade', true));
+    addSubcommand(PackagesTestCommand());
+    addSubcommand(PackagesPassthroughCommand());
   }
 
   @override
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart
index 9f6891e..3443010 100644
--- a/packages/flutter_tools/lib/src/commands/run.dart
+++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -244,9 +244,9 @@
   DebuggingOptions _createDebuggingOptions() {
     final BuildInfo buildInfo = getBuildInfo();
     if (buildInfo.isRelease) {
-      return new DebuggingOptions.disabled(buildInfo);
+      return DebuggingOptions.disabled(buildInfo);
     } else {
-      return new DebuggingOptions.enabled(
+      return DebuggingOptions.enabled(
         buildInfo,
         startPaused: argResults['start-paused'],
         useTestFonts: argResults['use-test-fonts'],
@@ -269,8 +269,8 @@
     if (argResults['machine']) {
       if (devices.length > 1)
         throwToolExit('--machine does not support -d all.');
-      final Daemon daemon = new Daemon(stdinCommandStream, stdoutCommandResponse,
-          notifyingLogger: new NotifyingLogger(), logToStdout: true);
+      final Daemon daemon = Daemon(stdinCommandStream, stdoutCommandResponse,
+          notifyingLogger: NotifyingLogger(), logToStdout: true);
       AppInstance app;
       try {
         final String applicationBinaryPath = argResults['use-application-binary'];
@@ -293,7 +293,7 @@
       final int result = await app.runner.waitForAppToFinish();
       if (result != 0)
         throwToolExit(null, exitCode: result);
-      return new FlutterCommandResult(
+      return FlutterCommandResult(
         ExitStatus.success,
         timingLabelParts: <String>['daemon'],
         endTimeOverride: appStartedTime,
@@ -337,7 +337,7 @@
     }
 
     final List<FlutterDevice> flutterDevices = devices.map((Device device) {
-      return new FlutterDevice(
+      return FlutterDevice(
         device,
         trackWidgetCreation: argResults['track-widget-creation'],
         dillOutputPath: argResults['output-dill'],
@@ -349,7 +349,7 @@
     ResidentRunner runner;
     final String applicationBinaryPath = argResults['use-application-binary'];
     if (hotMode) {
-      runner = new HotRunner(
+      runner = HotRunner(
         flutterDevices,
         target: targetFile,
         debuggingOptions: _createDebuggingOptions(),
@@ -364,7 +364,7 @@
         ipv6: ipv6,
       );
     } else {
-      runner = new ColdRunner(
+      runner = ColdRunner(
         flutterDevices,
         target: targetFile,
         debuggingOptions: _createDebuggingOptions(),
@@ -382,7 +382,7 @@
     // need to know about analytics.
     //
     // Do not add more operations to the future.
-    final Completer<void> appStartedTimeRecorder = new Completer<void>.sync();
+    final Completer<void> appStartedTimeRecorder = Completer<void>.sync();
     // This callback can't throw.
     appStartedTimeRecorder.future.then( // ignore: unawaited_futures
       (_) { appStartedTime = clock.now(); }
@@ -395,7 +395,7 @@
     );
     if (result != 0)
       throwToolExit(null, exitCode: result);
-    return new FlutterCommandResult(
+    return FlutterCommandResult(
       ExitStatus.success,
       timingLabelParts: <String>[
         hotMode ? 'hot' : 'cold',
diff --git a/packages/flutter_tools/lib/src/commands/screenshot.dart b/packages/flutter_tools/lib/src/commands/screenshot.dart
index c4233d7..be39b24 100644
--- a/packages/flutter_tools/lib/src/commands/screenshot.dart
+++ b/packages/flutter_tools/lib/src/commands/screenshot.dart
@@ -122,7 +122,7 @@
   }
 
   Future<Map<String, dynamic>> _invokeVmServiceRpc(String method) async {
-    final Uri observatoryUri = new Uri(scheme: 'http', host: '127.0.0.1',
+    final Uri observatoryUri = Uri(scheme: 'http', host: '127.0.0.1',
         port: int.parse(argResults[_kObservatoryPort]));
     final VMService vmService = await VMService.connect(observatoryUri);
     return await vmService.vm.invokeRpcRaw(method);
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart
index 170f7e8..4fc19e9 100644
--- a/packages/flutter_tools/lib/src/commands/test.dart
+++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -140,7 +140,7 @@
 
     CoverageCollector collector;
     if (argResults['coverage'] || argResults['merge-coverage']) {
-      collector = new CoverageCollector();
+      collector = CoverageCollector();
     }
 
     final bool machine = argResults['machine'];
@@ -152,7 +152,7 @@
     if (collector != null) {
       watcher = collector;
     } else if (machine) {
-      watcher = new EventPrinter();
+      watcher = EventPrinter();
     }
 
     Cache.releaseLockEarly();
diff --git a/packages/flutter_tools/lib/src/commands/trace.dart b/packages/flutter_tools/lib/src/commands/trace.dart
index 3999a5b..0b5d44e 100644
--- a/packages/flutter_tools/lib/src/commands/trace.dart
+++ b/packages/flutter_tools/lib/src/commands/trace.dart
@@ -64,7 +64,7 @@
     Duration duration;
     if (argResults.wasParsed('duration')) {
       try {
-        duration = new Duration(seconds: int.parse(argResults['duration']));
+        duration = Duration(seconds: int.parse(argResults['duration']));
       } on FormatException {
         throwToolExit('Invalid duration passed to --duration; it should be a positive number of seconds.');
       }
@@ -88,7 +88,7 @@
 
     if (start)
       await tracing.startTracing();
-    await new Future<Null>.delayed(duration);
+    await Future<Null>.delayed(duration);
     if (stop)
       await _stopTracing(tracing);
   }
diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart
index 6f19cc2..c6e988a 100644
--- a/packages/flutter_tools/lib/src/commands/update_packages.dart
+++ b/packages/flutter_tools/lib/src/commands/update_packages.dart
@@ -112,7 +112,7 @@
     // package that is in the goldens repository. We need to make sure that the goldens
     // repository is cloned locally before we verify or update pubspecs.
     printStatus('Cloning goldens repository...');
-    final GoldensClient goldensClient = new GoldensClient();
+    final GoldensClient goldensClient = GoldensClient();
     await goldensClient.prepare();
 
     if (isVerifyOnly) {
@@ -121,7 +121,7 @@
       for (Directory directory in packages) {
         PubspecYaml pubspec;
         try {
-          pubspec = new PubspecYaml(directory);
+          pubspec = PubspecYaml(directory);
         } on String catch (message) {
           throwToolExit(message);
         }
@@ -176,12 +176,12 @@
       // First, collect up the explicit dependencies:
       final List<PubspecYaml> pubspecs = <PubspecYaml>[];
       final Map<String, PubspecDependency> dependencies = <String, PubspecDependency>{};
-      final Set<String> specialDependencies = new Set<String>();
+      final Set<String> specialDependencies = Set<String>();
       for (Directory directory in packages) { // these are all the directories with pubspec.yamls we care about
         printTrace('Reading pubspec.yaml from: ${directory.path}');
         PubspecYaml pubspec;
         try {
-          pubspec = new PubspecYaml(directory); // this parses the pubspec.yaml
+          pubspec = PubspecYaml(directory); // this parses the pubspec.yaml
         } on String catch (message) {
           throwToolExit(message);
         }
@@ -222,7 +222,7 @@
       // going to create a fake package and then run "pub upgrade" on it. The
       // pub tool will attempt to bring these dependencies up to the most recent
       // possible versions while honoring all their constraints.
-      final PubDependencyTree tree = new PubDependencyTree(); // object to collect results
+      final PubDependencyTree tree = PubDependencyTree(); // object to collect results
       final Directory tempDir = fs.systemTempDirectory.createTempSync('flutter_update_packages.');
       try {
         final File fakePackage = _pubspecFor(tempDir);
@@ -255,7 +255,7 @@
         for (PubspecDependency dependency in pubspec.dependencies) {
           if (dependency.kind == DependencyKind.normal) {
             tree._versions[package] = version;
-            tree._dependencyTree[package] ??= new Set<String>();
+            tree._dependencyTree[package] ??= Set<String>();
             tree._dependencyTree[package].add(dependency.name);
           }
         }
@@ -290,7 +290,7 @@
       // the regular code path.
     }
 
-    final Stopwatch timer = new Stopwatch()..start();
+    final Stopwatch timer = Stopwatch()..start();
     int count = 0;
 
     for (Directory dir in packages) {
@@ -314,11 +314,11 @@
     if (!tree.contains(to))
       throwToolExit('Package $to not found in the dependency tree.');
 
-    final Queue<_DependencyLink> traversalQueue = new Queue<_DependencyLink>();
-    final Set<String> visited = new Set<String>();
+    final Queue<_DependencyLink> traversalQueue = Queue<_DependencyLink>();
+    final Set<String> visited = Set<String>();
     final List<_DependencyLink> paths = <_DependencyLink>[];
 
-    traversalQueue.addFirst(new _DependencyLink(from: null, to: from));
+    traversalQueue.addFirst(_DependencyLink(from: null, to: from));
     while (traversalQueue.isNotEmpty) {
       final _DependencyLink link = traversalQueue.removeLast();
       if (link.to == to)
@@ -327,13 +327,13 @@
         visited.add(link.from.to);
       for (String dependency in tree._dependencyTree[link.to]) {
         if (!visited.contains(dependency)) {
-          traversalQueue.addFirst(new _DependencyLink(from: link, to: dependency));
+          traversalQueue.addFirst(_DependencyLink(from: link, to: dependency));
         }
       }
     }
 
     for (_DependencyLink path in paths) {
-      final StringBuffer buf = new StringBuffer();
+      final StringBuffer buf = StringBuffer();
       while (path != null) {
         buf.write('${path.to}');
         path = path.from;
@@ -490,7 +490,7 @@
           } else {
             // This line isn't a section header, and we're not in a section we care about.
             // We just stick the line into the output unmodified.
-            result.add(new PubspecLine(line));
+            result.add(PubspecLine(line));
           }
         } else {
           // We're in a section we care about. Try to parse out the dependency:
@@ -531,7 +531,7 @@
             // We're in a section we care about but got a line we didn't
             // recognize. Maybe it's a comment or a blank line or something.
             // Just pass it through.
-            result.add(new PubspecLine(line));
+            result.add(PubspecLine(line));
           }
         }
       } else {
@@ -555,15 +555,15 @@
           // Remove the PubspecDependency entry we had for it and replace it
           // with a PubspecLine entry, and add such an entry for this line.
           result.removeLast();
-          result.add(new PubspecLine(lastDependency.line));
-          result.add(new PubspecLine(line));
+          result.add(PubspecLine(lastDependency.line));
+          result.add(PubspecLine(line));
         }
         // We're done with this special dependency, so reset back to null so
         // we'll go in the top section next time instead.
         lastDependency = null;
       }
     }
-    return new PubspecYaml._(file, packageName, packageVersion, result, checksum ?? new PubspecChecksum(null, ''));
+    return PubspecYaml._(file, packageName, packageVersion, result, checksum ?? PubspecChecksum(null, ''));
   }
 
   /// This returns all the explicit dependencies that this pubspec.yaml lists under dependencies.
@@ -594,8 +594,8 @@
   void apply(PubDependencyTree versions, Set<String> specialDependencies) {
     assert(versions != null);
     final List<String> output = <String>[]; // the string data to output to the file, line by line
-    final Set<String> directDependencies = new Set<String>(); // packages this pubspec directly depends on (i.e. not transitive)
-    final Set<String> devDependencies = new Set<String>();
+    final Set<String> directDependencies = Set<String>(); // packages this pubspec directly depends on (i.e. not transitive)
+    final Set<String> devDependencies = Set<String>();
     Section section = Section.other; // the section we're currently handling
 
     // the line number where we're going to insert the transitive dependencies.
@@ -693,19 +693,19 @@
     final List<String> transitiveDevDependencyOutput = <String>[];
 
     // Which dependencies we need to handle for the transitive and dev dependency sections.
-    final Set<String> transitiveDependencies = new Set<String>();
-    final Set<String> transitiveDevDependencies = new Set<String>();
+    final Set<String> transitiveDependencies = Set<String>();
+    final Set<String> transitiveDevDependencies = Set<String>();
 
     // Merge the lists of dependencies we've seen in this file from dependencies, dev dependencies,
     // and the dependencies we know this file mentions that are already pinned
     // (and which didn't get special processing above).
-    final Set<String> implied = new Set<String>.from(directDependencies)
+    final Set<String> implied = Set<String>.from(directDependencies)
       ..addAll(specialDependencies)
       ..addAll(devDependencies);
 
     // Create a new set to hold the list of packages we've already processed, so
     // that we don't redundantly process them multiple times.
-    final Set<String> done = new Set<String>();
+    final Set<String> done = Set<String>();
     for (String package in directDependencies)
       transitiveDependencies.addAll(versions.getTransitiveDependenciesFor(package, seen: done, exclude: implied));
     for (String package in devDependencies)
@@ -722,7 +722,7 @@
       transitiveDevDependencyOutput.add('  $package: ${versions.versionFor(package)} $kTransitiveMagicString');
 
     // Build a sorted list of all dependencies for the checksum.
-    final Set<String> checksumDependencies = new Set<String>()
+    final Set<String> checksumDependencies = Set<String>()
       ..addAll(directDependencies)
       ..addAll(devDependencies)
       ..addAll(transitiveDependenciesAsList)
@@ -755,7 +755,7 @@
 
     // Output the result to the pubspec.yaml file, skipping leading and
     // duplicate blank lines and removing trailing spaces.
-    final StringBuffer contents = new StringBuffer();
+    final StringBuffer contents = StringBuffer();
     bool hadBlankLine = true;
     for (String line in output) {
       line = line.trimRight();
@@ -799,8 +799,8 @@
   static PubspecChecksum parse(String line) {
     final List<String> tokens = line.split(kDependencyChecksum);
     if (tokens.length != 2)
-      return new PubspecChecksum(null, line);
-    return new PubspecChecksum(tokens.last.trim(), line);
+      return PubspecChecksum(null, line);
+    return PubspecChecksum(tokens.last.trim(), line);
   }
 }
 
@@ -852,16 +852,16 @@
     final String value = parts.last.trim();
     switch (sectionName) {
       case 'dependencies':
-        return new PubspecHeader(line, Section.dependencies);
+        return PubspecHeader(line, Section.dependencies);
       case 'dev_dependencies':
-        return new PubspecHeader(line, Section.devDependencies);
+        return PubspecHeader(line, Section.devDependencies);
       case 'dependency_overrides':
-        return new PubspecHeader(line, Section.dependencyOverrides);
+        return PubspecHeader(line, Section.dependencyOverrides);
       case 'name':
       case 'version':
-        return new PubspecHeader(line, Section.header, name: sectionName, value: value);
+        return PubspecHeader(line, Section.header, name: sectionName, value: value);
       default:
-        return new PubspecHeader(line, Section.other);
+        return PubspecHeader(line, Section.other);
     }
   }
 
@@ -930,7 +930,7 @@
     if (colonIndex != -1) {
       version = line.substring(colonIndex + 1, hashIndex != -1 ? hashIndex : line.length).trim();
     }
-    return new PubspecDependency(line, package, suffix, isTransitive: isTransitive, version: version, kind: stripped.isEmpty ? DependencyKind.unknown : DependencyKind.normal, sourcePath: filename);
+    return PubspecDependency(line, package, suffix, isTransitive: isTransitive, version: version, kind: stripped.isEmpty ? DependencyKind.unknown : DependencyKind.normal, sourcePath: filename);
   }
 
   final String name; // the package name
@@ -1066,8 +1066,8 @@
 /// Generates the source of a fake pubspec.yaml file given a list of
 /// dependencies.
 String _generateFakePubspec(Iterable<PubspecDependency> dependencies) {
-  final StringBuffer result = new StringBuffer();
-  final StringBuffer overrides = new StringBuffer();
+  final StringBuffer result = StringBuffer();
+  final StringBuffer overrides = StringBuffer();
   result.writeln('name: flutter_update_packages');
   result.writeln('dependencies:');
   overrides.writeln('dependency_overrides:');
@@ -1145,7 +1145,7 @@
           dependencies = const <String>[];
         }
         _versions[package] = version;
-        _dependencyTree[package] = new Set<String>.from(dependencies);
+        _dependencyTree[package] = Set<String>.from(dependencies);
       }
     }
     return null;
diff --git a/packages/flutter_tools/lib/src/commands/upgrade.dart b/packages/flutter_tools/lib/src/commands/upgrade.dart
index d6a1e82..eefa606 100644
--- a/packages/flutter_tools/lib/src/commands/upgrade.dart
+++ b/packages/flutter_tools/lib/src/commands/upgrade.dart
@@ -88,12 +88,12 @@
   }
 
   //  dev/benchmarks/complex_layout/lib/main.dart        |  24 +-
-  static final RegExp _gitDiffRegex = new RegExp(r' (\S+)\s+\|\s+\d+ [+-]+');
+  static final RegExp _gitDiffRegex = RegExp(r' (\S+)\s+\|\s+\d+ [+-]+');
 
   //  rename {packages/flutter/doc => dev/docs}/styles.html (92%)
   //  delete mode 100644 doc/index.html
   //  create mode 100644 examples/flutter_gallery/lib/gallery/demo.dart
-  static final RegExp _gitChangedRegex = new RegExp(r' (rename|delete mode|create mode) .+');
+  static final RegExp _gitChangedRegex = RegExp(r' (rename|delete mode|create mode) .+');
 
   @visibleForTesting
   static bool matchesGitLine(String line) {
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart
index 7f37282..ff1f3e7 100644
--- a/packages/flutter_tools/lib/src/compile.dart
+++ b/packages/flutter_tools/lib/src/compile.dart
@@ -49,7 +49,7 @@
       }
       final int spaceDelimiter = string.lastIndexOf(' ');
       compilerOutput.complete(
-        new CompilerOutput(
+        CompilerOutput(
           string.substring(boundaryKey.length + 1, spaceDelimiter),
           int.parse(string.substring(spaceDelimiter + 1).trim())));
     }
@@ -62,7 +62,7 @@
   // with its own boundary key and new completer.
   void reset({bool suppressCompilerMessages = false}) {
     boundaryKey = null;
-    compilerOutput = new Completer<CompilerOutput>();
+    compilerOutput = Completer<CompilerOutput>();
     _suppressCompilerMessages = suppressCompilerMessages;
   }
 }
@@ -95,7 +95,7 @@
     // depfile. None of these are available on the local host.
     Fingerprinter fingerprinter;
     if (depFilePath != null) {
-      fingerprinter = new Fingerprinter(
+      fingerprinter = Fingerprinter(
         fingerprintPath: '$depFilePath.fingerprint',
         paths: <String>[mainPath],
         properties: <String, String>{
@@ -109,7 +109,7 @@
 
       if (await fingerprinter.doesFingerprintMatch()) {
         printTrace('Skipping kernel compilation. Fingerprint match.');
-        return new CompilerOutput(outputFilePath, 0);
+        return CompilerOutput(outputFilePath, 0);
       }
     }
 
@@ -175,7 +175,7 @@
       printError('Failed to start frontend server $error, $stack');
     });
 
-    final _StdoutHandler _stdoutHandler = new _StdoutHandler();
+    final _StdoutHandler _stdoutHandler = _StdoutHandler();
 
     server.stderr
       .transform(utf8.decoder)
@@ -255,8 +255,8 @@
       _packagesPath = packagesPath,
       _fileSystemRoots = fileSystemRoots,
       _fileSystemScheme = fileSystemScheme,
-      _stdoutHandler = new _StdoutHandler(consumer: compilerMessageConsumer),
-      _controller = new StreamController<_CompilationRequest>(),
+      _stdoutHandler = _StdoutHandler(consumer: compilerMessageConsumer),
+      _controller = StreamController<_CompilationRequest>(),
       _initializeFromDill = initializeFromDill {
     // This is a URI, not a file path, so the forward slash is correct even on Windows.
     if (!_sdkRoot.endsWith('/'))
@@ -287,9 +287,9 @@
       _controller.stream.listen(_handleCompilationRequest);
     }
 
-    final Completer<CompilerOutput> completer = new Completer<CompilerOutput>();
+    final Completer<CompilerOutput> completer = Completer<CompilerOutput>();
     _controller.add(
-        new _RecompileRequest(completer, mainPath, invalidatedFiles, outputPath, packagesFilePath)
+        _RecompileRequest(completer, mainPath, invalidatedFiles, outputPath, packagesFilePath)
     );
     return completer.future;
   }
@@ -304,7 +304,7 @@
           request.outputPath, _mapFilename(request.packagesFilePath));
     }
 
-    final String inputKey = new Uuid().generateV4();
+    final String inputKey = Uuid().generateV4();
     _server.stdin.writeln('recompile ${request.mainPath != null ? _mapFilename(request.mainPath) + " ": ""}$inputKey');
     for (String fileUri in request.invalidatedFiles) {
       _server.stdin.writeln(_mapFileUri(fileUri));
@@ -399,9 +399,9 @@
       _controller.stream.listen(_handleCompilationRequest);
     }
 
-    final Completer<CompilerOutput> completer = new Completer<CompilerOutput>();
+    final Completer<CompilerOutput> completer = Completer<CompilerOutput>();
     _controller.add(
-        new _CompileExpressionRequest(
+        _CompileExpressionRequest(
             completer, expression, definitions, typeDefinitions, libraryUri, klass, isStatic)
     );
     return completer.future;
@@ -416,7 +416,7 @@
     if (_server == null)
       return null;
 
-    final String inputKey = new Uuid().generateV4();
+    final String inputKey = Uuid().generateV4();
     _server.stdin.writeln('compile-expression $inputKey');
     _server.stdin.writeln(request.expression);
     request.definitions?.forEach(_server.stdin.writeln);
@@ -455,7 +455,7 @@
     if (_fileSystemRoots != null) {
       for (String root in _fileSystemRoots) {
         if (filename.startsWith(root)) {
-          return new Uri(
+          return Uri(
               scheme: _fileSystemScheme, path: filename.substring(root.length))
               .toString();
         }
@@ -469,7 +469,7 @@
       final String filename = Uri.parse(fileUri).toFilePath();
       for (String root in _fileSystemRoots) {
         if (filename.startsWith(root)) {
-          return new Uri(
+          return Uri(
               scheme: _fileSystemScheme, path: filename.substring(root.length))
               .toString();
         }
diff --git a/packages/flutter_tools/lib/src/context_runner.dart b/packages/flutter_tools/lib/src/context_runner.dart
index 6a01414..86c8ab5 100644
--- a/packages/flutter_tools/lib/src/context_runner.dart
+++ b/packages/flutter_tools/lib/src/context_runner.dart
@@ -46,36 +46,36 @@
     fallbacks: <Type, Generator>{
       AndroidSdk: AndroidSdk.locateAndroidSdk,
       AndroidStudio: AndroidStudio.latestValid,
-      AndroidWorkflow: () => new AndroidWorkflow(),
-      AndroidValidator: () => new AndroidValidator(),
-      Artifacts: () => new CachedArtifacts(),
+      AndroidWorkflow: () => AndroidWorkflow(),
+      AndroidValidator: () => AndroidValidator(),
+      Artifacts: () => CachedArtifacts(),
       AssetBundleFactory: () => AssetBundleFactory.defaultInstance,
       BotDetector: () => const BotDetector(),
-      Cache: () => new Cache(),
+      Cache: () => Cache(),
       Clock: () => const Clock(),
-      CocoaPods: () => new CocoaPods(),
-      Config: () => new Config(),
-      DevFSConfig: () => new DevFSConfig(),
-      DeviceManager: () => new DeviceManager(),
+      CocoaPods: () => CocoaPods(),
+      Config: () => Config(),
+      DevFSConfig: () => DevFSConfig(),
+      DeviceManager: () => DeviceManager(),
       Doctor: () => const Doctor(),
       DoctorValidatorsProvider: () => DoctorValidatorsProvider.defaultInstance,
-      EmulatorManager: () => new EmulatorManager(),
+      EmulatorManager: () => EmulatorManager(),
       Flags: () => const EmptyFlags(),
-      FlutterVersion: () => new FlutterVersion(const Clock()),
+      FlutterVersion: () => FlutterVersion(const Clock()),
       GenSnapshot: () => const GenSnapshot(),
-      HotRunnerConfig: () => new HotRunnerConfig(),
+      HotRunnerConfig: () => HotRunnerConfig(),
       IMobileDevice: () => const IMobileDevice(),
-      IOSSimulatorUtils: () => new IOSSimulatorUtils(),
+      IOSSimulatorUtils: () => IOSSimulatorUtils(),
       IOSWorkflow: () => const IOSWorkflow(),
       IOSValidator: () => const IOSValidator(),
       KernelCompiler: () => const KernelCompiler(),
-      Logger: () => platform.isWindows ? new WindowsStdoutLogger() : new StdoutLogger(),
-      OperatingSystemUtils: () => new OperatingSystemUtils(),
-      SimControl: () => new SimControl(),
+      Logger: () => platform.isWindows ? WindowsStdoutLogger() : StdoutLogger(),
+      OperatingSystemUtils: () => OperatingSystemUtils(),
+      SimControl: () => SimControl(),
       Stdio: () => const Stdio(),
-      Usage: () => new Usage(),
-      Xcode: () => new Xcode(),
-      XcodeProjectInterpreter: () => new XcodeProjectInterpreter(),
+      Usage: () => Usage(),
+      Xcode: () => Xcode(),
+      XcodeProjectInterpreter: () => XcodeProjectInterpreter(),
     },
   );
 }
diff --git a/packages/flutter_tools/lib/src/crash_reporting.dart b/packages/flutter_tools/lib/src/crash_reporting.dart
index 1bf1cd1..9018cee 100644
--- a/packages/flutter_tools/lib/src/crash_reporting.dart
+++ b/packages/flutter_tools/lib/src/crash_reporting.dart
@@ -52,12 +52,12 @@
 
   CrashReportSender._(this._client);
 
-  static CrashReportSender get instance => _instance ?? new CrashReportSender._(new http.Client());
+  static CrashReportSender get instance => _instance ?? CrashReportSender._(http.Client());
 
   /// Overrides the default [http.Client] with [client] for testing purposes.
   @visibleForTesting
   static void initializeWith(http.Client client) {
-    _instance = new CrashReportSender._(client);
+    _instance = CrashReportSender._(client);
   }
 
   final http.Client _client;
@@ -69,7 +69,7 @@
     if (overrideUrl != null) {
       return Uri.parse(overrideUrl);
     }
-    return new Uri(
+    return Uri(
       scheme: 'https',
       host: _kCrashServerHost,
       port: 443,
@@ -99,7 +99,7 @@
         },
       );
 
-      final http.MultipartRequest req = new http.MultipartRequest('POST', uri);
+      final http.MultipartRequest req = http.MultipartRequest('POST', uri);
       req.fields['uuid'] = _usage.clientId;
       req.fields['product'] = _kProductId;
       req.fields['version'] = flutterVersion;
@@ -108,8 +108,8 @@
       req.fields['type'] = _kDartTypeId;
       req.fields['error_runtime_type'] = '${error.runtimeType}';
 
-      final String stackTraceWithRelativePaths = new Chain.parse(stackTrace.toString()).terse.toString();
-      req.files.add(new http.MultipartFile.fromString(
+      final String stackTraceWithRelativePaths = Chain.parse(stackTrace.toString()).terse.toString();
+      req.files.add(http.MultipartFile.fromString(
         _kStackTraceFileField,
         stackTraceWithRelativePaths,
         filename: _kStackTraceFilename,
@@ -118,7 +118,7 @@
       final http.StreamedResponse resp = await _client.send(req);
 
       if (resp.statusCode == 200) {
-        final String reportId = await new http.ByteStream(resp.stream)
+        final String reportId = await http.ByteStream(resp.stream)
             .bytesToString();
         printStatus('Crash report sent (report ID: $reportId)');
       } else {
diff --git a/packages/flutter_tools/lib/src/dart/analysis.dart b/packages/flutter_tools/lib/src/dart/analysis.dart
index 5fce936..0815190 100644
--- a/packages/flutter_tools/lib/src/dart/analysis.dart
+++ b/packages/flutter_tools/lib/src/dart/analysis.dart
@@ -21,9 +21,9 @@
 
   Process _process;
   final StreamController<bool> _analyzingController =
-      new StreamController<bool>.broadcast();
+      StreamController<bool>.broadcast();
   final StreamController<FileAnalysisErrors> _errorsController =
-      new StreamController<FileAnalysisErrors>.broadcast();
+      StreamController<FileAnalysisErrors>.broadcast();
 
   int _id = 0;
 
@@ -132,10 +132,10 @@
     final List<dynamic> errorsList = issueInfo['errors'];
     final List<AnalysisError> errors = errorsList
         .map<Map<String, dynamic>>(castStringKeyedMap)
-        .map<AnalysisError>((Map<String, dynamic> json) => new AnalysisError(json))
+        .map<AnalysisError>((Map<String, dynamic> json) => AnalysisError(json))
         .toList();
     if (!_errorsController.isClosed)
-      _errorsController.add(new FileAnalysisErrors(file, errors));
+      _errorsController.add(FileAnalysisErrors(file, errors));
   }
 
   Future<bool> dispose() async {
diff --git a/packages/flutter_tools/lib/src/dart/dependencies.dart b/packages/flutter_tools/lib/src/dart/dependencies.dart
index 28c7471..0b7fa12 100644
--- a/packages/flutter_tools/lib/src/dart/dependencies.dart
+++ b/packages/flutter_tools/lib/src/dart/dependencies.dart
@@ -39,7 +39,7 @@
   Set<String> build() {
     final List<String> dependencies = <String>[_mainScriptPath, _packagesFilePath];
     final List<Uri> toProcess = <Uri>[_mainScriptUri];
-    final PackageMap packageMap = new PackageMap(_packagesFilePath);
+    final PackageMap packageMap = PackageMap(_packagesFilePath);
 
     while (toProcess.isNotEmpty) {
       final Uri currentUri = toProcess.removeLast();
@@ -69,7 +69,7 @@
         try {
           uri = Uri.parse(uriAsString);
         } on FormatException {
-          throw new DartDependencyException('Unable to parse URI: $uriAsString');
+          throw DartDependencyException('Unable to parse URI: $uriAsString');
         }
         Uri resolvedUri = analyzer.resolveRelativeUri(currentUri, uri);
         if (resolvedUri.scheme.startsWith('dart'))
@@ -77,7 +77,7 @@
         if (resolvedUri.scheme == 'package') {
           final Uri newResolvedUri = packageMap.uriForPackage(resolvedUri);
           if (newResolvedUri == null) {
-            throw new DartDependencyException(
+            throw DartDependencyException(
               'The following Dart file:\n'
               '  ${currentUri.toFilePath()}\n'
               '...refers, in an import, to the following library:\n'
@@ -91,7 +91,7 @@
         final String path = canonicalizePath(resolvedUri.toFilePath());
         if (!dependencies.contains(path)) {
           if (!fs.isFileSync(path)) {
-            throw new DartDependencyException(
+            throw DartDependencyException(
               'The following Dart file:\n'
               '  ${currentUri.toFilePath()}\n'
               '...refers, in an import, to the following library:\n'
@@ -112,7 +112,7 @@
     try {
       body = fs.file(path).readAsStringSync();
     } on FileSystemException catch (error) {
-      throw new DartDependencyException(
+      throw DartDependencyException(
         'Could not read "$path" when determining Dart dependencies.',
         error,
       );
@@ -120,7 +120,7 @@
     try {
       return analyzer.parseDirectives(body, name: path);
     } on analyzer.AnalyzerError catch (error) {
-      throw new DartDependencyException(
+      throw DartDependencyException(
         'When trying to parse this Dart file to find its dependencies:\n'
         '  $path\n'
         '...the analyzer failed with the following error:\n'
@@ -128,7 +128,7 @@
         error,
       );
     } on analyzer.AnalyzerErrorGroup catch (error) {
-      throw new DartDependencyException(
+      throw DartDependencyException(
         'When trying to parse this Dart file to find its dependencies:\n'
         '  $path\n'
         '...the analyzer failed with the following error:\n'
diff --git a/packages/flutter_tools/lib/src/dart/package_map.dart b/packages/flutter_tools/lib/src/dart/package_map.dart
index c1b7bfc..6d94012 100644
--- a/packages/flutter_tools/lib/src/dart/package_map.dart
+++ b/packages/flutter_tools/lib/src/dart/package_map.dart
@@ -12,7 +12,7 @@
 Map<String, Uri> _parse(String packagesPath) {
   final List<int> source = fs.file(packagesPath).readAsBytesSync();
   return packages_file.parse(source,
-      new Uri.file(packagesPath, windows: platform.isWindows));
+      Uri.file(packagesPath, windows: platform.isWindows));
 }
 
 class PackageMap {
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart
index cd2d12c..816c775 100644
--- a/packages/flutter_tools/lib/src/dart/pub.dart
+++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -23,32 +23,32 @@
 // DO NOT update without contacting kevmoo.
 // We have server-side tooling that assumes the values are consistent.
 class PubContext {
-  static final RegExp _validContext = new RegExp('[a-z][a-z_]*[a-z]');
+  static final RegExp _validContext = RegExp('[a-z][a-z_]*[a-z]');
 
-  static final PubContext create = new PubContext._(<String>['create']);
-  static final PubContext createPackage = new PubContext._(<String>['create_pkg']);
-  static final PubContext createPlugin = new PubContext._(<String>['create_plugin']);
-  static final PubContext interactive = new PubContext._(<String>['interactive']);
-  static final PubContext pubGet = new PubContext._(<String>['get']);
-  static final PubContext pubUpgrade = new PubContext._(<String>['upgrade']);
-  static final PubContext runTest = new PubContext._(<String>['run_test']);
+  static final PubContext create = PubContext._(<String>['create']);
+  static final PubContext createPackage = PubContext._(<String>['create_pkg']);
+  static final PubContext createPlugin = PubContext._(<String>['create_plugin']);
+  static final PubContext interactive = PubContext._(<String>['interactive']);
+  static final PubContext pubGet = PubContext._(<String>['get']);
+  static final PubContext pubUpgrade = PubContext._(<String>['upgrade']);
+  static final PubContext runTest = PubContext._(<String>['run_test']);
 
-  static final PubContext flutterTests = new PubContext._(<String>['flutter_tests']);
-  static final PubContext updatePackages = new PubContext._(<String>['update_packages']);
+  static final PubContext flutterTests = PubContext._(<String>['flutter_tests']);
+  static final PubContext updatePackages = PubContext._(<String>['update_packages']);
 
   final List<String> _values;
 
   PubContext._(this._values) {
     for (String item in _values) {
       if (!_validContext.hasMatch(item)) {
-        throw new ArgumentError.value(
+        throw ArgumentError.value(
             _values, 'value', 'Must match RegExp ${_validContext.pattern}');
       }
     }
   }
 
   static PubContext getVerifyContext(String commandName) =>
-      new PubContext._(<String>['verify', commandName.replaceAll('-', '_')]);
+      PubContext._(<String>['verify', commandName.replaceAll('-', '_')]);
 
   @override
   String toString() => 'PubContext: ${_values.join(':')}';
@@ -161,7 +161,7 @@
     if (code != 69) // UNAVAILABLE in https://github.com/dart-lang/pub/blob/master/lib/src/exit_codes.dart
       break;
     printStatus('$failureMessage ($code) -- attempting retry $attempts in $duration second${ duration == 1 ? "" : "s"}...');
-    await new Future<Null>.delayed(new Duration(seconds: duration));
+    await Future<Null>.delayed(Duration(seconds: duration));
     if (duration < 64)
       duration *= 2;
   }
@@ -207,7 +207,7 @@
   return environment;
 }
 
-final RegExp _analyzerWarning = new RegExp(r'^! \w+ [^ ]+ from path \.\./\.\./bin/cache/dart-sdk/lib/\w+$');
+final RegExp _analyzerWarning = RegExp(r'^! \w+ [^ ]+ from path \.\./\.\./bin/cache/dart-sdk/lib/\w+$');
 
 /// The console environment key used by the pub tool.
 const String _pubEnvironmentKey = 'PUB_ENVIRONMENT';
diff --git a/packages/flutter_tools/lib/src/dependency_checker.dart b/packages/flutter_tools/lib/src/dependency_checker.dart
index 1ff6eaa..8316443 100644
--- a/packages/flutter_tools/lib/src/dependency_checker.dart
+++ b/packages/flutter_tools/lib/src/dependency_checker.dart
@@ -9,7 +9,7 @@
 
 class DependencyChecker {
   final DartDependencySetBuilder builder;
-  final Set<String> _dependencies = new Set<String>();
+  final Set<String> _dependencies = Set<String>();
   final AssetBundle assets;
   DependencyChecker(this.builder, this.assets);
 
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index cb7f107..fd47054 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -59,7 +59,7 @@
   DevFSFileContent(this.file);
 
   static DevFSFileContent clone(DevFSFileContent fsFileContent) {
-    final DevFSFileContent newFsFileContent = new DevFSFileContent(fsFileContent.file);
+    final DevFSFileContent newFsFileContent = DevFSFileContent(fsFileContent.file);
     newFsFileContent._linkTarget = fsFileContent._linkTarget;
     newFsFileContent._fileStat = fsFileContent._fileStat;
     return newFsFileContent;
@@ -137,14 +137,14 @@
   List<int> _bytes;
 
   bool _isModified = true;
-  DateTime _modificationTime = new DateTime.now();
+  DateTime _modificationTime = DateTime.now();
 
   List<int> get bytes => _bytes;
 
   set bytes(List<int> value) {
     _bytes = value;
     _isModified = true;
-    _modificationTime = new DateTime.now();
+    _modificationTime = DateTime.now();
   }
 
   /// Return true only once so that the content is written to the device only once.
@@ -168,7 +168,7 @@
 
   @override
   Stream<List<int>> contentsAsStream() =>
-      new Stream<List<int>>.fromIterable(<List<int>>[_bytes]);
+      Stream<List<int>>.fromIterable(<List<int>>[_bytes]);
 }
 
 /// String content to be copied to the device.
@@ -268,10 +268,10 @@
   HttpClient _client;
 
   Future<Null> write(Map<Uri, DevFSContent> entries) async {
-    _client = new HttpClient();
+    _client = HttpClient();
     _client.maxConnectionsPerHost = kMaxInFlight;
-    _completer = new Completer<Null>();
-    _outstanding = new Map<Uri, DevFSContent>.from(entries);
+    _completer = Completer<Null>();
+    _outstanding = Map<Uri, DevFSContent>.from(entries);
     _scheduleWrites();
     await _completer.future;
     _client.close();
@@ -336,8 +336,8 @@
         this.rootDirectory, {
         String packagesFilePath
       })
-    : _operations = new ServiceProtocolDevFSOperations(serviceProtocol),
-      _httpWriter = new _DevFSHttpWriter(fsName, serviceProtocol) {
+    : _operations = ServiceProtocolDevFSOperations(serviceProtocol),
+      _httpWriter = _DevFSHttpWriter(fsName, serviceProtocol) {
     _packagesFilePath =
         packagesFilePath ?? fs.path.join(rootDirectory.path, kPackagesFileName);
   }
@@ -358,7 +358,7 @@
   final Directory rootDirectory;
   String _packagesFilePath;
   final Map<Uri, DevFSContent> _entries = <Uri, DevFSContent>{};
-  final Set<String> assetPathsToEvict = new Set<String>();
+  final Set<String> assetPathsToEvict = Set<String>();
 
   final List<Future<Map<String, dynamic>>> _pendingOperations =
       <Future<Map<String, dynamic>>>[];
@@ -485,7 +485,7 @@
     // run with no changes is supposed to be fast (considering that it is
     // initiated by user key press).
     final List<String> invalidatedFiles = <String>[];
-    final Set<Uri> filesUris = new Set<Uri>();
+    final Set<Uri> filesUris = Set<Uri>();
     for (Uri uri in dirtyEntries.keys.toList()) {
       if (!uri.path.startsWith(assetBuildDirPrefix)) {
         final DevFSContent content = dirtyEntries[uri];
@@ -516,7 +516,7 @@
         : pathToReload,
       );
       if (!dirtyEntries.containsKey(entryUri)) {
-        final DevFSFileContent content = new DevFSFileContent(fs.file(compiledBinary));
+        final DevFSFileContent content = DevFSFileContent(fs.file(compiledBinary));
         dirtyEntries[entryUri] = content;
         numBytes += content.size;
       }
@@ -528,10 +528,10 @@
           await _httpWriter.write(dirtyEntries);
         } on SocketException catch (socketException, stackTrace) {
           printTrace('DevFS sync failed. Lost connection to device: $socketException');
-          throw new DevFSException('Lost connection to device.', socketException, stackTrace);
+          throw DevFSException('Lost connection to device.', socketException, stackTrace);
         } catch (exception, stackTrace) {
           printError('Could not update files on device: $exception');
-          throw new DevFSException('Sync failed', exception, stackTrace);
+          throw DevFSException('Sync failed', exception, stackTrace);
         }
       } else {
         // Make service protocol requests for each.
@@ -552,7 +552,7 @@
   }
 
   void _scanFile(Uri deviceUri, FileSystemEntity file) {
-    final DevFSContent content = _entries.putIfAbsent(deviceUri, () => new DevFSFileContent(file));
+    final DevFSContent content = _entries.putIfAbsent(deviceUri, () => DevFSFileContent(file));
     content._exists = true;
   }
 
@@ -601,7 +601,7 @@
     if (directoryUriOnDevice == null) {
       final String relativeRootPath = fs.path.relative(directory.path, from: rootDirectory.path);
       if (relativeRootPath == '.') {
-        directoryUriOnDevice = new Uri();
+        directoryUriOnDevice = Uri();
       } else {
         directoryUriOnDevice = fs.path.toUri(relativeRootPath);
       }
@@ -699,7 +699,7 @@
 
   Future<Null> _scanPackages(Set<String> fileFilter) async {
     StringBuffer sb;
-    final PackageMap packageMap = new PackageMap(_packagesFilePath);
+    final PackageMap packageMap = PackageMap(_packagesFilePath);
 
     for (String packageName in packageMap.map.keys) {
       final Uri packageUri = packageMap.map[packageName];
@@ -726,7 +726,7 @@
                                  fileFilter: fileFilter);
       }
       if (packageExists) {
-        sb ??= new StringBuffer();
+        sb ??= StringBuffer();
         sb.writeln('$packageName:$directoryUriOnDevice');
       }
     }
diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart
index 78121b0..61ff0ab 100644
--- a/packages/flutter_tools/lib/src/device.dart
+++ b/packages/flutter_tools/lib/src/device.dart
@@ -24,10 +24,10 @@
   /// of their methods are called.
   DeviceManager() {
     // Register the known discoverers.
-    _deviceDiscoverers.add(new AndroidDevices());
-    _deviceDiscoverers.add(new IOSDevices());
-    _deviceDiscoverers.add(new IOSSimulators());
-    _deviceDiscoverers.add(new FlutterTesterDevices());
+    _deviceDiscoverers.add(AndroidDevices());
+    _deviceDiscoverers.add(IOSDevices());
+    _deviceDiscoverers.add(IOSSimulators());
+    _deviceDiscoverers.add(FlutterTesterDevices());
   }
 
   final List<DeviceDiscovery> _deviceDiscoverers = <DeviceDiscovery>[];
@@ -121,7 +121,7 @@
 
   /// Gets a list of diagnostic messages pertaining to issues with any connected
   /// devices (will be an empty list if there are no issues).
-  Future<List<String>> getDiagnostics() => new Future<List<String>>.value(<String>[]);
+  Future<List<String>> getDiagnostics() => Future<List<String>>.value(<String>[]);
 }
 
 /// A [DeviceDiscovery] implementation that uses polling to discover device adds
@@ -140,9 +140,9 @@
 
   void startPolling() {
     if (_poller == null) {
-      _items ??= new ItemListNotifier<Device>();
+      _items ??= ItemListNotifier<Device>();
 
-      _poller = new Poller(() async {
+      _poller = Poller(() async {
         try {
           final List<Device> devices = await pollingGetDevices().timeout(_pollingTimeout);
           _items.updateWithNewList(devices);
@@ -160,17 +160,17 @@
 
   @override
   Future<List<Device>> get devices async {
-    _items ??= new ItemListNotifier<Device>.from(await pollingGetDevices());
+    _items ??= ItemListNotifier<Device>.from(await pollingGetDevices());
     return _items.items;
   }
 
   Stream<Device> get onAdded {
-    _items ??= new ItemListNotifier<Device>();
+    _items ??= ItemListNotifier<Device>();
     return _items.onAdded;
   }
 
   Stream<Device> get onRemoved {
-    _items ??= new ItemListNotifier<Device>();
+    _items ??= ItemListNotifier<Device>();
     return _items.onRemoved;
   }
 
@@ -275,7 +275,7 @@
 
   bool get supportsScreenshot => false;
 
-  Future<void> takeScreenshot(File outputFile) => new Future<Null>.error('unimplemented');
+  Future<void> takeScreenshot(File outputFile) => Future<Null>.error('unimplemented');
 
   @override
   int get hashCode => id.hashCode;
@@ -314,7 +314,7 @@
     }
 
     // Calculate column widths
-    final List<int> indices = new List<int>.generate(table[0].length - 1, (int i) => i);
+    final List<int> indices = List<int>.generate(table[0].length - 1, (int i) => i);
     List<int> widths = indices.map((int i) => 0).toList();
     for (List<String> row in table) {
       widths = indices.map((int i) => math.max(widths[i], row[i].length)).toList();
@@ -374,7 +374,7 @@
 
   @override
   String toString() {
-    final StringBuffer buf = new StringBuffer('started=$started');
+    final StringBuffer buf = StringBuffer('started=$started');
     if (observatoryUri != null)
       buf.write(', observatory=$observatoryUri');
     return buf.toString();
diff --git a/packages/flutter_tools/lib/src/disabled_usage.dart b/packages/flutter_tools/lib/src/disabled_usage.dart
index 5705361..a499070 100644
--- a/packages/flutter_tools/lib/src/disabled_usage.dart
+++ b/packages/flutter_tools/lib/src/disabled_usage.dart
@@ -41,7 +41,7 @@
   Stream<Map<String, dynamic>> get onSend => null;
 
   @override
-  Future<Null> ensureAnalyticsSent() => new Future<Null>.value();
+  Future<Null> ensureAnalyticsSent() => Future<Null>.value();
 
   @override
   void printWelcome() { }
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart
index 8d23024..6cf154c 100644
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -31,7 +31,7 @@
   /// The singleton instance, pulled from the [AppContext].
   static DoctorValidatorsProvider get instance => context[DoctorValidatorsProvider];
 
-  static final DoctorValidatorsProvider defaultInstance = new _DefaultDoctorValidatorsProvider();
+  static final DoctorValidatorsProvider defaultInstance = _DefaultDoctorValidatorsProvider();
 
   List<DoctorValidator> get validators;
   List<Workflow> get workflows;
@@ -45,7 +45,7 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new _FlutterValidator());
+      _validators.add(_FlutterValidator());
 
       if (androidWorkflow.appliesToHostPlatform)
         _validators.add(androidValidator);
@@ -60,10 +60,10 @@
       if (ideValidators.isNotEmpty)
         _validators.addAll(ideValidators);
       else
-        _validators.add(new NoIdeValidator());
+        _validators.add(NoIdeValidator());
 
       if (deviceManager.canListAnything)
-        _validators.add(new DeviceValidator());
+        _validators.add(DeviceValidator());
     }
     return _validators;
   }
@@ -102,7 +102,7 @@
   List<ValidatorTask> startValidatorTasks() {
     final List<ValidatorTask> tasks = <ValidatorTask>[];
     for (DoctorValidator validator in validators) {
-      tasks.add(new ValidatorTask(validator, validator.validate()));
+      tasks.add(ValidatorTask(validator, validator.validate()));
     }
     return tasks;
   }
@@ -117,11 +117,11 @@
   }
 
   Future<String> get summaryText async {
-    final StringBuffer buffer = new StringBuffer();
+    final StringBuffer buffer = StringBuffer();
 
     bool allGood = true;
 
-    final Set<ValidatorCategory> finishedGroups = new Set<ValidatorCategory>();
+    final Set<ValidatorCategory> finishedGroups = Set<ValidatorCategory>();
     for (DoctorValidator validator in validators) {
       final ValidatorCategory currentCategory = validator.category;
       ValidationResult result;
@@ -182,11 +182,11 @@
 
     final List<ValidatorTask> taskList = startValidatorTasks();
 
-    final Set<ValidatorCategory> finishedGroups = new Set<ValidatorCategory>();
+    final Set<ValidatorCategory> finishedGroups = Set<ValidatorCategory>();
     for (ValidatorTask validatorTask in taskList) {
       final DoctorValidator validator = validatorTask.validator;
       final ValidatorCategory currentCategory = validator.category;
-      final Status status = new Status.withSpinner();
+      final Status status = Status.withSpinner();
       ValidationResult result;
 
       if (currentCategory.isGrouped) {
@@ -281,7 +281,7 @@
       mergedMessages.addAll(result.messages);
     }
 
-    return new ValidationResult(mergedType, mergedMessages,
+    return ValidationResult(mergedType, mergedMessages,
         statusInfo: results[0].statusInfo);
   }
 
@@ -392,19 +392,19 @@
 
     final FlutterVersion version = FlutterVersion.instance;
 
-    messages.add(new ValidationMessage('Flutter version ${version.frameworkVersion} at ${Cache.flutterRoot}'));
-    messages.add(new ValidationMessage(
+    messages.add(ValidationMessage('Flutter version ${version.frameworkVersion} at ${Cache.flutterRoot}'));
+    messages.add(ValidationMessage(
       'Framework revision ${version.frameworkRevisionShort} '
       '(${version.frameworkAge}), ${version.frameworkDate}'
     ));
-    messages.add(new ValidationMessage('Engine revision ${version.engineRevisionShort}'));
-    messages.add(new ValidationMessage('Dart version ${version.dartSdkVersion}'));
+    messages.add(ValidationMessage('Engine revision ${version.engineRevisionShort}'));
+    messages.add(ValidationMessage('Dart version ${version.dartSdkVersion}'));
     final String genSnapshotPath =
       artifacts.getArtifactPath(Artifact.genSnapshot);
 
     // Check that the binaries we downloaded for this platform actually run on it.
     if (!_genSnapshotRuns(genSnapshotPath)) {
-      final StringBuffer buf = new StringBuffer();
+      final StringBuffer buf = StringBuffer();
       buf.writeln('Downloaded executables cannot execute on host.');
       buf.writeln('See https://github.com/flutter/flutter/issues/6207 for more information');
       if (platform.isLinux) {
@@ -412,11 +412,11 @@
         buf.writeln('On Fedora: dnf install libstdc++.i686');
         buf.writeln('On Arch: pacman -S lib32-libstdc++5');
       }
-      messages.add(new ValidationMessage.error(buf.toString()));
+      messages.add(ValidationMessage.error(buf.toString()));
       valid = ValidationType.partial;
     }
 
-    return new ValidationResult(valid, messages,
+    return ValidationResult(valid, messages,
       statusInfo: 'Channel ${version.channel}, v${version.frameworkVersion}, on ${os.name}, locale ${platform.localeName}'
     );
   }
@@ -436,8 +436,8 @@
 
   @override
   Future<ValidationResult> validate() async {
-    return new ValidationResult(ValidationType.missing, <ValidationMessage>[
-      new ValidationMessage('IntelliJ - https://www.jetbrains.com/idea/'),
+    return ValidationResult(ValidationType.missing, <ValidationMessage>[
+      ValidationMessage('IntelliJ - https://www.jetbrains.com/idea/'),
     ], statusInfo: 'No supported IDEs installed');
   }
 }
@@ -455,7 +455,7 @@
     'IdeaIC' : 'IntelliJ IDEA Community Edition',
   };
 
-  static final Version kMinIdeaVersion = new Version(2017, 1, 0);
+  static final Version kMinIdeaVersion = Version(2017, 1, 0);
 
   static Iterable<DoctorValidator> get installedValidators {
     if (platform.isLinux || platform.isWindows)
@@ -469,15 +469,15 @@
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
 
-    messages.add(new ValidationMessage('IntelliJ at $installPath'));
+    messages.add(ValidationMessage('IntelliJ at $installPath'));
 
-    final IntelliJPlugins plugins = new IntelliJPlugins(pluginsPath);
+    final IntelliJPlugins plugins = IntelliJPlugins(pluginsPath);
     plugins.validatePackage(messages, <String>['flutter-intellij', 'flutter-intellij.jar'],
         'Flutter', minVersion: IntelliJPlugins.kMinFlutterPluginVersion);
     plugins.validatePackage(messages, <String>['Dart'], 'Dart');
 
     if (_hasIssues(messages)) {
-      messages.add(new ValidationMessage(
+      messages.add(ValidationMessage(
         'For information about installing plugins, see\n'
         'https://flutter.io/intellij-setup/#installing-the-plugins'
       ));
@@ -485,7 +485,7 @@
 
     _validateIntelliJVersion(messages, kMinIdeaVersion);
 
-    return new ValidationResult(
+    return ValidationResult(
       _hasIssues(messages) ? ValidationType.partial : ValidationType.installed,
       messages,
       statusInfo: 'version $version'
@@ -501,12 +501,12 @@
     if (minVersion == Version.unknown)
       return;
 
-    final Version installedVersion = new Version.parse(version);
+    final Version installedVersion = Version.parse(version);
     if (installedVersion == null)
       return;
 
     if (installedVersion < minVersion) {
-      messages.add(new ValidationMessage.error(
+      messages.add(ValidationMessage.error(
         'This install is older than the minimum recommended version of $minVersion.'
       ));
     }
@@ -529,7 +529,7 @@
 
     void addValidator(String title, String version, String installPath, String pluginsPath) {
       final IntelliJValidatorOnLinuxAndWindows validator =
-        new IntelliJValidatorOnLinuxAndWindows(title, version, installPath, pluginsPath);
+        IntelliJValidatorOnLinuxAndWindows(title, version, installPath, pluginsPath);
       for (int index = 0; index < validators.length; ++index) {
         final DoctorValidator other = validators[index];
         if (other is IntelliJValidatorOnLinuxAndWindows && validator.installPath == other.installPath) {
@@ -585,7 +585,7 @@
       _dirNameToId.forEach((String dirName, String id) {
         if (name == dirName) {
           final String title = IntelliJValidator._idToTitle[id];
-          validators.add(new IntelliJValidatorOnMac(title, id, dir.path));
+          validators.add(IntelliJValidatorOnMac(title, id, dir.path));
         }
       });
     }
@@ -607,10 +607,10 @@
         }
       }
     } on FileSystemException catch (e) {
-      validators.add(new ValidatorWithResult(
+      validators.add(ValidatorWithResult(
           'Cannot determine if IntelliJ is installed',
-          new ValidationResult(ValidationType.missing, <ValidationMessage>[
-              new ValidationMessage.error(e.message),
+          ValidationResult(ValidationType.missing, <ValidationMessage>[
+              ValidationMessage.error(e.message),
           ]),
       ));
     }
@@ -649,19 +649,19 @@
     if (devices.isEmpty) {
       final List<String> diagnostics = await deviceManager.getDeviceDiagnostics();
       if (diagnostics.isNotEmpty) {
-        messages = diagnostics.map((String message) => new ValidationMessage(message)).toList();
+        messages = diagnostics.map((String message) => ValidationMessage(message)).toList();
       } else {
-        messages = <ValidationMessage>[new ValidationMessage.hint('No devices available')];
+        messages = <ValidationMessage>[ValidationMessage.hint('No devices available')];
       }
     } else {
       messages = await Device.descriptions(devices)
-          .map((String msg) => new ValidationMessage(msg)).toList();
+          .map((String msg) => ValidationMessage(msg)).toList();
     }
 
     if (devices.isEmpty) {
-      return new ValidationResult(ValidationType.partial, messages);
+      return ValidationResult(ValidationType.partial, messages);
     } else {
-      return new ValidationResult(ValidationType.installed, messages, statusInfo: '${devices.length} available');
+      return ValidationResult(ValidationType.installed, messages, statusInfo: '${devices.length} available');
     }
   }
 }
diff --git a/packages/flutter_tools/lib/src/emulator.dart b/packages/flutter_tools/lib/src/emulator.dart
index e0e144a..c40497c 100644
--- a/packages/flutter_tools/lib/src/emulator.dart
+++ b/packages/flutter_tools/lib/src/emulator.dart
@@ -21,8 +21,8 @@
   /// of their methods are called.
   EmulatorManager() {
     // Register the known discoverers.
-    _emulatorDiscoverers.add(new AndroidEmulators());
-    _emulatorDiscoverers.add(new IOSEmulators());
+    _emulatorDiscoverers.add(AndroidEmulators());
+    _emulatorDiscoverers.add(IOSEmulators());
   }
 
   final List<EmulatorDiscovery> _emulatorDiscoverers = <EmulatorDiscovery>[];
@@ -81,12 +81,12 @@
 
     final String device = await _getPreferredAvailableDevice();
     if (device == null)
-      return new CreateEmulatorResult(name,
+      return CreateEmulatorResult(name,
           success: false, error: 'No device definitions are available');
 
     final String sdkId = await _getPreferredSdkId();
     if (sdkId == null)
-      return new CreateEmulatorResult(name,
+      return CreateEmulatorResult(name,
           success: false,
           error:
               'No suitable Android AVD system images are available. You may need to install these'
@@ -119,7 +119,7 @@
     ];
     final ProcessResult runResult = processManager.runSync(args,
         environment: androidSdk?.sdkManagerEnv);
-    return new CreateEmulatorResult(
+    return CreateEmulatorResult(
       name,
       success: runResult.exitCode == 0,
       output: runResult.stdout,
@@ -154,7 +154,7 @@
     );
   }
 
-  RegExp androidApiVersion = new RegExp(r';android-(\d+);');
+  RegExp androidApiVersion = RegExp(r';android-(\d+);');
   Future<String> _getPreferredSdkId() async {
     // It seems that to get the available list of images, we need to send a
     // request to create without the image and it'll provide us a list :-(
@@ -252,14 +252,14 @@
     }
 
     // Calculate column widths
-    final List<int> indices = new List<int>.generate(table[0].length - 1, (int i) => i);
+    final List<int> indices = List<int>.generate(table[0].length - 1, (int i) => i);
     List<int> widths = indices.map((int i) => 0).toList();
     for (List<String> row in table) {
       widths = indices.map((int i) => math.max(widths[i], row[i].length)).toList();
     }
 
     // Join columns into lines of text
-    final RegExp whiteSpaceAndDots = new RegExp(r'[•\s]+$');
+    final RegExp whiteSpaceAndDots = RegExp(r'[•\s]+$');
     return table
         .map((List<String> row) {
           return indices
diff --git a/packages/flutter_tools/lib/src/flutter_manifest.dart b/packages/flutter_tools/lib/src/flutter_manifest.dart
index 60b3fb3..9e937f4 100644
--- a/packages/flutter_tools/lib/src/flutter_manifest.dart
+++ b/packages/flutter_tools/lib/src/flutter_manifest.dart
@@ -14,7 +14,7 @@
 import 'cache.dart';
 import 'globals.dart';
 
-final RegExp _versionPattern = new RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?(\+(\d+))?$');
+final RegExp _versionPattern = RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?(\+(\d+))?$');
 
 /// A wrapper around the `flutter` section in the `pubspec.yaml` file.
 class FlutterManifest {
@@ -22,7 +22,7 @@
 
   /// Returns an empty manifest.
   static FlutterManifest empty() {
-    final FlutterManifest manifest = new FlutterManifest._();
+    final FlutterManifest manifest = FlutterManifest._();
     manifest._descriptor = const <String, dynamic>{};
     manifest._flutterDescriptor = const <String, dynamic>{};
     return manifest;
@@ -43,7 +43,7 @@
   }
 
   static Future<FlutterManifest> _createFromYaml(dynamic yamlDocument) async {
-    final FlutterManifest pubspec = new FlutterManifest._();
+    final FlutterManifest pubspec = FlutterManifest._();
     if (yamlDocument != null && !await _validate(yamlDocument))
       return null;
 
@@ -199,14 +199,14 @@
           continue;
         }
 
-        fontAssets.add(new FontAsset(
+        fontAssets.add(FontAsset(
           Uri.parse(asset),
           weight: fontFile['weight'],
           style: fontFile['style'],
         ));
       }
       if (fontAssets.isNotEmpty)
-        fonts.add(new Font(fontFamily['family'], fontAssets));
+        fonts.add(Font(fontFamily['family'], fontAssets));
     }
     return fonts;
   }
@@ -277,7 +277,7 @@
   final String schemaData = fs.file(schemaPath).readAsStringSync();
   final Schema schema = await Schema.createSchema(
       convert.json.decode(schemaData));
-  final Validator validator = new Validator(schema);
+  final Validator validator = Validator(schema);
   if (validator.validate(manifest)) {
     return true;
   } else {
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
index f6cb30f..0c02bcc 100644
--- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
+++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
@@ -49,7 +49,7 @@
   Future<bool> isLatestBuildInstalled(ApplicationPackage app) async => false;
 
   @override
-  Future<bool> installApp(ApplicationPackage app) => new Future<bool>.value(false);
+  Future<bool> installApp(ApplicationPackage app) => Future<bool>.value(false);
 
   @override
   Future<bool> uninstallApp(ApplicationPackage app) async => false;
@@ -68,7 +68,7 @@
     bool applicationNeedsRebuild = false,
     bool usesTerminalUi = false,
     bool ipv6 = false,
-  }) => new Future<Null>.error('unimplemented');
+  }) => Future<Null>.error('unimplemented');
 
   @override
   Future<bool> stopApp(ApplicationPackage app) async {
@@ -85,7 +85,7 @@
   _FuchsiaLogReader _logReader;
   @override
   DeviceLogReader getLogReader({ApplicationPackage app}) {
-    _logReader ??= new _FuchsiaLogReader(this);
+    _logReader ??= _FuchsiaLogReader(this);
     return _logReader;
   }
 
diff --git a/packages/flutter_tools/lib/src/intellij/intellij.dart b/packages/flutter_tools/lib/src/intellij/intellij.dart
index ced7d72..03f2d0f 100644
--- a/packages/flutter_tools/lib/src/intellij/intellij.dart
+++ b/packages/flutter_tools/lib/src/intellij/intellij.dart
@@ -11,7 +11,7 @@
 import '../doctor.dart';
 
 class IntelliJPlugins {
-  static final Version kMinFlutterPluginVersion = new Version(16, 0, 0);
+  static final Version kMinFlutterPluginVersion = Version(16, 0, 0);
 
   final String pluginsPath;
 
@@ -26,19 +26,19 @@
       }
 
       final String versionText = _readPackageVersion(packageName);
-      final Version version = new Version.parse(versionText);
+      final Version version = Version.parse(versionText);
       if (version != null && minVersion != null && version < minVersion) {
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
             '$title plugin version $versionText - the recommended minimum version is $minVersion'));
       } else {
-        messages.add(new ValidationMessage(
+        messages.add(ValidationMessage(
             '$title plugin ${version != null ? "version $version" : "installed"}'));
       }
 
       return;
     }
 
-    messages.add(new ValidationMessage.error(
+    messages.add(ValidationMessage.error(
         '$title plugin not installed; this adds $title specific functionality.'));
   }
 
@@ -57,7 +57,7 @@
     // rather than reading the entire file into memory.
     try {
       final Archive archive =
-          new ZipDecoder().decodeBytes(fs.file(jarPath).readAsBytesSync());
+          ZipDecoder().decodeBytes(fs.file(jarPath).readAsBytesSync());
       final ArchiveFile file = archive.findFile('META-INF/plugin.xml');
       final String content = utf8.decode(file.content);
       const String versionStartTag = '<version>';
diff --git a/packages/flutter_tools/lib/src/ios/cocoapods.dart b/packages/flutter_tools/lib/src/ios/cocoapods.dart
index 1b98d2b..96f7d32 100644
--- a/packages/flutter_tools/lib/src/ios/cocoapods.dart
+++ b/packages/flutter_tools/lib/src/ios/cocoapods.dart
@@ -65,10 +65,10 @@
     if (versionText == null)
       return CocoaPodsStatus.notInstalled;
     try {
-      final Version installedVersion = new Version.parse(versionText);
-      if (installedVersion < new Version.parse(cocoaPodsMinimumVersion))
+      final Version installedVersion = Version.parse(versionText);
+      if (installedVersion < Version.parse(cocoaPodsMinimumVersion))
         return CocoaPodsStatus.belowMinimumVersion;
-      else if (installedVersion < new Version.parse(cocoaPodsRecommendedVersion))
+      else if (installedVersion < Version.parse(cocoaPodsRecommendedVersion))
         return CocoaPodsStatus.belowRecommendedVersion;
       else
         return CocoaPodsStatus.recommended;
diff --git a/packages/flutter_tools/lib/src/ios/code_signing.dart b/packages/flutter_tools/lib/src/ios/code_signing.dart
index a060eb1..0774bf1 100644
--- a/packages/flutter_tools/lib/src/ios/code_signing.dart
+++ b/packages/flutter_tools/lib/src/ios/code_signing.dart
@@ -79,9 +79,9 @@
 
 
 final RegExp _securityFindIdentityDeveloperIdentityExtractionPattern =
-    new RegExp(r'^\s*\d+\).+"(.+Developer.+)"$');
-final RegExp _securityFindIdentityCertificateCnExtractionPattern = new RegExp(r'.*\(([a-zA-Z0-9]+)\)');
-final RegExp _certificateOrganizationalUnitExtractionPattern = new RegExp(r'OU=([a-zA-Z0-9]+)');
+    RegExp(r'^\s*\d+\).+"(.+Developer.+)"$');
+final RegExp _securityFindIdentityCertificateCnExtractionPattern = RegExp(r'.*\(([a-zA-Z0-9]+)\)');
+final RegExp _certificateOrganizationalUnitExtractionPattern = RegExp(r'OU=([a-zA-Z0-9]+)');
 
 /// Given a [BuildableIOSApp], this will try to find valid development code
 /// signing identities in the user's keychain prompting a choice if multiple
@@ -217,7 +217,7 @@
     printStatus('  a) Abort', emphasis: true);
 
     final String choice = await terminal.promptForCharInput(
-      new List<String>.generate(count, (int number) => '${number + 1}')
+      List<String>.generate(count, (int number) => '${number + 1}')
           ..add('a'),
       prompt: 'Please select a certificate for code signing',
       displayAcceptedCharacters: true,
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index d9e7750..111b654 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -60,7 +60,7 @@
     // python at the front of the path, which may not include package 'six'.
     // Ensure that we pick up the system install of python, which does include
     // it.
-    final Map<String, String> iosDeployEnv = new Map<String, String>.from(platform.environment);
+    final Map<String, String> iosDeployEnv = Map<String, String>.from(platform.environment);
     iosDeployEnv['PATH'] = '/usr/bin:${iosDeployEnv['PATH']}';
 
     return await runCommandAndStreamOutput(
@@ -151,7 +151,7 @@
 
       final String deviceName = await iMobileDevice.getInfoForDevice(id, 'DeviceName');
       final String sdkVersion = await iMobileDevice.getInfoForDevice(id, 'ProductVersion');
-      devices.add(new IOSDevice(id, name: deviceName, sdkVersion: sdkVersion));
+      devices.add(IOSDevice(id, name: deviceName, sdkVersion: sdkVersion));
     }
     return devices;
   }
@@ -177,7 +177,7 @@
   Future<bool> isAppInstalled(ApplicationPackage app) async {
     try {
       final RunResult apps = await runCheckedAsync(<String>[_installerPath, '--list-apps']);
-      if (new RegExp(app.id, multiLine: true).hasMatch(apps.stdout)) {
+      if (RegExp(app.id, multiLine: true).hasMatch(apps.stdout)) {
         return true;
       }
     } catch (e) {
@@ -247,11 +247,11 @@
         printError('Could not build the precompiled application for the device.');
         await diagnoseXcodeBuildFailure(buildResult);
         printError('');
-        return new LaunchResult.failed();
+        return LaunchResult.failed();
       }
     } else {
       if (!await installApp(package))
-        return new LaunchResult.failed();
+        return LaunchResult.failed();
     }
 
     // Step 2: Check that the application exists at the specified path.
@@ -259,7 +259,7 @@
     final Directory bundle = fs.directory(iosApp.deviceBundlePath);
     if (!bundle.existsSync()) {
       printError('Could not find the built application bundle at ${bundle.path}.');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
     // Step 3: Attempt to install the application on the device.
@@ -305,7 +305,7 @@
 
       // TODO(danrubel): The Android device class does something similar to this code below.
       // The various Device subclasses should be refactored and common code moved into the superclass.
-      final ProtocolDiscovery observatoryDiscovery = new ProtocolDiscovery.observatory(
+      final ProtocolDiscovery observatoryDiscovery = ProtocolDiscovery.observatory(
         getLogReader(app: package),
         portForwarder: portForwarder,
         hostPort: debuggingOptions.observatoryPort,
@@ -341,10 +341,10 @@
       printError('Try launching Xcode and selecting "Product > Run" to fix the problem:');
       printError('  open ios/Runner.xcworkspace');
       printError('');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
-    return new LaunchResult.succeeded(observatoryUri: localObservatoryUri);
+    return LaunchResult.succeeded(observatoryUri: localObservatoryUri);
   }
 
   @override
@@ -362,11 +362,11 @@
   @override
   DeviceLogReader getLogReader({ApplicationPackage app}) {
     _logReaders ??= <ApplicationPackage, _IOSDeviceLogReader>{};
-    return _logReaders.putIfAbsent(app, () => new _IOSDeviceLogReader(this, app));
+    return _logReaders.putIfAbsent(app, () => _IOSDeviceLogReader(this, app));
   }
 
   @override
-  DevicePortForwarder get portForwarder => _portForwarder ??= new _IOSDevicePortForwarder(this);
+  DevicePortForwarder get portForwarder => _portForwarder ??= _IOSDevicePortForwarder(this);
 
   @override
   void clearLogs() {
@@ -446,7 +446,7 @@
   RegExp _anyLineRegex;
 
   _IOSDeviceLogReader(this.device, ApplicationPackage app) {
-    _linesController = new StreamController<String>.broadcast(
+    _linesController = StreamController<String>.broadcast(
       onListen: _start,
       onCancel: _stop
     );
@@ -456,11 +456,11 @@
     // iOS 9 format:  Runner[297] <Notice>:
     // iOS 10 format: Runner(Flutter)[297] <Notice>:
     final String appName = app == null ? '' : app.name.replaceAll('.app', '');
-    _runnerLineRegex = new RegExp(appName + r'(\(Flutter\))?\[[\d]+\] <[A-Za-z]+>: ');
+    _runnerLineRegex = RegExp(appName + r'(\(Flutter\))?\[[\d]+\] <[A-Za-z]+>: ');
     // Similar to above, but allows ~arbitrary components instead of "Runner"
     // and "Flutter". The regex tries to strike a balance between not producing
     // false positives and not producing false negatives.
-    _anyLineRegex = new RegExp(r'\w+(\([^)]*\))?\[\d+\] <[A-Za-z]+>: ');
+    _anyLineRegex = RegExp(r'\w+(\([^)]*\))?\[\d+\] <[A-Za-z]+>: ');
   }
 
   final IOSDevice device;
@@ -558,16 +558,16 @@
         if (autoselect) {
           hostPort += 1;
           if (hostPort > 65535)
-            throw new Exception('Could not find open port on host.');
+            throw Exception('Could not find open port on host.');
         } else {
-          throw new Exception('Port $hostPort is not available.');
+          throw Exception('Port $hostPort is not available.');
         }
       }
     }
     assert(connected);
     assert(process != null);
 
-    final ForwardedPort forwardedPort = new ForwardedPort.withContext(
+    final ForwardedPort forwardedPort = ForwardedPort.withContext(
       hostPort, devicePort, process,
     );
     printTrace('Forwarded port $forwardedPort');
diff --git a/packages/flutter_tools/lib/src/ios/ios_emulators.dart b/packages/flutter_tools/lib/src/ios/ios_emulators.dart
index f9c3a57..a6d197d 100644
--- a/packages/flutter_tools/lib/src/ios/ios_emulators.dart
+++ b/packages/flutter_tools/lib/src/ios/ios_emulators.dart
@@ -67,5 +67,5 @@
     return <IOSEmulator>[];
   }
 
-  return <IOSEmulator>[new IOSEmulator('apple_ios_simulator')];
+  return <IOSEmulator>[IOSEmulator('apple_ios_simulator')];
 }
diff --git a/packages/flutter_tools/lib/src/ios/ios_workflow.dart b/packages/flutter_tools/lib/src/ios/ios_workflow.dart
index 718d37c..c752cef 100644
--- a/packages/flutter_tools/lib/src/ios/ios_workflow.dart
+++ b/packages/flutter_tools/lib/src/ios/ios_workflow.dart
@@ -61,8 +61,8 @@
     if (!await hasIosDeploy)
       return false;
     try {
-      final Version version = new Version.parse(await iosDeployVersionText);
-      return version >= new Version.parse(iosDeployMinimumVersion);
+      final Version version = Version.parse(await iosDeployVersionText);
+      return version >= Version.parse(iosDeployMinimumVersion);
     } on FormatException catch (_) {
       return false;
     }
@@ -78,16 +78,16 @@
     if (xcode.isInstalled) {
       xcodeStatus = ValidationType.installed;
 
-      messages.add(new ValidationMessage('Xcode at ${xcode.xcodeSelectPath}'));
+      messages.add(ValidationMessage('Xcode at ${xcode.xcodeSelectPath}'));
 
       xcodeVersionInfo = xcode.versionText;
       if (xcodeVersionInfo.contains(','))
         xcodeVersionInfo = xcodeVersionInfo.substring(0, xcodeVersionInfo.indexOf(','));
-      messages.add(new ValidationMessage(xcode.versionText));
+      messages.add(ValidationMessage(xcode.versionText));
 
       if (!xcode.isInstalledAndMeetsVersionCheck) {
         xcodeStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           'Flutter requires a minimum Xcode version of $kXcodeRequiredVersionMajor.$kXcodeRequiredVersionMinor.0.\n'
           'Download the latest version or update via the Mac App Store.'
         ));
@@ -95,13 +95,13 @@
 
       if (!xcode.eulaSigned) {
         xcodeStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           'Xcode end user license agreement not signed; open Xcode or run the command \'sudo xcodebuild -license\'.'
         ));
       }
       if (!xcode.isSimctlInstalled) {
         xcodeStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           'Xcode requires additional components to be installed in order to run.\n'
           'Launch Xcode and install additional required components when prompted.'
         ));
@@ -110,12 +110,12 @@
     } else {
       xcodeStatus = ValidationType.missing;
       if (xcode.xcodeSelectPath == null || xcode.xcodeSelectPath.isEmpty) {
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
             'Xcode not installed; this is necessary for iOS development.\n'
             'Download at https://developer.apple.com/xcode/download/.'
         ));
       } else {
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
             'Xcode installation is incomplete; a full installation is necessary for iOS development.\n'
             'Download at: https://developer.apple.com/xcode/download/\n'
             'Or install Xcode via the App Store.\n'
@@ -131,14 +131,14 @@
 
       if (!iMobileDevice.isInstalled) {
         brewStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
             'libimobiledevice and ideviceinstaller are not installed. To install, run:\n'
             '  brew install --HEAD libimobiledevice\n'
             '  brew install ideviceinstaller'
         ));
       } else if (!await iMobileDevice.isWorking) {
         brewStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
             'Verify that all connected devices have been paired with this computer in Xcode.\n'
             'If all devices have been paired, libimobiledevice and ideviceinstaller may require updating.\n'
             'To update, run:\n'
@@ -148,7 +148,7 @@
         ));
       } else if (!await hasIDeviceInstaller) {
         brewStatus = ValidationType.partial;
-        messages.add(new ValidationMessage.error(
+        messages.add(ValidationMessage.error(
           'ideviceinstaller is not installed; this is used to discover connected iOS devices.\n'
           'To install, run:\n'
           '  brew install --HEAD libimobiledevice\n'
@@ -158,17 +158,17 @@
 
       // Check ios-deploy is installed at meets version requirements.
       if (await hasIosDeploy) {
-        messages.add(new ValidationMessage('ios-deploy ${await iosDeployVersionText}'));
+        messages.add(ValidationMessage('ios-deploy ${await iosDeployVersionText}'));
       }
       if (!await _iosDeployIsInstalledAndMeetsVersionCheck) {
         brewStatus = ValidationType.partial;
         if (await hasIosDeploy) {
-          messages.add(new ValidationMessage.error(
+          messages.add(ValidationMessage.error(
             'ios-deploy out of date ($iosDeployMinimumVersion is required). To upgrade:\n'
             '  brew upgrade ios-deploy'
           ));
         } else {
-          messages.add(new ValidationMessage.error(
+          messages.add(ValidationMessage.error(
             'ios-deploy not installed. To install:\n'
             '  brew install ios-deploy'
           ));
@@ -179,10 +179,10 @@
 
       if (cocoaPodsStatus == CocoaPodsStatus.recommended) {
         if (await cocoaPods.isCocoaPodsInitialized) {
-          messages.add(new ValidationMessage('CocoaPods version ${await cocoaPods.cocoaPodsVersionText}'));
+          messages.add(ValidationMessage('CocoaPods version ${await cocoaPods.cocoaPodsVersionText}'));
         } else {
           brewStatus = ValidationType.partial;
-          messages.add(new ValidationMessage.error(
+          messages.add(ValidationMessage.error(
             'CocoaPods installed but not initialized.\n'
             '$noCocoaPodsConsequence\n'
             'To initialize CocoaPods, run:\n'
@@ -193,14 +193,14 @@
       } else {
         brewStatus = ValidationType.partial;
         if (cocoaPodsStatus == CocoaPodsStatus.notInstalled) {
-          messages.add(new ValidationMessage.error(
+          messages.add(ValidationMessage.error(
             'CocoaPods not installed.\n'
             '$noCocoaPodsConsequence\n'
             'To install:\n'
             '$cocoaPodsInstallInstructions'
           ));
         } else {
-          messages.add(new ValidationMessage.hint(
+          messages.add(ValidationMessage.hint(
             'CocoaPods out of date (${cocoaPods.cocoaPodsRecommendedVersion} is recommended).\n'
             '$noCocoaPodsConsequence\n'
             'To upgrade:\n'
@@ -210,13 +210,13 @@
       }
     } else {
       brewStatus = ValidationType.missing;
-      messages.add(new ValidationMessage.error(
+      messages.add(ValidationMessage.error(
         'Brew not installed; use this to install tools for iOS device development.\n'
         'Download brew at https://brew.sh/.'
       ));
     }
 
-    return new ValidationResult(
+    return ValidationResult(
       <ValidationType>[xcodeStatus, brewStatus].reduce(_mergeValidationTypes),
       messages,
       statusInfo: xcodeVersionInfo
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index 267961c..294d785 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -60,10 +60,10 @@
     try {
       final ProcessResult result = await processManager.run(<String>['idevice_id', '-l']);
       if (result.exitCode != 0)
-        throw new ToolExit('idevice_id returned an error:\n${result.stderr}');
+        throw ToolExit('idevice_id returned an error:\n${result.stderr}');
       return result.stdout;
     } on ProcessException {
-      throw new ToolExit('Failed to invoke idevice_id. Run flutter doctor.');
+      throw ToolExit('Failed to invoke idevice_id. Run flutter doctor.');
     }
   }
 
@@ -71,10 +71,10 @@
     try {
       final ProcessResult result = await processManager.run(<String>['ideviceinfo', '-u', deviceID, '-k', key, '--simple']);
       if (result.exitCode != 0)
-        throw new ToolExit('idevice_id returned an error:\n${result.stderr}');
+        throw ToolExit('idevice_id returned an error:\n${result.stderr}');
       return result.stdout.trim();
     } on ProcessException {
-      throw new ToolExit('Failed to invoke idevice_id. Run flutter doctor.');
+      throw ToolExit('Failed to invoke idevice_id. Run flutter doctor.');
     }
   }
 
@@ -190,17 +190,17 @@
   bool usesTerminalUi = true,
 }) async {
   if (!await upgradePbxProjWithFlutterAssets(app.project))
-    return new XcodeBuildResult(success: false);
+    return XcodeBuildResult(success: false);
 
   if (!_checkXcodeVersion())
-    return new XcodeBuildResult(success: false);
+    return XcodeBuildResult(success: false);
 
   final XcodeProjectInfo projectInfo = xcodeProjectInterpreter.getInfo(app.project.directory.path);
   if (!projectInfo.targets.contains('Runner')) {
     printError('The Xcode project does not define target "Runner" which is needed by Flutter tooling.');
     printError('Open Xcode to fix the problem:');
     printError('  open ios/Runner.xcworkspace');
-    return new XcodeBuildResult(success: false);
+    return XcodeBuildResult(success: false);
   }
   final String scheme = projectInfo.schemeFor(buildInfo);
   if (scheme == null) {
@@ -212,7 +212,7 @@
       printError('The Xcode project does not define custom schemes.');
       printError('You cannot use the --flavor option.');
     }
-    return new XcodeBuildResult(success: false);
+    return XcodeBuildResult(success: false);
   }
   final String configuration = projectInfo.buildConfigurationFor(buildInfo, scheme);
   if (configuration == null) {
@@ -221,7 +221,7 @@
     printError('Flutter expects a build configuration named ${XcodeProjectInfo.expectedBuildConfigurationFor(buildInfo, scheme)} or similar.');
     printError('Open Xcode to fix the problem:');
     printError('  open ios/Runner.xcworkspace');
-    return new XcodeBuildResult(success: false);
+    return XcodeBuildResult(success: false);
   }
 
   Map<String, String> autoSigningConfigs;
@@ -242,7 +242,7 @@
   if (hasPlugins(project)) {
     // If the Xcode project, Podfile, or Generated.xcconfig have changed since
     // last run, pods should be updated.
-    final Fingerprinter fingerprinter = new Fingerprinter(
+    final Fingerprinter fingerprinter = Fingerprinter(
       fingerprintPath: fs.path.join(getIosBuildDirectory(), 'pod_inputs.fingerprint'),
       paths: <String>[
         app.project.xcodeProjectInfoFile.path,
@@ -346,7 +346,7 @@
     buildCommands.add('SCRIPT_OUTPUT_STREAM_FILE=${scriptOutputPipeFile.absolute.path}');
   }
 
-  final Stopwatch buildStopwatch = new Stopwatch()..start();
+  final Stopwatch buildStopwatch = Stopwatch()..start();
   initialBuildStatus = logger.startProgress('Starting Xcode build...');
   final RunResult buildResult = await runAsync(
     buildCommands,
@@ -366,7 +366,7 @@
 
   // Run -showBuildSettings again but with the exact same parameters as the build.
   final Map<String, String> buildSettings = parseXcodeBuildSettings(runCheckedSync(
-    (new List<String>
+    (List<String>
         .from(buildCommands)
         ..add('-showBuildSettings'))
         // Undocumented behaviour: xcodebuild craps out if -showBuildSettings
@@ -391,11 +391,11 @@
       printStatus('Xcode\'s output:\n↳');
       printStatus(buildResult.stdout, indent: 4);
     }
-    return new XcodeBuildResult(
+    return XcodeBuildResult(
       success: false,
       stdout: buildResult.stdout,
       stderr: buildResult.stderr,
-      xcodeBuildExecution: new XcodeBuildExecution(
+      xcodeBuildExecution: XcodeBuildExecution(
         buildCommands: buildCommands,
         appDirectory: app.project.directory.path,
         buildForPhysicalDevice: buildForDevice,
@@ -422,7 +422,7 @@
     } else {
       printError('Build succeeded but the expected app at $expectedOutputDirectory not found');
     }
-    return new XcodeBuildResult(success: true, output: outputDir);
+    return XcodeBuildResult(success: true, output: outputDir);
   }
 }
 
@@ -632,7 +632,7 @@
     lines.remove(l12);
   }
 
-  final StringBuffer buffer = new StringBuffer();
+  final StringBuffer buffer = StringBuffer();
   lines.forEach(buffer.writeln);
   await xcodeProjectFile.writeAsString(buffer.toString());
   return true;
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index 39c0cee..e4ba830 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -47,7 +47,7 @@
       return <IOSSimulator>[];
 
     return SimControl.instance.getConnectedDevices().map((SimDevice device) {
-      return new IOSSimulator(device.udid, name: device.name, category: device.category);
+      return IOSSimulator(device.udid, name: device.name, category: device.category);
     }).toList();
   }
 }
@@ -97,7 +97,7 @@
     for (String deviceCategory in devicesSection.keys) {
       final List<dynamic> devicesData = devicesSection[deviceCategory];
       for (Map<String, dynamic> data in devicesData.map<Map<String, dynamic>>(castStringKeyedMap)) {
-        devices.add(new SimDevice(deviceCategory, data));
+        devices.add(SimDevice(deviceCategory, data));
       }
     }
 
@@ -246,7 +246,7 @@
 
     // Check if the device is part of a blacklisted category.
     // We do not yet support WatchOS or tvOS devices.
-    final RegExp blacklist = new RegExp(r'Apple (TV|Watch)', caseSensitive: false);
+    final RegExp blacklist = RegExp(r'Apple (TV|Watch)', caseSensitive: false);
     if (blacklist.hasMatch(name)) {
       _supportMessage = 'Flutter does not support Apple TV or Apple Watch.';
       return false;
@@ -283,11 +283,11 @@
         await _setupUpdatedApplicationBundle(package, debuggingOptions.buildInfo, mainPath, usesTerminalUi);
       } on ToolExit catch (e) {
         printError(e.message);
-        return new LaunchResult.failed();
+        return LaunchResult.failed();
       }
     } else {
       if (!await installApp(package))
-        return new LaunchResult.failed();
+        return LaunchResult.failed();
     }
 
     // Prepare launch arguments.
@@ -308,7 +308,7 @@
 
     ProtocolDiscovery observatoryDiscovery;
     if (debuggingOptions.debuggingEnabled)
-      observatoryDiscovery = new ProtocolDiscovery.observatory(
+      observatoryDiscovery = ProtocolDiscovery.observatory(
           getLogReader(app: package), ipv6: ipv6);
 
     // Launch the updated application in the simulator.
@@ -316,11 +316,11 @@
       await SimControl.instance.launch(id, package.id, args);
     } catch (error) {
       printError('$error');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
     if (!debuggingOptions.debuggingEnabled) {
-      return new LaunchResult.succeeded();
+      return LaunchResult.succeeded();
     }
 
     // Wait for the service protocol port here. This will complete once the
@@ -329,10 +329,10 @@
 
     try {
       final Uri deviceUri = await observatoryDiscovery.uri;
-      return new LaunchResult.succeeded(observatoryUri: deviceUri);
+      return LaunchResult.succeeded(observatoryUri: deviceUri);
     } catch (error) {
       printError('Error waiting for a debug connection: $error');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     } finally {
       await observatoryDiscovery.cancel();
     }
@@ -357,7 +357,7 @@
     // Step 1: Build the Xcode project.
     // The build mode for the simulator is always debug.
 
-    final BuildInfo debugBuildInfo = new BuildInfo(BuildMode.debug, buildInfo.flavor,
+    final BuildInfo debugBuildInfo = BuildInfo(BuildMode.debug, buildInfo.flavor,
         trackWidgetCreation: buildInfo.trackWidgetCreation,
         extraFrontEndOptions: buildInfo.extraFrontEndOptions,
         extraGenSnapshotOptions: buildInfo.extraGenSnapshotOptions,
@@ -411,7 +411,7 @@
   @override
   Future<String> get sdkNameAndVersion async => category;
 
-  final RegExp _iosSdkRegExp = new RegExp(r'iOS( |-)(\d+)');
+  final RegExp _iosSdkRegExp = RegExp(r'iOS( |-)(\d+)');
 
   Future<int> get sdkMajorVersion async {
     final Match sdkMatch = _iosSdkRegExp.firstMatch(await sdkNameAndVersion);
@@ -422,11 +422,11 @@
   DeviceLogReader getLogReader({ApplicationPackage app}) {
     assert(app is IOSApp);
     _logReaders ??= <ApplicationPackage, _IOSSimulatorLogReader>{};
-    return _logReaders.putIfAbsent(app, () => new _IOSSimulatorLogReader(this, app));
+    return _logReaders.putIfAbsent(app, () => _IOSSimulatorLogReader(this, app));
   }
 
   @override
-  DevicePortForwarder get portForwarder => _portForwarder ??= new _IOSSimulatorDevicePortForwarder(this);
+  DevicePortForwarder get portForwarder => _portForwarder ??= _IOSSimulatorDevicePortForwarder(this);
 
   @override
   void clearLogs() {
@@ -485,7 +485,7 @@
   String _appName;
 
   _IOSSimulatorLogReader(this.device, IOSApp app) {
-    _linesController = new StreamController<String>.broadcast(
+    _linesController = StreamController<String>.broadcast(
       onListen: _start,
       onCancel: _stop
     );
@@ -532,13 +532,13 @@
   // Match the log prefix (in order to shorten it):
   // * Xcode 8: Sep 13 15:28:51 cbracken-macpro localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
   // * Xcode 9: 2017-09-13 15:26:57.228948-0700  localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
-  static final RegExp _mapRegex = new RegExp(r'\S+ +\S+ +\S+ +(\S+ +)?(\S+)\[\d+\]\)?: (\(.*?\))? *(.*)$');
+  static final RegExp _mapRegex = RegExp(r'\S+ +\S+ +\S+ +(\S+ +)?(\S+)\[\d+\]\)?: (\(.*?\))? *(.*)$');
 
   // Jan 31 19:23:28 --- last message repeated 1 time ---
-  static final RegExp _lastMessageSingleRegex = new RegExp(r'\S+ +\S+ +\S+ --- last message repeated 1 time ---$');
-  static final RegExp _lastMessageMultipleRegex = new RegExp(r'\S+ +\S+ +\S+ --- last message repeated (\d+) times ---$');
+  static final RegExp _lastMessageSingleRegex = RegExp(r'\S+ +\S+ +\S+ --- last message repeated 1 time ---$');
+  static final RegExp _lastMessageMultipleRegex = RegExp(r'\S+ +\S+ +\S+ --- last message repeated (\d+) times ---$');
 
-  static final RegExp _flutterRunnerRegex = new RegExp(r' FlutterRunner\[\d+\] ');
+  static final RegExp _flutterRunnerRegex = RegExp(r' FlutterRunner\[\d+\] ');
 
   String _filterDeviceLine(String string) {
     final Match match = _mapRegex.matchAsPrefix(string);
@@ -579,7 +579,7 @@
     if (_lastMessageSingleRegex.matchAsPrefix(string) != null)
       return null;
 
-    if (new RegExp(r'assertion failed: .* libxpc.dylib .* 0x7d$').matchAsPrefix(string) != null)
+    if (RegExp(r'assertion failed: .* libxpc.dylib .* 0x7d$').matchAsPrefix(string) != null)
       return null;
 
     return string;
@@ -652,7 +652,7 @@
 ///   ✗ com.apple.CoreSimulator.SimDeviceType.iPad-2
 ///   ✗ com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm
 final RegExp _iosDeviceTypePattern =
-    new RegExp(r'com.apple.CoreSimulator.SimDeviceType.iPhone-(\d+)(.*)');
+    RegExp(r'com.apple.CoreSimulator.SimDeviceType.iPhone-(\d+)(.*)');
 
 int compareIphoneVersions(String id1, String id2) {
   final Match m1 = _iosDeviceTypePattern.firstMatch(id1);
@@ -690,7 +690,7 @@
       hostPort = devicePort;
     }
     assert(devicePort == hostPort);
-    _ports.add(new ForwardedPort(devicePort, hostPort));
+    _ports.add(ForwardedPort(devicePort, hostPort));
     return hostPort;
   }
 
diff --git a/packages/flutter_tools/lib/src/ios/xcodeproj.dart b/packages/flutter_tools/lib/src/ios/xcodeproj.dart
index 584f66b..9e63865 100644
--- a/packages/flutter_tools/lib/src/ios/xcodeproj.dart
+++ b/packages/flutter_tools/lib/src/ios/xcodeproj.dart
@@ -19,8 +19,8 @@
 import '../globals.dart';
 import '../project.dart';
 
-final RegExp _settingExpr = new RegExp(r'(\w+)\s*=\s*(.*)$');
-final RegExp _varExpr = new RegExp(r'\$\(([^)]*)\)');
+final RegExp _settingExpr = RegExp(r'(\w+)\s*=\s*(.*)$');
+final RegExp _varExpr = RegExp(r'\$\(([^)]*)\)');
 
 String flutterFrameworkDir(BuildMode mode) {
   return fs.path.normalize(fs.path.dirname(artifacts.getArtifactPath(Artifact.flutterFramework, TargetPlatform.ios, mode)));
@@ -35,7 +35,7 @@
   @required BuildInfo buildInfo,
   String targetOverride,
 }) async {
-  final StringBuffer localsBuffer = new StringBuffer();
+  final StringBuffer localsBuffer = StringBuffer();
 
   localsBuffer.writeln('// This is a generated file; do not edit or check into version control.');
 
@@ -102,7 +102,7 @@
 /// Interpreter of Xcode projects.
 class XcodeProjectInterpreter {
   static const String _executable = '/usr/bin/xcodebuild';
-  static final RegExp _versionRegex = new RegExp(r'Xcode ([0-9.]+)');
+  static final RegExp _versionRegex = RegExp(r'Xcode ([0-9.]+)');
 
   void _updateVersion() {
     if (!platform.isMacOS || !fs.file(_executable).existsSync()) {
@@ -165,7 +165,7 @@
     final String out = runCheckedSync(<String>[
       _executable, '-list',
     ], workingDirectory: projectPath);
-    return new XcodeProjectInfo.fromXcodeBuildOutput(out);
+    return XcodeProjectInfo.fromXcodeBuildOutput(out);
   }
 }
 
@@ -218,7 +218,7 @@
     }
     if (schemes.isEmpty)
       schemes.add('Runner');
-    return new XcodeProjectInfo(targets, buildConfigurations, schemes);
+    return XcodeProjectInfo(targets, buildConfigurations, schemes);
   }
 
   final List<String> targets;
diff --git a/packages/flutter_tools/lib/src/plugins.dart b/packages/flutter_tools/lib/src/plugins.dart
index 288d87a..ea5f798 100644
--- a/packages/flutter_tools/lib/src/plugins.dart
+++ b/packages/flutter_tools/lib/src/plugins.dart
@@ -15,7 +15,7 @@
 
 void _renderTemplateToFile(String template, dynamic context, String filePath) {
   final String renderedTemplate =
-     new mustache.Template(template).renderString(context);
+     mustache.Template(template).renderString(context);
   final File file = fs.file(filePath);
   file.createSync(recursive: true);
   file.writeAsStringSync(renderedTemplate);
@@ -45,7 +45,7 @@
       iosPrefix = pluginYaml['iosPrefix'] ?? '';
       pluginClass = pluginYaml['pluginClass'];
     }
-    return new Plugin(
+    return Plugin(
       name: name,
       path: path,
       androidPackage: androidPackage,
@@ -67,7 +67,7 @@
     return null;
   final String packageRootPath = fs.path.fromUri(packageRoot);
   printTrace('Found plugin $name at $packageRootPath');
-  return new Plugin.fromYaml(name, packageRootPath, flutterConfig['plugin']);
+  return Plugin.fromYaml(name, packageRootPath, flutterConfig['plugin']);
 }
 
 List<Plugin> findPlugins(FlutterProject project) {
@@ -75,7 +75,7 @@
   Map<String, Uri> packages;
   try {
     final String packagesFile = fs.path.join(project.directory.path, PackageMap.globalPackagesPath);
-    packages = new PackageMap(packagesFile).map;
+    packages = PackageMap(packagesFile).map;
   } on FormatException catch (e) {
     printTrace('Invalid .packages file: $e');
     return plugins;
@@ -297,7 +297,7 @@
   await _writeAndroidPluginRegistrant(project, plugins);
   await _writeIOSPluginRegistrant(project, plugins);
   if (!project.isModule && project.ios.directory.existsSync()) {
-    final CocoaPods cocoaPods = new CocoaPods();
+    final CocoaPods cocoaPods = CocoaPods();
     if (plugins.isNotEmpty)
       cocoaPods.setupPodfile(project.ios);
   }
diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart
index ce8779c..6f11e05 100644
--- a/packages/flutter_tools/lib/src/project.dart
+++ b/packages/flutter_tools/lib/src/project.dart
@@ -45,7 +45,7 @@
     final FlutterManifest exampleManifest = await _readManifest(
       _exampleDirectory(directory).childFile(bundle.defaultManifestPath).path,
     );
-    return new FlutterProject(directory, manifest, exampleManifest);
+    return FlutterProject(directory, manifest, exampleManifest);
   }
 
   /// Returns a future that completes with a [FlutterProject] view of the current directory.
@@ -76,7 +76,7 @@
       example.android.applicationId,
       example.ios.productBundleIdentifier,
     ];
-    return new Set<String>.from(candidates
+    return Set<String>.from(candidates
         .map(_organizationNameFromPackageName)
         .where((String name) => name != null));
   }
@@ -89,10 +89,10 @@
   }
 
   /// The iOS sub project of this project.
-  IosProject get ios => new IosProject._(this);
+  IosProject get ios => IosProject._(this);
 
   /// The Android sub project of this project.
-  AndroidProject get android => new AndroidProject._(this);
+  AndroidProject get android => AndroidProject._(this);
 
   /// The `pubspec.yaml` file of this project.
   File get pubspecFile => directory.childFile('pubspec.yaml');
@@ -104,7 +104,7 @@
   File get flutterPluginsFile => directory.childFile('.flutter-plugins');
 
   /// The example sub-project of this project.
-  FlutterProject get example => new FlutterProject(
+  FlutterProject get example => FlutterProject(
     _exampleDirectory(directory),
     _exampleManifest,
     FlutterManifest.empty(),
@@ -148,7 +148,7 @@
 /// Instances will reflect the contents of the `ios/` sub-folder of
 /// Flutter applications and the `.ios/` sub-folder of Flutter modules.
 class IosProject {
-  static final RegExp _productBundleIdPattern = new RegExp(r'^\s*PRODUCT_BUNDLE_IDENTIFIER\s*=\s*(.*);\s*$');
+  static final RegExp _productBundleIdPattern = RegExp(r'^\s*PRODUCT_BUNDLE_IDENTIFIER\s*=\s*(.*);\s*$');
   static const String _productBundleIdVariable = r'$(PRODUCT_BUNDLE_IDENTIFIER)';
   static const String _hostAppBundleName = 'Runner';
 
@@ -262,7 +262,7 @@
   }
 
   void _overwriteFromTemplate(String path, Directory target) {
-    final Template template = new Template.fromName(path);
+    final Template template = Template.fromName(path);
     template.render(
       target,
       <String, dynamic>{
@@ -280,8 +280,8 @@
 /// Instances will reflect the contents of the `android/` sub-folder of
 /// Flutter applications and the `.android/` sub-folder of Flutter modules.
 class AndroidProject {
-  static final RegExp _applicationIdPattern = new RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$');
-  static final RegExp _groupPattern = new RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$');
+  static final RegExp _applicationIdPattern = RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$');
+  static final RegExp _groupPattern = RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$');
 
   AndroidProject._(this.parent);
 
@@ -379,7 +379,7 @@
   }
 
   void _overwriteFromTemplate(String path, Directory target) {
-    final Template template = new Template.fromName(path);
+    final Template template = Template.fromName(path);
     template.render(
       target,
       <String, dynamic>{
diff --git a/packages/flutter_tools/lib/src/protocol_discovery.dart b/packages/flutter_tools/lib/src/protocol_discovery.dart
index ca3ee11..ff6664a 100644
--- a/packages/flutter_tools/lib/src/protocol_discovery.dart
+++ b/packages/flutter_tools/lib/src/protocol_discovery.dart
@@ -28,7 +28,7 @@
     bool ipv6 = false,
   }) {
     const String kObservatoryService = 'Observatory';
-    return new ProtocolDiscovery._(
+    return ProtocolDiscovery._(
       logReader,
       kObservatoryService,
       portForwarder: portForwarder,
@@ -43,7 +43,7 @@
   final int hostPort;
   final bool ipv6;
 
-  final Completer<Uri> _completer = new Completer<Uri>();
+  final Completer<Uri> _completer = Completer<Uri>();
 
   StreamSubscription<String> _deviceLogSubscription;
 
@@ -60,7 +60,7 @@
   void _handleLine(String line) {
     Uri uri;
 
-    final RegExp r = new RegExp('${RegExp.escape(serviceName)} listening on ((http|\/\/)[a-zA-Z0-9:/=\.\\[\\]]+)');
+    final RegExp r = RegExp('${RegExp.escape(serviceName)} listening on ((http|\/\/)[a-zA-Z0-9:/=\.\\[\\]]+)');
     final Match match = r.firstMatch(line);
 
     if (match != null) {
@@ -91,7 +91,7 @@
       hostUri = deviceUri.replace(port: actualHostPort);
     }
 
-    assert(new InternetAddress(hostUri.host).isLoopback);
+    assert(InternetAddress(hostUri.host).isLoopback);
     if (ipv6) {
       hostUri = hostUri.replace(host: InternetAddress.loopbackIPv6.host);
     }
diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart
index 57c4569..d2706b8 100644
--- a/packages/flutter_tools/lib/src/resident_runner.dart
+++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -35,7 +35,7 @@
     this.fileSystemRoots,
     this.fileSystemScheme,
     ResidentCompiler generator,
-  }) : this.generator = generator ?? new ResidentCompiler(
+  }) : this.generator = generator ?? ResidentCompiler(
          artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath),
          trackWidgetCreation: trackWidgetCreation,
          fileSystemRoots: fileSystemRoots, fileSystemScheme: fileSystemScheme
@@ -65,7 +65,7 @@
   Future<Null> _connect({ReloadSources reloadSources, CompileExpression compileExpression}) async {
     if (vmServices != null)
       return;
-    final List<VMService> localVmServices = new List<VMService>(observatoryUris.length);
+    final List<VMService> localVmServices = List<VMService>(observatoryUris.length);
     for (int i = 0; i < observatoryUris.length; i++) {
       printTrace('Connecting to service protocol: ${observatoryUris[i]}');
       localVmServices[i] = await VMService.connect(observatoryUris[i],
@@ -116,7 +116,7 @@
         view.uiIsolate.flutterExit(); // ignore: unawaited_futures
       }
     }
-    await new Future<Null>.delayed(const Duration(milliseconds: 100));
+    await Future<Null>.delayed(const Duration(milliseconds: 100));
   }
 
   Future<Uri> setupDevFS(String fsName,
@@ -124,7 +124,7 @@
     String packagesFilePath
   }) {
     // One devFS per device. Shared by all running instances.
-    devFS = new DevFS(
+    devFS = DevFS(
       vmServices[0],
       fsName,
       rootDirectory,
@@ -170,7 +170,7 @@
     final List<ProgramElement> elements = <ProgramElement>[];
     for (Future<List<ProgramElement>> report in reports) {
       for (ProgramElement element in await report)
-        elements.add(new ProgramElement(element.qualifiedName,
+        elements.add(ProgramElement(element.qualifiedName,
                                         devFS.deviceUriToHostUri(element.uri),
                                         element.line,
                                         element.column));
@@ -439,7 +439,7 @@
   final bool usesTerminalUI;
   final bool stayResident;
   final bool ipv6;
-  final Completer<int> _finished = new Completer<int>();
+  final Completer<int> _finished = Completer<int>();
   bool _stopped = false;
   String _packagesFilePath;
   String get packagesFilePath => _packagesFilePath;
@@ -627,7 +627,7 @@
   Future<Null> connectToServiceProtocol({String viewFilter,
       ReloadSources reloadSources, CompileExpression compileExpression}) async {
     if (!debuggingOptions.debuggingEnabled)
-      return new Future<Null>.error('Error the service protocol is not enabled.');
+      return Future<Null>.error('Error the service protocol is not enabled.');
 
     bool viewFound = false;
     for (FlutterDevice device in flutterDevices) {
@@ -660,12 +660,12 @@
 
   Future<Null> _serviceProtocolDone(dynamic object) {
     printTrace('Service protocol connection closed.');
-    return new Future<Null>.value(object);
+    return Future<Null>.value(object);
   }
 
   Future<Null> _serviceProtocolError(dynamic error, StackTrace stack) {
     printTrace('Service protocol connection closed with an error: $error\n$stack');
-    return new Future<Null>.error(error, stack);
+    return Future<Null>.error(error, stack);
   }
 
   /// Returns [true] if the input has been handled by this function.
@@ -805,9 +805,9 @@
 
   bool hasDirtyDependencies(FlutterDevice device) {
     final DartDependencySetBuilder dartDependencySetBuilder =
-        new DartDependencySetBuilder(mainPath, packagesFilePath);
+        DartDependencySetBuilder(mainPath, packagesFilePath);
     final DependencyChecker dependencyChecker =
-        new DependencyChecker(dartDependencySetBuilder, assetBundle);
+        DependencyChecker(dartDependencySetBuilder, assetBundle);
     if (device.package.packagesFile == null || !device.package.packagesFile.existsSync()) {
       return true;
     }
@@ -876,7 +876,7 @@
 
   bool get isOk => code == 0;
 
-  static final OperationResult ok = new OperationResult(0, '');
+  static final OperationResult ok = OperationResult(0, '');
 }
 
 /// Given the value of the --target option, return the path of the Dart file
diff --git a/packages/flutter_tools/lib/src/run_cold.dart b/packages/flutter_tools/lib/src/run_cold.dart
index a7fddb2..18a12c5 100644
--- a/packages/flutter_tools/lib/src/run_cold.dart
+++ b/packages/flutter_tools/lib/src/run_cold.dart
@@ -66,7 +66,7 @@
 
     if (flutterDevices.first.observatoryUris != null) {
       // For now, only support one debugger connection.
-      connectionInfoCompleter?.complete(new DebugConnectionInfo(
+      connectionInfoCompleter?.complete(DebugConnectionInfo(
         httpUri: flutterDevices.first.observatoryUris.first,
         wsUri: flutterDevices.first.vmServices.first.wsAddress,
       ));
diff --git a/packages/flutter_tools/lib/src/run_hot.dart b/packages/flutter_tools/lib/src/run_hot.dart
index 40a3340..f1c1a50 100644
--- a/packages/flutter_tools/lib/src/run_hot.dart
+++ b/packages/flutter_tools/lib/src/run_hot.dart
@@ -106,9 +106,9 @@
     }
 
     final DartDependencySetBuilder dartDependencySetBuilder =
-        new DartDependencySetBuilder(mainPath, packagesFilePath);
+        DartDependencySetBuilder(mainPath, packagesFilePath);
     try {
-      _dartDependencies = new Set<String>.from(dartDependencySetBuilder.build());
+      _dartDependencies = Set<String>.from(dartDependencySetBuilder.build());
     } on DartDependencyException catch (error) {
       printError(
         'Your application could not be compiled, because its dependencies could not be established.\n'
@@ -124,7 +124,7 @@
     // TODO(cbernaschina): check that isolateId is the id of the UI isolate.
     final OperationResult result = await restart(pauseAfterRestart: pause);
     if (!result.isOk) {
-      throw new rpc.RpcException(
+      throw rpc.RpcException(
         rpc_error_code.INTERNAL_ERROR,
         'Unable to reload sources',
       );
@@ -170,7 +170,7 @@
       if (connectionInfoCompleter != null) {
         // Only handle one debugger connection.
         connectionInfoCompleter.complete(
-          new DebugConnectionInfo(
+          DebugConnectionInfo(
             httpUri: flutterDevices.first.observatoryUris.first,
             wsUri: flutterDevices.first.vmServices.first.wsAddress,
             baseUri: baseUris.first.toString()
@@ -181,7 +181,7 @@
       printError('Error initializing DevFS: $error');
       return 3;
     }
-    final Stopwatch initialUpdateDevFSsTimer = new Stopwatch()..start();
+    final Stopwatch initialUpdateDevFSsTimer = Stopwatch()..start();
     final bool devfsResult = await _updateDevFS(fullRestart: true);
     _addBenchmarkData('hotReloadInitialDevFSSyncMilliseconds',
         initialUpdateDevFSsTimer.elapsed.inMilliseconds);
@@ -255,7 +255,7 @@
       return 1;
     }
 
-    firstBuildTime = new DateTime.now();
+    firstBuildTime = DateTime.now();
 
     for (FlutterDevice device in flutterDevices) {
       final int result = await device.runHot(
@@ -404,7 +404,7 @@
       await refreshViews();
     }
 
-    final Stopwatch restartTimer = new Stopwatch()..start();
+    final Stopwatch restartTimer = Stopwatch()..start();
     // TODO(aam): Add generator reset logic once we switch to using incremental
     // compiler for full application recompilation on restart.
     final bool updatedDevFS = await _updateDevFS(fullRestart: true);
@@ -413,7 +413,7 @@
         if (device.generator != null)
           device.generator.reject();
       }
-      return new OperationResult(1, 'DevFS synchronization failed');
+      return OperationResult(1, 'DevFS synchronization failed');
     }
     _resetDirtyAssets();
     for (FlutterDevice device in flutterDevices) {
@@ -492,7 +492,7 @@
 
   @override
   Future<OperationResult> restart({ bool fullRestart = false, bool pauseAfterRestart = false }) async {
-    final Stopwatch timer = new Stopwatch()..start();
+    final Stopwatch timer = Stopwatch()..start();
     if (fullRestart) {
       final Status status = logger.startProgress(
         'Performing hot restart...',
@@ -500,7 +500,7 @@
       );
       try {
         if (!(await hotRunnerConfig.setupHotRestart()))
-          return new OperationResult(1, 'setupHotRestart failed');
+          return OperationResult(1, 'setupHotRestart failed');
         await _restartFromSources();
       } finally {
         status.cancel();
@@ -548,23 +548,23 @@
     // not be affected, so we resume reporting reload times on the second
     // reload.
     final bool shouldReportReloadTime = !_runningFromSnapshot;
-    final Stopwatch reloadTimer = new Stopwatch()..start();
+    final Stopwatch reloadTimer = Stopwatch()..start();
 
-    final Stopwatch devFSTimer = new Stopwatch()..start();
+    final Stopwatch devFSTimer = Stopwatch()..start();
     final bool updatedDevFS = await _updateDevFS();
     // Record time it took to synchronize to DevFS.
     _addBenchmarkData('hotReloadDevFSSyncMilliseconds',
         devFSTimer.elapsed.inMilliseconds);
     if (!updatedDevFS)
-      return new OperationResult(1, 'DevFS synchronization failed');
+      return OperationResult(1, 'DevFS synchronization failed');
     String reloadMessage;
-    final Stopwatch vmReloadTimer = new Stopwatch()..start();
+    final Stopwatch vmReloadTimer = Stopwatch()..start();
     try {
       final String entryPath = fs.path.relative(
         getReloadPath(fullRestart: false),
         from: projectRootPath,
       );
-      final Completer<Map<String, dynamic>> retrieveFirstReloadReport = new Completer<Map<String, dynamic>>();
+      final Completer<Map<String, dynamic>> retrieveFirstReloadReport = Completer<Map<String, dynamic>>();
 
       int countExpectedReports = 0;
       for (FlutterDevice device in flutterDevices) {
@@ -606,13 +606,13 @@
 
       if (countExpectedReports == 0) {
         printError('Unable to hot reload. No instance of Flutter is currently running.');
-        return new OperationResult(1, 'No instances running');
+        return OperationResult(1, 'No instances running');
       }
       final Map<String, dynamic> reloadReport = await retrieveFirstReloadReport.future;
       if (!validateReloadReport(reloadReport)) {
         // Reload failed.
         flutterUsage.sendEvent('hot', 'reload-reject');
-        return new OperationResult(1, 'Reload rejected');
+        return OperationResult(1, 'Reload rejected');
       } else {
         flutterUsage.sendEvent('hot', 'reload');
         final int loadedLibraryCount = reloadReport['details']['loadedLibraryCount'];
@@ -631,19 +631,19 @@
           'restart the app.'
         );
         flutterUsage.sendEvent('hot', 'reload-barred');
-        return new OperationResult(errorCode, errorMessage);
+        return OperationResult(errorCode, errorMessage);
       }
 
       printError('Hot reload failed:\ncode = $errorCode\nmessage = $errorMessage\n$st');
-      return new OperationResult(errorCode, errorMessage);
+      return OperationResult(errorCode, errorMessage);
     } catch (error, st) {
       printError('Hot reload failed: $error\n$st');
-      return new OperationResult(1, '$error');
+      return OperationResult(1, '$error');
     }
     // Record time it took for the VM to reload the sources.
     _addBenchmarkData('hotReloadVMReloadMilliseconds',
         vmReloadTimer.elapsed.inMilliseconds);
-    final Stopwatch reassembleTimer = new Stopwatch()..start();
+    final Stopwatch reassembleTimer = Stopwatch()..start();
     // Reload the isolate.
     for (FlutterDevice device in flutterDevices) {
       printTrace('Sending reload events to ${device.device.name}');
@@ -671,7 +671,7 @@
     }
     if (reassembleViews.isEmpty) {
       printTrace('Skipping reassemble because all isolates are paused.');
-      return new OperationResult(OperationResult.ok.code, reloadMessage);
+      return OperationResult(OperationResult.ok.code, reloadMessage);
     }
     printTrace('Evicting dirty assets');
     await _evictDirtyAssets();
@@ -716,7 +716,7 @@
         shouldReportReloadTime)
       flutterUsage.sendTiming('hot', 'reload', reloadTimer.elapsed);
 
-    return new OperationResult(
+    return OperationResult(
       reassembleAndScheduleErrors ? 1 : OperationResult.ok.code,
       reloadMessage,
     );
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index c7fffcd..824d461 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -73,7 +73,7 @@
 
   @override
   ArgParser get argParser => _argParser;
-  final ArgParser _argParser = new ArgParser(allowTrailingOptions: false);
+  final ArgParser _argParser = ArgParser(allowTrailingOptions: false);
 
   @override
   FlutterCommandRunner get runner => super.runner;
@@ -192,7 +192,7 @@
   BuildMode getBuildMode() {
     final List<bool> modeFlags = <bool>[argResults['debug'], argResults['profile'], argResults['release']];
     if (modeFlags.where((bool flag) => flag).length > 1)
-      throw new UsageException('Only one of --debug, --profile, or --release can be specified.', null);
+      throw UsageException('Only one of --debug, --profile, or --release can be specified.', null);
     final bool dynamicFlag = argParser.options.containsKey('dynamic')
         ? argResults['dynamic']
         : false;
@@ -231,11 +231,11 @@
           ? int.parse(argResults['build-number'])
           : null;
     } catch (e) {
-      throw new UsageException(
+      throw UsageException(
           '--build-number (${argResults['build-number']}) must be an int.', null);
     }
 
-    return new BuildInfo(getBuildMode(),
+    return BuildInfo(getBuildMode(),
       argParser.options.containsKey('flavor')
         ? argResults['flavor']
         : null,
@@ -265,7 +265,7 @@
   }
 
   void setupApplicationPackages() {
-    applicationPackages ??= new ApplicationPackageStore();
+    applicationPackages ??= ApplicationPackageStore();
   }
 
   /// The path to send to Google Analytics. Return null here to disable
@@ -452,7 +452,7 @@
     if (_requiresPubspecYaml && !PackageMap.isUsingCustomPackagesPath) {
       // Don't expect a pubspec.yaml file if the user passed in an explicit .packages file path.
       if (!fs.isFileSync('pubspec.yaml')) {
-        throw new ToolExit(
+        throw ToolExit(
           'Error: No pubspec.yaml file found.\n'
           'This command should be run from the root of your Flutter project.\n'
           'Do not run this command from the root of your git clone of Flutter.'
@@ -460,7 +460,7 @@
       }
 
       if (fs.isFileSync('flutter.yaml')) {
-        throw new ToolExit(
+        throw ToolExit(
           'Please merge your flutter.yaml into your pubspec.yaml.\n\n'
           'We have changed from having separate flutter.yaml and pubspec.yaml\n'
           'files to having just one pubspec.yaml file. Transitioning is simple:\n'
@@ -479,16 +479,16 @@
 
       // Validate the current package map only if we will not be running "pub get" later.
       if (parent?.name != 'packages' && !(_usesPubOption && argResults['pub'])) {
-        final String error = new PackageMap(PackageMap.globalPackagesPath).checkValid();
+        final String error = PackageMap(PackageMap.globalPackagesPath).checkValid();
         if (error != null)
-          throw new ToolExit(error);
+          throw ToolExit(error);
       }
     }
 
     if (_usesTargetOption) {
       final String targetPath = targetFile;
       if (!fs.isFileSync(targetPath))
-        throw new ToolExit('Target file "$targetPath" not found.');
+        throw ToolExit('Target file "$targetPath" not found.');
     }
 
     final bool dynamicFlag = argParser.options.containsKey('dynamic')
@@ -496,9 +496,9 @@
     final String compilationTraceFilePath = argParser.options.containsKey('precompile')
         ? argResults['precompile'] : null;
     if (compilationTraceFilePath != null && getBuildMode() == BuildMode.debug)
-      throw new ToolExit('Error: --precompile is not allowed when --debug is specified.');
+      throw ToolExit('Error: --precompile is not allowed when --debug is specified.');
     if (compilationTraceFilePath != null && !dynamicFlag)
-      throw new ToolExit('Error: --precompile is allowed only when --dynamic is specified.');
+      throw ToolExit('Error: --precompile is allowed only when --dynamic is specified.');
   }
 
   ApplicationPackageStore applicationPackages;
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index 454fac9..b0ef55b 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -146,7 +146,7 @@
 
   @override
   ArgParser get argParser => _argParser;
-  final ArgParser _argParser = new ArgParser(allowTrailingOptions: false);
+  final ArgParser _argParser = ArgParser(allowTrailingOptions: false);
 
   @override
   String get usageFooter {
@@ -214,13 +214,13 @@
   @override
   Future<Null> runCommand(ArgResults topLevelResults) async {
     final Map<Type, dynamic> contextOverrides = <Type, dynamic>{
-      Flags: new Flags(topLevelResults),
+      Flags: Flags(topLevelResults),
     };
 
     // Check for verbose.
     if (topLevelResults['verbose']) {
       // Override the logger.
-      contextOverrides[Logger] = new VerboseLogger(logger);
+      contextOverrides[Logger] = VerboseLogger(logger);
     }
 
     if (topLevelResults['show-test-device'] ||
@@ -240,7 +240,7 @@
 
       // Record the arguments that were used to invoke this runner.
       final File manifest = tempDir.childFile('MANIFEST.txt');
-      final StringBuffer buffer = new StringBuffer()
+      final StringBuffer buffer = StringBuffer()
         ..writeln('# arguments')
         ..writeln(topLevelResults.arguments)
         ..writeln()
@@ -302,7 +302,7 @@
 
     await context.run<Null>(
       overrides: contextOverrides.map<Type, Generator>((Type type, dynamic value) {
-        return new MapEntry<Type, Generator>(type, () => value);
+        return MapEntry<Type, Generator>(type, () => value);
       }),
       body: () async {
         logger.quiet = topLevelResults['quiet'];
@@ -360,7 +360,7 @@
 
     if (engineSourcePath == null && globalResults['local-engine'] != null) {
       try {
-        final Uri engineUri = new PackageMap(PackageMap.globalPackagesPath).map[kFlutterEnginePackageName];
+        final Uri engineUri = PackageMap(PackageMap.globalPackagesPath).map[kFlutterEnginePackageName];
         if (engineUri != null) {
           engineSourcePath = fs.path.dirname(fs.path.dirname(fs.path.dirname(fs.path.dirname(engineUri.path))));
           final bool dirExists = fs.isDirectorySync(fs.path.join(engineSourcePath, 'out'));
@@ -414,7 +414,7 @@
     final String hostBasename = 'host_' + basename.replaceFirst('_sim_', '_').substring(basename.indexOf('_') + 1);
     final String engineHostBuildPath = fs.path.normalize(fs.path.join(fs.path.dirname(engineBuildPath), hostBasename));
 
-    return new EngineBuildPaths(targetEngine: engineBuildPath, hostEngine: engineHostBuildPath);
+    return EngineBuildPaths(targetEngine: engineBuildPath, hostEngine: engineHostBuildPath);
   }
 
   static void initFlutterRoot() {
@@ -485,7 +485,7 @@
 
     // Check that the flutter running is that same as the one referenced in the pubspec.
     if (fs.isFileSync(kPackagesFileName)) {
-      final PackageMap packageMap = new PackageMap(kPackagesFileName);
+      final PackageMap packageMap = PackageMap(kPackagesFileName);
       final Uri flutterUri = packageMap.map['flutter'];
 
       if (flutterUri != null && (flutterUri.scheme == 'file' || flutterUri.scheme == '')) {
diff --git a/packages/flutter_tools/lib/src/services.dart b/packages/flutter_tools/lib/src/services.dart
index 5668efc..2edceb7 100644
--- a/packages/flutter_tools/lib/src/services.dart
+++ b/packages/flutter_tools/lib/src/services.dart
@@ -30,7 +30,7 @@
 ) async {
   Map<String, Uri> packageMap;
   try {
-    packageMap = new PackageMap(PackageMap.globalPackagesPath).map;
+    packageMap = PackageMap(PackageMap.globalPackagesPath).map;
   } on FormatException catch (error) {
     printTrace('Invalid ".packages" file while parsing service configs:\n$error');
     return;
diff --git a/packages/flutter_tools/lib/src/template.dart b/packages/flutter_tools/lib/src/template.dart
index ab99858..97bc18b 100644
--- a/packages/flutter_tools/lib/src/template.dart
+++ b/packages/flutter_tools/lib/src/template.dart
@@ -53,12 +53,12 @@
   factory Template.fromName(String name) {
     // All named templates are placed in the 'templates' directory
     final Directory templateDir = templateDirectoryInPackage(name);
-    return new Template(templateDir, templateDir);
+    return Template(templateDir, templateDir);
   }
 
   static const String templateExtension = '.tmpl';
   static const String copyTemplateExtension = '.copy.tmpl';
-  final Pattern _kTemplateLanguageVariant = new RegExp(r'(\w+)-(\w+)\.tmpl.*');
+  final Pattern _kTemplateLanguageVariant = RegExp(r'(\w+)-(\w+)\.tmpl.*');
 
   Map<String /* relative */, String /* absolute source */> _templateFilePaths;
 
@@ -154,7 +154,7 @@
 
       if (sourceFile.path.endsWith(templateExtension)) {
         final String templateContents = sourceFile.readAsStringSync();
-        final String renderedContents = new mustache.Template(templateContents).renderString(context);
+        final String renderedContents = mustache.Template(templateContents).renderString(context);
 
         finalDestinationFile.writeAsStringSync(renderedContents);
 
diff --git a/packages/flutter_tools/lib/src/test/coverage_collector.dart b/packages/flutter_tools/lib/src/test/coverage_collector.dart
index a86b255..8d16526 100644
--- a/packages/flutter_tools/lib/src/test/coverage_collector.dart
+++ b/packages/flutter_tools/lib/src/test/coverage_collector.dart
@@ -50,18 +50,18 @@
     Map<String, dynamic> data;
     final Future<void> processComplete = process.exitCode
       .then<void>((int code) {
-        throw new Exception('Failed to collect coverage, process terminated prematurely with exit code $code.');
+        throw Exception('Failed to collect coverage, process terminated prematurely with exit code $code.');
       });
     final Future<void> collectionComplete = coverage.collect(observatoryUri, false, false)
       .then<void>((Map<String, dynamic> result) {
         if (result == null)
-          throw new Exception('Failed to collect coverage.');
+          throw Exception('Failed to collect coverage.');
         data = result;
       })
       .timeout(
         const Duration(minutes: 10),
         onTimeout: () {
-          throw new Exception('Timed out while collecting coverage.');
+          throw Exception('Timed out while collecting coverage.');
         },
       );
     await Future.any<void>(<Future<void>>[ processComplete, collectionComplete ]);
@@ -88,10 +88,10 @@
     if (_globalHitmap == null)
       return null;
     if (formatter == null) {
-      final coverage.Resolver resolver = new coverage.Resolver(packagesPath: PackageMap.globalPackagesPath);
+      final coverage.Resolver resolver = coverage.Resolver(packagesPath: PackageMap.globalPackagesPath);
       final String packagePath = fs.currentDirectory.path;
       final List<String> reportOn = <String>[fs.path.join(packagePath, 'lib')];
-      formatter = new coverage.LcovFormatter(resolver, reportOn: reportOn, basePath: packagePath);
+      formatter = coverage.LcovFormatter(resolver, reportOn: reportOn, basePath: packagePath);
     }
     final String result = await formatter.format(_globalHitmap);
     _globalHitmap = null;
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index 9538df9..7e171d5 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -80,7 +80,7 @@
   assert(!enableObservatory || (!startPaused && observatoryPort == null));
   hack.registerPlatformPlugin(
     <Runtime>[Runtime.vm],
-    () => new _FlutterPlatform(
+    () => _FlutterPlatform(
       shellPath: shellPath,
       watcher: watcher,
       machine: machine,
@@ -128,7 +128,7 @@
       : 'ws://[${host.address}]';
   final String encodedWebsocketUrl = Uri.encodeComponent(websocketUrl);
 
-  final StringBuffer buffer = new StringBuffer();
+  final StringBuffer buffer = StringBuffer();
   buffer.write('''
 import 'dart:convert';
 import 'dart:io';  // ignore: dart_io_import
@@ -147,7 +147,7 @@
   );
   if (testConfigFile != null) {
     buffer.write('''
-import '${new Uri.file(testConfigFile.path)}' as test_config;
+import '${Uri.file(testConfigFile.path)}' as test_config;
 '''
     );
   }
@@ -229,7 +229,7 @@
     final String testFilePath = fs.path.join(fs.path.fromUri(projectRootDirectory), getBuildDirectory(), 'testfile.dill');
 
     ResidentCompiler createCompiler() {
-      return new ResidentCompiler(
+      return ResidentCompiler(
         artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath),
         packagesPath: PackageMap.globalPackagesPath,
         trackWidgetCreation: trackWidgetCreation,
@@ -249,7 +249,7 @@
         while (compilationQueue.isNotEmpty) {
           final _CompilationRequest request = compilationQueue.first;
           printTrace('Compiling ${request.path}');
-          final Stopwatch compilerTime = new Stopwatch()..start();
+          final Stopwatch compilerTime = Stopwatch()..start();
           bool firstCompile = false;
           if (compiler == null) {
             compiler = createCompiler();
@@ -298,13 +298,13 @@
   }
 
   final StreamController<_CompilationRequest> compilerController =
-      new StreamController<_CompilationRequest>();
+      StreamController<_CompilationRequest>();
   final List<_CompilationRequest> compilationQueue = <_CompilationRequest>[];
   ResidentCompiler compiler;
 
   Future<String> compile(String mainDart) {
-    final Completer<String> completer = new Completer<String>();
-    compilerController.add(new _CompilationRequest(mainDart, completer));
+    final Completer<String> completer = Completer<String>();
+    compilerController.add(_CompilationRequest(mainDart, completer));
     return handleTimeout<String>(completer.future, mainDart);
   }
 
@@ -385,18 +385,18 @@
     }
     final int ourTestCount = _testCount;
     _testCount += 1;
-    final StreamController<dynamic> localController = new StreamController<dynamic>();
-    final StreamController<dynamic> remoteController = new StreamController<dynamic>();
-    final Completer<_AsyncError> testCompleteCompleter = new Completer<_AsyncError>();
-    final _FlutterPlatformStreamSinkWrapper<dynamic> remoteSink = new _FlutterPlatformStreamSinkWrapper<dynamic>(
+    final StreamController<dynamic> localController = StreamController<dynamic>();
+    final StreamController<dynamic> remoteController = StreamController<dynamic>();
+    final Completer<_AsyncError> testCompleteCompleter = Completer<_AsyncError>();
+    final _FlutterPlatformStreamSinkWrapper<dynamic> remoteSink = _FlutterPlatformStreamSinkWrapper<dynamic>(
       remoteController.sink,
       testCompleteCompleter.future,
     );
-    final StreamChannel<dynamic> localChannel = new StreamChannel<dynamic>.withGuarantees(
+    final StreamChannel<dynamic> localChannel = StreamChannel<dynamic>.withGuarantees(
       remoteController.stream,
       localController.sink,
     );
-    final StreamChannel<dynamic> remoteChannel = new StreamChannel<dynamic>.withGuarantees(
+    final StreamChannel<dynamic> remoteChannel = StreamChannel<dynamic>.withGuarantees(
       localController.stream,
       remoteSink,
     );
@@ -426,7 +426,7 @@
         printTrace('test $ourTestCount: shutting down test harness socket server');
         await server.close(force: true);
       });
-      final Completer<WebSocket> webSocket = new Completer<WebSocket>();
+      final Completer<WebSocket> webSocket = Completer<WebSocket>();
       server.listen(
         (HttpRequest request) {
           if (!webSocket.isCompleted)
@@ -460,7 +460,7 @@
 
       if (precompiledDillPath == null && precompiledDillFiles == null) {
         // Lazily instantiate compiler so it is built only if it is actually used.
-        compiler ??= new _Compiler(trackWidgetCreation, projectRootDirectory);
+        compiler ??= _Compiler(trackWidgetCreation, projectRootDirectory);
         mainDart = await compiler.compile(mainDart);
 
         if (mainDart == null) {
@@ -495,8 +495,8 @@
         }
       });
 
-      final Completer<void> timeout = new Completer<void>();
-      final Completer<void> gotProcessObservatoryUri = new Completer<void>();
+      final Completer<void> timeout = Completer<void>();
+      final Completer<void> gotProcessObservatoryUri = Completer<void>();
       if (!enableObservatory)
         gotProcessObservatoryUri.complete();
 
@@ -519,10 +519,10 @@
           }
           processObservatoryUri = detectedUri;
           gotProcessObservatoryUri.complete();
-          watcher?.handleStartedProcess(new ProcessEvent(ourTestCount, process, processObservatoryUri));
+          watcher?.handleStartedProcess(ProcessEvent(ourTestCount, process, processObservatoryUri));
         },
         startTimeoutTimer: () {
-          new Future<_InitialResult>.delayed(_kTestStartupTimeout).then((_) => timeout.complete());
+          Future<_InitialResult>.delayed(_kTestStartupTimeout).then((_) => timeout.complete());
         },
       );
 
@@ -535,7 +535,7 @@
       final _InitialResult initialResult = await Future.any(<Future<_InitialResult>>[
         process.exitCode.then<_InitialResult>((int exitCode) => _InitialResult.crashed),
         timeout.future.then<_InitialResult>((void value) => _InitialResult.timedOut),
-        new Future<_InitialResult>.delayed(_kTestProcessTimeout, () => _InitialResult.timedOut),
+        Future<_InitialResult>.delayed(_kTestProcessTimeout, () => _InitialResult.timedOut),
         gotProcessObservatoryUri.future.then<_InitialResult>((void value) {
           return webSocket.future.then<_InitialResult>(
             (WebSocket webSocket) => _InitialResult.connected,
@@ -554,7 +554,7 @@
           controller.sink.close(); // ignore: unawaited_futures
           printTrace('test $ourTestCount: waiting for controller sink to close');
           await controller.sink.done;
-          await watcher?.handleTestCrashed(new ProcessEvent(ourTestCount, process));
+          await watcher?.handleTestCrashed(ProcessEvent(ourTestCount, process));
           break;
         case _InitialResult.timedOut:
           // Could happen either if the process takes a long time starting
@@ -567,13 +567,13 @@
           controller.sink.close(); // ignore: unawaited_futures
           printTrace('test $ourTestCount: waiting for controller sink to close');
           await controller.sink.done;
-          await watcher?.handleTestTimedOut(new ProcessEvent(ourTestCount, process));
+          await watcher?.handleTestTimedOut(ProcessEvent(ourTestCount, process));
           break;
         case _InitialResult.connected:
           printTrace('test $ourTestCount: process with pid ${process.pid} connected to test harness');
           final WebSocket testSocket = await webSocket.future;
 
-          final Completer<void> harnessDone = new Completer<void>();
+          final Completer<void> harnessDone = Completer<void>();
           final StreamSubscription<dynamic> harnessToTest = controller.stream.listen(
             (dynamic event) { testSocket.add(json.encode(event)); },
             onDone: harnessDone.complete,
@@ -590,7 +590,7 @@
             cancelOnError: true,
           );
 
-          final Completer<void> testDone = new Completer<void>();
+          final Completer<void> testDone = Completer<void>();
           final StreamSubscription<dynamic> testToHarness = testSocket.listen(
             (dynamic encodedEvent) {
               assert(encodedEvent is String); // we shouldn't ever get binary messages
@@ -642,7 +642,7 @@
                 assert(testResult == _TestResult.testBailed);
                 printTrace('test $ourTestCount: process with pid ${process.pid} no longer needs test harness');
               }
-              await watcher?.handleFinishedTest(new ProcessEvent(ourTestCount, process, processObservatoryUri));
+              await watcher?.handleFinishedTest(ProcessEvent(ourTestCount, process, processObservatoryUri));
               break;
           }
           break;
@@ -653,7 +653,7 @@
         controller.sink.addError(error, stack);
       } else {
         printError('unhandled error during test:\n$testPath\n$error\n$stack');
-        outOfBandError ??= new _AsyncError(error, stack);
+        outOfBandError ??= _AsyncError(error, stack);
       }
     } finally {
       printTrace('test $ourTestCount: cleaning up...');
@@ -667,7 +667,7 @@
             controller.sink.addError(error, stack);
           } else {
             printError('unhandled error during finalization of test:\n$testPath\n$error\n$stack');
-            outOfBandError ??= new _AsyncError(error, stack);
+            outOfBandError ??= _AsyncError(error, stack);
           }
         }
       }
@@ -787,7 +787,7 @@
     if (_cachedFontConfig != null)
       return _cachedFontConfig;
 
-    final StringBuffer sb = new StringBuffer();
+    final StringBuffer sb = StringBuffer();
     sb.writeln('<fontconfig>');
     sb.writeln('  <dir>${cache.getCacheArtifacts().path}</dir>');
     sb.writeln('  <cachedir>/var/cache/fontconfig</cachedir>');
@@ -942,7 +942,7 @@
 
   @override
   Future<void> get done => _done.future;
-  final Completer<void> _done = new Completer<void>();
+  final Completer<void> _done = Completer<void>();
 
   @override
   Future<dynamic> close() {
diff --git a/packages/flutter_tools/lib/src/tester/flutter_tester.dart b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
index adf2905..2487d63 100644
--- a/packages/flutter_tools/lib/src/tester/flutter_tester.dart
+++ b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
@@ -25,7 +25,7 @@
   final Directory _directory;
 
   factory FlutterTesterApp.fromCurrentDirectory() {
-    return new FlutterTesterApp._(fs.currentDirectory);
+    return FlutterTesterApp._(fs.currentDirectory);
   }
 
   FlutterTesterApp._(Directory directory)
@@ -44,7 +44,7 @@
   FlutterTesterDevice(String deviceId) : super(deviceId);
 
   Process _process;
-  final DevicePortForwarder _portForwarder = new _NoopPortForwarder();
+  final DevicePortForwarder _portForwarder = _NoopPortForwarder();
 
   @override
   Future<bool> get isLocalEmulator async => false;
@@ -68,7 +68,7 @@
   void clearLogs() {}
 
   final _FlutterTesterDeviceLogReader _logReader =
-      new _FlutterTesterDeviceLogReader();
+      _FlutterTesterDeviceLogReader();
 
   @override
   DeviceLogReader getLogReader({ApplicationPackage app}) => _logReader;
@@ -104,7 +104,7 @@
 
     if (!buildInfo.isDebug) {
       printError('This device only supports debug mode.');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
 
     final String shellPath = artifacts.getArtifactPath(Artifact.flutterTester);
@@ -168,18 +168,18 @@
       });
 
       if (!debuggingOptions.debuggingEnabled)
-        return new LaunchResult.succeeded();
+        return LaunchResult.succeeded();
 
-      final ProtocolDiscovery observatoryDiscovery = new ProtocolDiscovery.observatory(
+      final ProtocolDiscovery observatoryDiscovery = ProtocolDiscovery.observatory(
         getLogReader(),
         hostPort: debuggingOptions.observatoryPort,
       );
 
       final Uri observatoryUri = await observatoryDiscovery.uri;
-      return new LaunchResult.succeeded(observatoryUri: observatoryUri);
+      return LaunchResult.succeeded(observatoryUri: observatoryUri);
     } catch (error) {
       printError('Failed to launch $package: $error');
-      return new LaunchResult.failed();
+      return LaunchResult.failed();
     }
   }
 
@@ -202,7 +202,7 @@
   static bool showFlutterTesterDevice = false;
 
   final FlutterTesterDevice _testerDevice =
-      new FlutterTesterDevice(kTesterDeviceId);
+      FlutterTesterDevice(kTesterDeviceId);
 
   @override
   bool get canListAnything => true;
@@ -218,7 +218,7 @@
 
 class _FlutterTesterDeviceLogReader extends DeviceLogReader {
   final StreamController<String> _logLinesController =
-      new StreamController<String>.broadcast();
+      StreamController<String>.broadcast();
 
   @override
   int get appPid => 0;
@@ -239,7 +239,7 @@
   Future<int> forward(int devicePort, {int hostPort}) {
     if (hostPort != null && hostPort != devicePort)
       throw 'Forwarding to a different port is not supported by flutter tester';
-    return new Future<int>.value(devicePort);
+    return Future<int>.value(devicePort);
   }
 
   @override
diff --git a/packages/flutter_tools/lib/src/tracing.dart b/packages/flutter_tools/lib/src/tracing.dart
index 132cf0a..0a72a48 100644
--- a/packages/flutter_tools/lib/src/tracing.dart
+++ b/packages/flutter_tools/lib/src/tracing.dart
@@ -20,7 +20,7 @@
 
   static Future<Tracing> connect(Uri uri) async {
     final VMService observatory = await VMService.connect(uri);
-    return new Tracing(observatory);
+    return Tracing(observatory);
   }
 
   final VMService vmService;
@@ -41,7 +41,7 @@
       await vmService.vm.setVMTimelineFlags(<String>[]);
       timeline = await vmService.vm.getVMTimeline();
     } else {
-      final Completer<Null> whenFirstFrameRendered = new Completer<Null>();
+      final Completer<Null> whenFirstFrameRendered = Completer<Null>();
 
       (await vmService.onTimelineEvent).listen((ServiceEvent timelineEvent) {
         final List<Map<String, dynamic>> events = timelineEvent.timelineEvents;
@@ -86,7 +86,7 @@
   if (!(await traceInfoFile.parent.exists()))
     await traceInfoFile.parent.create();
 
-  final Tracing tracing = new Tracing(observatory);
+  final Tracing tracing = Tracing(observatory);
 
   final Map<String, dynamic> timeline = await tracing.stopTracingAndDownloadTimeline(
       waitForFirstFrame: true
@@ -94,7 +94,7 @@
 
   int extractInstantEventTimestamp(String eventName) {
     final List<Map<String, dynamic>> events =
-        new List<Map<String, dynamic>>.from(timeline['traceEvents']);
+        List<Map<String, dynamic>>.from(timeline['traceEvents']);
     final Map<String, dynamic> event = events.firstWhere(
             (Map<String, dynamic> event) => event['name'] == eventName, orElse: () => null
     );
diff --git a/packages/flutter_tools/lib/src/usage.dart b/packages/flutter_tools/lib/src/usage.dart
index 06b2d4b..a49553d 100644
--- a/packages/flutter_tools/lib/src/usage.dart
+++ b/packages/flutter_tools/lib/src/usage.dart
@@ -25,7 +25,7 @@
   Usage({ String settingsName = 'flutter', String versionOverride, String configDirOverride}) {
     final FlutterVersion flutterVersion = FlutterVersion.instance;
     final String version = versionOverride ?? flutterVersion.getVersionString(redactUnknownBranches: true);
-    _analytics = new AnalyticsIO(_kFlutterUA, settingsName, version,
+    _analytics = AnalyticsIO(_kFlutterUA, settingsName, version,
         // Analyzer doesn't recognize that [Directory] objects match up due to a
         // conditional import.
         // ignore: argument_type_not_assignable
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index 728d446..e1dea0e 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -43,7 +43,7 @@
   String _repositoryUrl;
   String get repositoryUrl => _repositoryUrl;
 
-  static Set<String> officialChannels = new Set<String>.from(<String>[
+  static Set<String> officialChannels = Set<String>.from(<String>[
     'master',
     'dev',
     'beta',
@@ -292,7 +292,7 @@
         stamp.store(
           newTimeWarningWasPrinted: _clock.now(),
         ),
-        new Future<Null>.delayed(timeToPauseToLetUserReadTheMessage),
+        Future<Null>.delayed(timeToPauseToLetUserReadTheMessage),
       ]);
     }
   }
@@ -411,7 +411,7 @@
           : null;
     }
 
-    return new VersionCheckStamp(
+    return VersionCheckStamp(
       lastTimeVersionWasChecked: readDateTime('lastTimeVersionWasChecked'),
       lastKnownRemoteVersion: readDateTime('lastKnownRemoteVersion'),
       lastTimeWarningWasPrinted: readDateTime('lastTimeWarningWasPrinted'),
@@ -488,7 +488,7 @@
     return results.stdout.trim();
 
   if (!lenient) {
-    throw new VersionCheckError(
+    throw VersionCheckError(
       'Command exited with code ${results.exitCode}: ${command.join(' ')}\n'
       'Standard error: ${results.stderr}'
     );
@@ -511,7 +511,7 @@
   if (results.exitCode == 0)
     return results.stdout.trim();
 
-  throw new VersionCheckError(
+  throw VersionCheckError(
     'Command exited with code ${results.exitCode}: ${command.join(' ')}\n'
     'Standard error: ${results.stderr}'
   );
@@ -544,14 +544,14 @@
 
   static GitTagVersion determine() {
     final String version = _runGit('git describe --match v*.*.* --first-parent --long --tags');
-    final RegExp versionPattern = new RegExp('^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-g([a-f0-9]+)\$');
+    final RegExp versionPattern = RegExp('^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-g([a-f0-9]+)\$');
     final List<String> parts = versionPattern.matchAsPrefix(version)?.groups(<int>[1, 2, 3, 4, 5]);
     if (parts == null) {
       printTrace('Could not interpret results of "git describe": $version');
       return const GitTagVersion.unknown();
     }
     final List<int> parsedParts = parts.take(4).map<int>(int.tryParse).toList();
-    return new GitTagVersion(parsedParts[0], parsedParts[1], parsedParts[2], parsedParts[3], parts[4]);
+    return GitTagVersion(parsedParts[0], parsedParts[1], parsedParts[2], parsedParts[3], parts[4]);
   }
 
   String frameworkVersionFor(String revision) {
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index 51bc7fa..a99c278 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -66,7 +66,7 @@
     printTrace('This was attempt #$attempts. Will retry in $delay.');
 
     // Delay next attempt.
-    await new Future<Null>.delayed(delay);
+    await Future<Null>.delayed(delay);
 
     // Back off exponentially.
     delay *= 2;
@@ -84,13 +84,13 @@
   }
 
   if (socket == null) {
-    throw new ToolExit(
+    throw ToolExit(
       'Attempted to connect to Dart observatory $_kMaxAttempts times, and '
       'all attempts failed. Giving up. The URL was $uri'
     );
   }
 
-  return new IOWebSocketChannel(socket).cast<String>();
+  return IOWebSocketChannel(socket).cast<String>();
 }
 
 /// The default VM service request timeout.
@@ -112,7 +112,7 @@
     ReloadSources reloadSources,
     CompileExpression compileExpression,
   ) {
-    _vm = new VM._empty(this);
+    _vm = VM._empty(this);
     _peer.listen().catchError(_connectionError.completeError);
 
     _peer.registerMethod('streamNotify', (rpc.Parameters event) {
@@ -126,11 +126,11 @@
         final bool pause = params.asMap['pause'] ?? false;
 
         if (isolateId is! String || isolateId.isEmpty)
-          throw new rpc.RpcException.invalidParams('Invalid \'isolateId\': $isolateId');
+          throw rpc.RpcException.invalidParams('Invalid \'isolateId\': $isolateId');
         if (force is! bool)
-          throw new rpc.RpcException.invalidParams('Invalid \'force\': $force');
+          throw rpc.RpcException.invalidParams('Invalid \'force\': $force');
         if (pause is! bool)
-          throw new rpc.RpcException.invalidParams('Invalid \'pause\': $pause');
+          throw rpc.RpcException.invalidParams('Invalid \'pause\': $pause');
 
         try {
           await reloadSources(isolateId, force: force, pause: pause);
@@ -138,7 +138,7 @@
         } on rpc.RpcException {
           rethrow;
         } catch (e, st) {
-          throw new rpc.RpcException(rpc_error_code.SERVER_ERROR,
+          throw rpc.RpcException(rpc_error_code.SERVER_ERROR,
               'Error during Sources Reload: $e\n$st');
         }
       });
@@ -155,16 +155,16 @@
       _peer.registerMethod('compileExpression', (rpc.Parameters params) async {
         final String isolateId = params['isolateId'].asString;
         if (isolateId is! String || isolateId.isEmpty)
-          throw new rpc.RpcException.invalidParams(
+          throw rpc.RpcException.invalidParams(
               'Invalid \'isolateId\': $isolateId');
         final String expression = params['expression'].asString;
         if (expression is! String || expression.isEmpty)
-          throw new rpc.RpcException.invalidParams(
+          throw rpc.RpcException.invalidParams(
               'Invalid \'expression\': $expression');
         final List<String> definitions =
-            new List<String>.from(params['definitions'].asList);
+            List<String>.from(params['definitions'].asList);
         final List<String> typeDefinitions =
-            new List<String>.from(params['typeDefinitions'].asList);
+            List<String>.from(params['typeDefinitions'].asList);
         final String libraryUri = params['libraryUri'].asString;
         final String klass = params['klass'].exists ? params['klass'].asString : null;
         final bool isStatic = params['isStatic'].asBoolOr(false);
@@ -178,7 +178,7 @@
         } on rpc.RpcException {
           rethrow;
         } catch (e, st) {
-          throw new rpc.RpcException(rpc_error_code.SERVER_ERROR,
+          throw rpc.RpcException(rpc_error_code.SERVER_ERROR,
               'Error during expression compilation: $e\n$st');
         }
       });
@@ -201,7 +201,7 @@
     final Directory dir = getRecordingSink(location, _kRecordingType);
     _openChannel = (Uri uri) async {
       final StreamChannel<String> delegate = await _defaultOpenChannel(uri);
-      return new RecordingVMServiceChannel(delegate, dir);
+      return RecordingVMServiceChannel(delegate, dir);
     };
   }
 
@@ -212,7 +212,7 @@
   /// passed to [enableRecordingConnection]), or a [ToolExit] will be thrown.
   static void enableReplayConnection(String location) {
     final Directory dir = getReplaySource(location, _kRecordingType);
-    _openChannel = (Uri uri) async => new ReplayVMServiceChannel(dir);
+    _openChannel = (Uri uri) async => ReplayVMServiceChannel(dir);
   }
 
   /// Connect to a Dart VM Service at [httpUri].
@@ -234,8 +234,8 @@
   }) async {
     final Uri wsUri = httpUri.replace(scheme: 'ws', path: fs.path.join(httpUri.path, 'ws'));
     final StreamChannel<String> channel = await _openChannel(wsUri);
-    final rpc.Peer peer = new rpc.Peer.withoutJson(jsonDocument.bind(channel));
-    final VMService service = new VMService._(peer, httpUri, wsUri, requestTimeout, reloadSources, compileExpression);
+    final rpc.Peer peer = rpc.Peer.withoutJson(jsonDocument.bind(channel));
+    final VMService service = VMService._(peer, httpUri, wsUri, requestTimeout, reloadSources, compileExpression);
     // This call is to ensure we are able to establish a connection instead of
     // keeping on trucking and failing farther down the process.
     await service._sendRequest('getVersion', const <String, dynamic>{});
@@ -246,7 +246,7 @@
   final Uri wsAddress;
   final rpc.Peer _peer;
   final Duration _requestTimeout;
-  final Completer<Map<String, dynamic>> _connectionError = new Completer<Map<String, dynamic>>();
+  final Completer<Map<String, dynamic>> _connectionError = Completer<Map<String, dynamic>>();
 
   VM _vm;
   /// The singleton [VM] object. Owns [Isolate] and [FlutterView] objects.
@@ -255,7 +255,7 @@
   final Map<String, StreamController<ServiceEvent>> _eventControllers =
       <String, StreamController<ServiceEvent>>{};
 
-  final Set<String> _listeningFor = new Set<String>();
+  final Set<String> _listeningFor = Set<String>();
 
   /// Whether our connection to the VM service has been closed;
   bool get isClosed => _peer.isClosed;
@@ -298,7 +298,7 @@
   StreamController<ServiceEvent> _getEventController(String eventName) {
     StreamController<ServiceEvent> controller = _eventControllers[eventName];
     if (controller == null) {
-      controller = new StreamController<ServiceEvent>.broadcast();
+      controller = StreamController<ServiceEvent>.broadcast();
       _eventControllers[eventName] = controller;
     }
     return controller;
@@ -316,7 +316,7 @@
     if (eventIsolate != null) {
       // getFromMap creates the Isolate if necessary.
       final Isolate isolate = vm.getFromMap(eventIsolate);
-      event = new ServiceObject._fromMap(isolate, eventData);
+      event = ServiceObject._fromMap(isolate, eventData);
       if (event.kind == ServiceEvent.kIsolateExit) {
         vm._isolateCache.remove(isolate.id);
         vm._buildIsolateList();
@@ -327,7 +327,7 @@
       }
     } else {
       // The event doesn't have an isolate, so it is owned by the VM.
-      event = new ServiceObject._fromMap(vm, eventData);
+      event = ServiceObject._fromMap(vm, eventData);
     }
     _getEventController(streamId).add(event);
   }
@@ -351,7 +351,7 @@
     for (int i = 0; (vm.firstView == null) && (i < attempts); i++) {
       // If the VM doesn't yet have a view, wait for one to show up.
       printTrace('Waiting for Flutter view');
-      await new Future<Null>.delayed(new Duration(seconds: attemptSeconds));
+      await Future<Null>.delayed(Duration(seconds: attemptSeconds));
       await getVM();
       await vm.refreshViews();
     }
@@ -425,25 +425,25 @@
       return null;
 
     if (!_isServiceMap(map))
-      throw new VMServiceObjectLoadError('Expected a service map', map);
+      throw VMServiceObjectLoadError('Expected a service map', map);
 
     final String type = _stripRef(map['type']);
 
     ServiceObject serviceObject;
     switch (type) {
       case 'Event':
-        serviceObject = new ServiceEvent._empty(owner);
+        serviceObject = ServiceEvent._empty(owner);
       break;
       case 'FlutterView':
-        serviceObject = new FlutterView._empty(owner.vm);
+        serviceObject = FlutterView._empty(owner.vm);
       break;
       case 'Isolate':
-        serviceObject = new Isolate._empty(owner.vm);
+        serviceObject = Isolate._empty(owner.vm);
       break;
     }
     // If we don't have a model object for this service object type, as a
     // fallback return a ServiceMap object.
-    serviceObject ??= new ServiceMap._empty(owner);
+    serviceObject ??= ServiceMap._empty(owner);
     // We have now constructed an empty service object, call update to populate it.
     serviceObject.updateFromMap(map);
     return serviceObject;
@@ -511,14 +511,14 @@
     }
 
     if (_inProgressReload == null) {
-      final Completer<ServiceObject> completer = new Completer<ServiceObject>();
+      final Completer<ServiceObject> completer = Completer<ServiceObject>();
       _inProgressReload = completer.future;
 
       try {
         final Map<String, dynamic> response = await _fetchDirect();
         if (_stripRef(response['type']) == 'Sentinel') {
           // An object may have been collected.
-          completer.complete(new ServiceObject._fromMap(owner, response));
+          completer.complete(ServiceObject._fromMap(owner, response));
         } else {
           updateFromMap(response);
           completer.complete(this);
@@ -540,7 +540,7 @@
     final String mapType = _stripRef(map['type']);
 
     if ((_type != null) && (_type != mapType)) {
-      throw new VMServiceObjectLoadError('ServiceObject types must not change',
+      throw VMServiceObjectLoadError('ServiceObject types must not change',
                                          map);
     }
     _type = mapType;
@@ -548,7 +548,7 @@
 
     _canCache = map['fixedId'] == true;
     if ((_id != null) && (_id != map['id']) && _canCache) {
-      throw new VMServiceObjectLoadError('ServiceObject id changed', map);
+      throw VMServiceObjectLoadError('ServiceObject id changed', map);
     }
     _id = map['id'];
 
@@ -614,7 +614,7 @@
     _kind = map['kind'];
     assert(map['isolate'] == null || owner == map['isolate']);
     _timestamp =
-        new DateTime.fromMillisecondsSinceEpoch(map['timestamp']);
+        DateTime.fromMillisecondsSinceEpoch(map['timestamp']);
     if (map['extensionKind'] != null) {
       _extensionKind = map['extensionKind'];
       _extensionData = map['extensionData'];
@@ -747,7 +747,7 @@
 
   void _removeDeadIsolates(List<Isolate> newIsolates) {
     // Build a set of new isolates.
-    final Set<String> newIsolateSet = new Set<String>();
+    final Set<String> newIsolateSet = Set<String>();
     for (Isolate iso in newIsolates)
       newIsolateSet.add(iso.id);
 
@@ -782,7 +782,7 @@
         Isolate isolate = _isolateCache[mapId];
         if (isolate == null) {
           // Add new isolate to the cache.
-          isolate = new ServiceObject._fromMap(this, map);
+          isolate = ServiceObject._fromMap(this, map);
           _isolateCache[mapId] = isolate;
           _buildIsolateList();
 
@@ -801,7 +801,7 @@
         FlutterView view = _viewCache[mapId];
         if (view == null) {
           // Add new view to the cache.
-          view = new ServiceObject._fromMap(this, map);
+          view = ServiceObject._fromMap(this, map);
           _viewCache[mapId] = view;
         } else {
           view.updateFromMap(map);
@@ -810,7 +810,7 @@
       }
       break;
       default:
-        throw new VMServiceObjectLoadError(
+        throw VMServiceObjectLoadError(
             'VM.getFromMap called for something other than an isolate', map);
     }
   }
@@ -821,7 +821,7 @@
       // Trigger a VM load, then get the isolate. Ignore any errors.
       return load().then<Isolate>((ServiceObject serviceObject) => getIsolate(isolateId)).catchError((dynamic error) => null);
     }
-    return new Future<Isolate>.value(_isolateCache[isolateId]);
+    return Future<Isolate>.value(_isolateCache[isolateId]);
   }
 
   /// Invoke the RPC and return the raw response.
@@ -845,7 +845,7 @@
     } on TimeoutException {
       printTrace('Request to Dart VM Service timed out: $method($params)');
       if (timeoutFatal)
-        throw new TimeoutException('Request to Dart VM Service timed out: $method($params)');
+        throw TimeoutException('Request to Dart VM Service timed out: $method($params)');
       return null;
     } on WebSocketChannelException catch (error) {
       throwToolExit('Error connecting to observatory: $error');
@@ -867,7 +867,7 @@
       params: params,
       timeout: timeout,
     );
-    final ServiceObject serviceObject = new ServiceObject._fromMap(this, response);
+    final ServiceObject serviceObject = ServiceObject._fromMap(this, response);
     if ((serviceObject != null) && (serviceObject._canCache)) {
       final String serviceObjectId = serviceObject.id;
       _cache.putIfAbsent(serviceObjectId, () => serviceObject);
@@ -1000,13 +1000,13 @@
     final double mcs = _totalCollectionTimeInSeconds *
       Duration.microsecondsPerSecond /
       math.max(_collections, 1);
-    return new Duration(microseconds: mcs.ceil());
+    return Duration(microseconds: mcs.ceil());
   }
 
   Duration get avgCollectionPeriod {
     final double mcs = _averageCollectionPeriodInMillis *
                        Duration.microsecondsPerMillisecond;
-    return new Duration(microseconds: mcs.ceil());
+    return Duration(microseconds: mcs.ceil());
   }
 
   @override
@@ -1083,7 +1083,7 @@
       return serviceObject;
     }
     // Build the object from the map directly.
-    serviceObject = new ServiceObject._fromMap(this, map);
+    serviceObject = ServiceObject._fromMap(this, map);
     if ((serviceObject != null) && serviceObject.canCache)
       _cache[mapId] = serviceObject;
     return serviceObject;
@@ -1117,9 +1117,9 @@
   }
 
   void _updateHeaps(Map<String, dynamic> map, bool mapIsRef) {
-    _newSpace ??= new HeapSpace._empty(this);
+    _newSpace ??= HeapSpace._empty(this);
     _newSpace._update(map['new'], mapIsRef);
-    _oldSpace ??= new HeapSpace._empty(this);
+    _oldSpace ??= HeapSpace._empty(this);
     _oldSpace._update(map['old'], mapIsRef);
   }
 
@@ -1130,7 +1130,7 @@
     _loaded = true;
 
     final int startTimeMillis = map['startTime'];
-    startTime = new DateTime.fromMillisecondsSinceEpoch(startTimeMillis);
+    startTime = DateTime.fromMillisecondsSinceEpoch(startTimeMillis);
 
     _upgradeCollection(map, this);
 
@@ -1158,7 +1158,7 @@
       final Map<String, dynamic> response = await invokeRpcRaw('_reloadSources', params: arguments);
       return response;
     } on rpc.RpcException catch (e) {
-      return new Future<Map<String, dynamic>>.error(<String, dynamic>{
+      return Future<Map<String, dynamic>>.error(<String, dynamic>{
         'code': e.code,
         'message': e.message,
         'data': e.data,
@@ -1199,11 +1199,11 @@
       for (int i = 1; i < lineTuple.length; i += 2) {
         if (lineTuple[i] == tokenPos) {
           final int column = lineTuple[i + 1];
-          return new ProgramElement(name, uri, line, column);
+          return ProgramElement(name, uri, line, column);
         }
       }
     }
-    return new ProgramElement(name, uri);
+    return ProgramElement(name, uri);
   }
 
   // Lists program elements changed in the most recent reload that have not
@@ -1425,7 +1425,7 @@
                              Uri assetsDirectoryUri) async {
     final String viewId = id;
     // When this completer completes the isolate is running.
-    final Completer<Null> completer = new Completer<Null>();
+    final Completer<Null> completer = Completer<Null>();
     final StreamSubscription<ServiceEvent> subscription =
       (await owner.vm.vmService.onIsolateEvent).listen((ServiceEvent event) {
       // TODO(johnmccutchan): Listen to the debug stream and catch initial
diff --git a/packages/flutter_tools/lib/src/vmservice_record_replay.dart b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
index cce1442..49dd7c3 100644
--- a/packages/flutter_tools/lib/src/vmservice_record_replay.dart
+++ b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
@@ -43,12 +43,12 @@
 
   @override
   Stream<String> get stream {
-    _streamRecorder ??= new _RecordingStream(super.stream, _messages);
+    _streamRecorder ??= _RecordingStream(super.stream, _messages);
     return _streamRecorder.stream;
   }
 
   @override
-  StreamSink<String> get sink => _sinkRecorder ??= new _RecordingSink(super.sink, _messages);
+  StreamSink<String> get sink => _sinkRecorder ??= _RecordingSink(super.sink, _messages);
 }
 
 /// Base class for request and response JSON-rpc messages.
@@ -60,8 +60,8 @@
 
   factory _Message.fromRecording(Map<String, dynamic> recordingData) {
     return recordingData[_kType] == _kRequest
-        ? new _Request(recordingData[_kData])
-        : new _Response(recordingData[_kData]);
+        ? _Request(recordingData[_kData])
+        : _Response(recordingData[_kData]);
   }
 
   int get id => data[_kId];
@@ -123,8 +123,8 @@
   _RecordingStream(Stream<String> stream, this._recording)
       : _delegate = stream,
         _controller = stream.isBroadcast
-            ? new StreamController<String>.broadcast()
-            : new StreamController<String>() {
+            ? StreamController<String>.broadcast()
+            : StreamController<String>() {
     _controller.onListen = () {
       assert(_subscription == null);
       _subscription = _listenToStream();
@@ -147,7 +147,7 @@
   StreamSubscription<String> _listenToStream() {
     return _delegate.listen(
       (String element) {
-        _recording.add(new _Response.fromString(element));
+        _recording.add(_Response.fromString(element));
         _controller.add(element);
       },
       onError: _controller.addError, // We currently don't support recording of errors.
@@ -176,17 +176,17 @@
   @override
   void add(String data) {
     _delegate.add(data);
-    _recording.add(new _Request.fromString(data));
+    _recording.add(_Request.fromString(data));
   }
 
   @override
   void addError(dynamic errorEvent, [StackTrace stackTrace]) {
-    throw new UnimplementedError('Add support for this if the need ever arises');
+    throw UnimplementedError('Add support for this if the need ever arises');
   }
 
   @override
   Future<dynamic> addStream(Stream<String> stream) {
-    throw new UnimplementedError('Add support for this if the need ever arises');
+    throw UnimplementedError('Add support for this if the need ever arises');
   }
 }
 
@@ -195,7 +195,7 @@
 /// replays the corresponding responses back from the recording.
 class ReplayVMServiceChannel extends StreamChannelMixin<String> {
   final Map<int, _Transaction> _transactions;
-  final StreamController<String> _controller = new StreamController<String>();
+  final StreamController<String> _controller = StreamController<String>();
   _ReplaySink _replaySink;
 
   ReplayVMServiceChannel(Directory location)
@@ -208,7 +208,7 @@
     final Map<int, _Transaction> transactions = <int, _Transaction>{};
     for (_Message message in messages) {
       final _Transaction transaction =
-          transactions.putIfAbsent(message.id, () => new _Transaction());
+          transactions.putIfAbsent(message.id, () => _Transaction());
       if (message.type == _kRequest) {
         assert(transaction.request == null);
         transaction.request = message;
@@ -221,12 +221,12 @@
   }
 
   static _Message _toMessage(Map<String, dynamic> jsonData) {
-    return new _Message.fromRecording(jsonData);
+    return _Message.fromRecording(jsonData);
   }
 
   void send(_Request request) {
     if (!_transactions.containsKey(request.id))
-      throw new ArgumentError('No matching invocation found');
+      throw ArgumentError('No matching invocation found');
     final _Transaction transaction = _transactions.remove(request.id);
     // TODO(tvolkert): validate that `transaction.request` matches `request`
     if (transaction.response == null) {
@@ -243,7 +243,7 @@
   }
 
   @override
-  StreamSink<String> get sink => _replaySink ??= new _ReplaySink(this);
+  StreamSink<String> get sink => _replaySink ??= _ReplaySink(this);
 
   @override
   Stream<String> get stream => _controller.stream;
@@ -251,7 +251,7 @@
 
 class _ReplaySink implements StreamSink<String> {
   final ReplayVMServiceChannel channel;
-  final Completer<Null> _completer = new Completer<Null>();
+  final Completer<Null> _completer = Completer<Null>();
 
   _ReplaySink(this.channel);
 
@@ -267,18 +267,18 @@
   @override
   void add(String data) {
     if (_completer.isCompleted)
-      throw new StateError('Sink already closed');
-    channel.send(new _Request.fromString(data));
+      throw StateError('Sink already closed');
+    channel.send(_Request.fromString(data));
   }
 
   @override
   void addError(dynamic errorEvent, [StackTrace stackTrace]) {
-    throw new UnimplementedError('Add support for this if the need ever arises');
+    throw UnimplementedError('Add support for this if the need ever arises');
   }
 
   @override
   Future<dynamic> addStream(Stream<String> stream) {
-    throw new UnimplementedError('Add support for this if the need ever arises');
+    throw UnimplementedError('Add support for this if the need ever arises');
   }
 }
 
diff --git a/packages/flutter_tools/lib/src/vscode/vscode.dart b/packages/flutter_tools/lib/src/vscode/vscode.dart
index ddbd086..3ea9a3f 100644
--- a/packages/flutter_tools/lib/src/vscode/vscode.dart
+++ b/packages/flutter_tools/lib/src/vscode/vscode.dart
@@ -39,7 +39,7 @@
       final FileSystemEntity extensionDir = extensionDirs.first;
 
       _isValid = true;
-      _extensionVersion = new Version.parse(
+      _extensionVersion = Version.parse(
           extensionDir.basename.substring('$extensionIdentifier-'.length));
       _validationMessages.add('Flutter extension version $_extensionVersion');
     }
@@ -63,8 +63,8 @@
     final String versionString = _getVersionFromPackageJson(packageJsonPath);
     Version version;
     if (versionString != null)
-      version = new Version.parse(versionString);
-    return new VsCode._(installPath, extensionDirectory, version: version, edition: edition);
+      version = Version.parse(versionString);
+    return VsCode._(installPath, extensionDirectory, version: version, edition: edition);
   }
 
   bool get isValid => _isValid;
@@ -94,20 +94,20 @@
   //   $HOME/.vscode-insiders/extensions
   static List<VsCode> _installedMacOS() {
     return _findInstalled(<_VsCodeInstallLocation>[
-      new _VsCodeInstallLocation(
+      _VsCodeInstallLocation(
         fs.path.join('/Applications', 'Visual Studio Code.app', 'Contents'),
         '.vscode',
       ),
-      new _VsCodeInstallLocation(
+      _VsCodeInstallLocation(
         fs.path.join(homeDirPath, 'Applications', 'Visual Studio Code.app', 'Contents'),
         '.vscode',
       ),
-      new _VsCodeInstallLocation(
+      _VsCodeInstallLocation(
         fs.path.join('/Applications', 'Visual Studio Code - Insiders.app', 'Contents'),
         '.vscode-insiders',
         isInsiders: true,
       ),
-      new _VsCodeInstallLocation(
+      _VsCodeInstallLocation(
         fs.path.join(homeDirPath, 'Applications', 'Visual Studio Code - Insiders.app', 'Contents'),
         '.vscode-insiders',
         isInsiders: true,
@@ -133,16 +133,16 @@
     final String localAppData = platform.environment['localappdata'];
 
     return _findInstalled(<_VsCodeInstallLocation>[
-      new _VsCodeInstallLocation(fs.path.join(localAppData, 'Programs\\Microsoft VS Code'), '.vscode'),
-      new _VsCodeInstallLocation(fs.path.join(progFiles86, 'Microsoft VS Code'), '.vscode',
+      _VsCodeInstallLocation(fs.path.join(localAppData, 'Programs\\Microsoft VS Code'), '.vscode'),
+      _VsCodeInstallLocation(fs.path.join(progFiles86, 'Microsoft VS Code'), '.vscode',
           edition: '32-bit edition'),
-      new _VsCodeInstallLocation(fs.path.join(progFiles, 'Microsoft VS Code'), '.vscode',
+      _VsCodeInstallLocation(fs.path.join(progFiles, 'Microsoft VS Code'), '.vscode',
           edition: '64-bit edition'),
-      new _VsCodeInstallLocation(fs.path.join(localAppData, 'Programs\\Microsoft VS Code Insiders'), '.vscode-insiders',
+      _VsCodeInstallLocation(fs.path.join(localAppData, 'Programs\\Microsoft VS Code Insiders'), '.vscode-insiders',
           isInsiders: true),
-      new _VsCodeInstallLocation(fs.path.join(progFiles86 , 'Microsoft VS Code Insiders'), '.vscode-insiders',
+      _VsCodeInstallLocation(fs.path.join(progFiles86 , 'Microsoft VS Code Insiders'), '.vscode-insiders',
           edition: '32-bit edition', isInsiders: true),
-      new _VsCodeInstallLocation(fs.path.join(progFiles, 'Microsoft VS Code Insiders'), '.vscode-insiders',
+      _VsCodeInstallLocation(fs.path.join(progFiles, 'Microsoft VS Code Insiders'), '.vscode-insiders',
           edition: '64-bit edition', isInsiders: true),
     ]);
   }
@@ -173,7 +173,7 @@
       if (fs.isDirectorySync(searchLocation.installPath)) {
         final String extensionDirectory =
             fs.path.join(homeDirPath, searchLocation.extensionsFolder, 'extensions');
-        results.add(new VsCode.fromDirectory(searchLocation.installPath, extensionDirectory, edition: searchLocation.edition));
+        results.add(VsCode.fromDirectory(searchLocation.installPath, extensionDirectory, edition: searchLocation.edition));
       }
     }
 
diff --git a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
index 0bfe602..115f50f 100644
--- a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
+++ b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
@@ -18,7 +18,7 @@
   static Iterable<DoctorValidator> get installedValidators {
     return VsCode
         .allInstalled()
-        .map((VsCode vsCode) => new VsCodeValidator(vsCode));
+        .map((VsCode vsCode) => VsCodeValidator(vsCode));
   }
 
   @override
@@ -28,19 +28,19 @@
     final String vsCodeVersionText = _vsCode.version == Version.unknown
         ? null
         : 'version ${_vsCode.version}';
-    messages.add(new ValidationMessage('VS Code at ${_vsCode.directory}'));
+    messages.add(ValidationMessage('VS Code at ${_vsCode.directory}'));
     if (_vsCode.isValid) {
       type = ValidationType.installed;
       messages.addAll(_vsCode.validationMessages
-          .map((String m) => new ValidationMessage(m)));
+          .map((String m) => ValidationMessage(m)));
     } else {
       type = ValidationType.partial;
       messages.addAll(_vsCode.validationMessages
-          .map((String m) => new ValidationMessage.error(m)));
-      messages.add(new ValidationMessage(
+          .map((String m) => ValidationMessage.error(m)));
+      messages.add(ValidationMessage(
           'Flutter extension not installed; install from\n$extensionMarketplaceUrl'));
     }
 
-    return new ValidationResult(type, messages, statusInfo: vsCodeVersionText);
+    return ValidationResult(type, messages, statusInfo: vsCodeVersionText);
   }
 }
diff --git a/packages/flutter_tools/test/analytics_test.dart b/packages/flutter_tools/test/analytics_test.dart
index f6f2b75..ee99ace 100644
--- a/packages/flutter_tools/test/analytics_test.dart
+++ b/packages/flutter_tools/test/analytics_test.dart
@@ -51,13 +51,13 @@
 
       count = 0;
       flutterUsage.enabled = false;
-      final DoctorCommand doctorCommand = new DoctorCommand();
+      final DoctorCommand doctorCommand = DoctorCommand();
       final CommandRunner<Null>runner = createTestCommandRunner(doctorCommand);
       await runner.run(<String>['doctor']);
       expect(count, 0);
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(const Clock()),
-      Usage: () => new Usage(configDirOverride: tempDir.path),
+      FlutterVersion: () => FlutterVersion(const Clock()),
+      Usage: () => Usage(configDirOverride: tempDir.path),
     });
 
     // Ensure we don't send for the 'flutter config' command.
@@ -66,7 +66,7 @@
       flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
 
       flutterUsage.enabled = false;
-      final ConfigCommand command = new ConfigCommand();
+      final ConfigCommand command = ConfigCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['config']);
       expect(count, 0);
@@ -75,8 +75,8 @@
       await runner.run(<String>['config']);
       expect(count, 0);
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(const Clock()),
-      Usage: () => new Usage(configDirOverride: tempDir.path),
+      FlutterVersion: () => FlutterVersion(const Clock()),
+      Usage: () => Usage(configDirOverride: tempDir.path),
     });
   });
 
@@ -87,19 +87,19 @@
     List<int> mockTimes;
 
     setUp(() {
-      mockUsage = new MockUsage();
+      mockUsage = MockUsage();
       when(mockUsage.isFirstRun).thenReturn(false);
-      mockClock = new MockClock();
-      mockDoctor = new MockDoctor();
+      mockClock = MockClock();
+      mockDoctor = MockDoctor();
       when(mockClock.now()).thenAnswer(
-        (Invocation _) => new DateTime.fromMillisecondsSinceEpoch(mockTimes.removeAt(0))
+        (Invocation _) => DateTime.fromMillisecondsSinceEpoch(mockTimes.removeAt(0))
       );
     });
 
     testUsingContext('flutter commands send timing events', () async {
       mockTimes = <int>[1000, 2000];
       when(mockDoctor.diagnose(androidLicenses: false, verbose: false)).thenAnswer((_) async => true);
-      final DoctorCommand command = new DoctorCommand();
+      final DoctorCommand command = DoctorCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['doctor']);
 
@@ -118,7 +118,7 @@
     testUsingContext('doctor fail sends warning', () async {
       mockTimes = <int>[1000, 2000];
       when(mockDoctor.diagnose(androidLicenses: false, verbose: false)).thenAnswer((_) async => false);
-      final DoctorCommand command = new DoctorCommand();
+      final DoctorCommand command = DoctorCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['doctor']);
 
@@ -135,14 +135,14 @@
     });
 
     testUsingContext('single command usage path', () async {
-      final FlutterCommand doctorCommand = new DoctorCommand();
+      final FlutterCommand doctorCommand = DoctorCommand();
       expect(await doctorCommand.usagePath, 'doctor');
     }, overrides: <Type, Generator>{
       Usage: () => mockUsage,
     });
 
     testUsingContext('compound command usage path', () async {
-      final BuildCommand buildCommand = new BuildCommand();
+      final BuildCommand buildCommand = BuildCommand();
       final FlutterCommand buildApkCommand = buildCommand.subcommands['apk'];
       expect(await buildApkCommand.usagePath, 'build/apk');
     }, overrides: <Type, Generator>{
@@ -168,7 +168,7 @@
       await createTestCommandRunner().run(<String>['--version']);
       expect(count, 0);
     }, overrides: <Type, Generator>{
-      Usage: () => new Usage(
+      Usage: () => Usage(
         settingsName: 'flutter_bot_test',
         versionOverride: 'dev/unknown',
         configDirOverride: tempDir.path,
@@ -183,7 +183,7 @@
       await createTestCommandRunner().run(<String>['--version']);
       expect(count, 0);
     }, overrides: <Type, Generator>{
-      Usage: () => new Usage(
+      Usage: () => Usage(
         settingsName: 'flutter_bot_test',
         versionOverride: 'dev/unknown',
         configDirOverride: tempDir.path,
diff --git a/packages/flutter_tools/test/android/android_device_test.dart b/packages/flutter_tools/test/android/android_device_test.dart
index 46edcff..e29a7ef 100644
--- a/packages/flutter_tools/test/android/android_device_test.dart
+++ b/packages/flutter_tools/test/android/android_device_test.dart
@@ -16,7 +16,7 @@
   group('android_device', () {
     testUsingContext('stores the requested id', () {
       const String deviceId = '1234';
-      final AndroidDevice device = new AndroidDevice(deviceId);
+      final AndroidDevice device = AndroidDevice(deviceId);
       expect(device.id, deviceId);
     });
   });
@@ -81,7 +81,7 @@
   });
 
   group('isLocalEmulator', () {
-    final ProcessManager mockProcessManager = new MockProcessManager();
+    final ProcessManager mockProcessManager = MockProcessManager();
     String hardware;
     String buildCharacteristics;
 
@@ -91,17 +91,17 @@
       when(mockProcessManager.run(argThat(contains('getprop')),
           stderrEncoding: anyNamed('stderrEncoding'),
           stdoutEncoding: anyNamed('stdoutEncoding'))).thenAnswer((_) {
-        final StringBuffer buf = new StringBuffer()
+        final StringBuffer buf = StringBuffer()
           ..writeln('[ro.hardware]: [$hardware]')
           ..writeln('[ro.build.characteristics]: [$buildCharacteristics]');
-        final ProcessResult result = new ProcessResult(1, 0, buf.toString(), '');
-        return new Future<ProcessResult>.value(result);
+        final ProcessResult result = ProcessResult(1, 0, buf.toString(), '');
+        return Future<ProcessResult>.value(result);
       });
     });
 
     testUsingContext('knownPhysical', () async {
       hardware = 'samsungexynos7420';
-      final AndroidDevice device = new AndroidDevice('test');
+      final AndroidDevice device = AndroidDevice('test');
       expect(await device.isLocalEmulator, false);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -109,7 +109,7 @@
 
     testUsingContext('knownEmulator', () async {
       hardware = 'goldfish';
-      final AndroidDevice device = new AndroidDevice('test');
+      final AndroidDevice device = AndroidDevice('test');
       expect(await device.isLocalEmulator, true);
       expect(await device.supportsHardwareRendering, true);
     }, overrides: <Type, Generator>{
@@ -118,7 +118,7 @@
 
     testUsingContext('unknownPhysical', () async {
       buildCharacteristics = 'att';
-      final AndroidDevice device = new AndroidDevice('test');
+      final AndroidDevice device = AndroidDevice('test');
       expect(await device.isLocalEmulator, false);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -126,7 +126,7 @@
 
     testUsingContext('unknownEmulator', () async {
       buildCharacteristics = 'att,emulator';
-      final AndroidDevice device = new AndroidDevice('test');
+      final AndroidDevice device = AndroidDevice('test');
       expect(await device.isLocalEmulator, true);
       expect(await device.supportsHardwareRendering, true);
     }, overrides: <Type, Generator>{
diff --git a/packages/flutter_tools/test/android/android_emulator_test.dart b/packages/flutter_tools/test/android/android_emulator_test.dart
index e4256d8..28046c1 100644
--- a/packages/flutter_tools/test/android/android_emulator_test.dart
+++ b/packages/flutter_tools/test/android/android_emulator_test.dart
@@ -11,14 +11,14 @@
   group('android_emulator', () {
     testUsingContext('flags emulators without config', () {
       const String emulatorID = '1234';
-      final AndroidEmulator emulator = new AndroidEmulator(emulatorID);
+      final AndroidEmulator emulator = AndroidEmulator(emulatorID);
       expect(emulator.id, emulatorID);
       expect(emulator.hasConfig, false);
     });
     testUsingContext('flags emulators with config', () {
       const String emulatorID = '1234';
       final AndroidEmulator emulator =
-          new AndroidEmulator(emulatorID, <String, String>{'name': 'test'});
+          AndroidEmulator(emulatorID, <String, String>{'name': 'test'});
       expect(emulator.id, emulatorID);
       expect(emulator.hasConfig, true);
     });
@@ -33,7 +33,7 @@
         'avd.ini.displayname': label
       };
       final AndroidEmulator emulator =
-          new AndroidEmulator(emulatorID, properties);
+          AndroidEmulator(emulatorID, properties);
       expect(emulator.id, emulatorID);
       expect(emulator.name, name);
       expect(emulator.manufacturer, manufacturer);
diff --git a/packages/flutter_tools/test/android/android_sdk_test.dart b/packages/flutter_tools/test/android/android_sdk_test.dart
index 870a0bf..d2b6522 100644
--- a/packages/flutter_tools/test/android/android_sdk_test.dart
+++ b/packages/flutter_tools/test/android/android_sdk_test.dart
@@ -22,8 +22,8 @@
   MockProcessManager processManager;
 
   setUp(() {
-    fs = new MemoryFileSystem();
-    processManager = new MockProcessManager();
+    fs = MemoryFileSystem();
+    processManager = MockProcessManager();
   });
 
   group('android_sdk AndroidSdk', () {
@@ -76,7 +76,7 @@
       when(processManager.canRun(sdk.sdkManagerPath)).thenReturn(true);
       when(processManager.runSync(<String>[sdk.sdkManagerPath, '--version'],
           environment: argThat(isNotNull,  named: 'environment')))
-          .thenReturn(new ProcessResult(1, 0, '26.1.1\n', ''));
+          .thenReturn(ProcessResult(1, 0, '26.1.1\n', ''));
       expect(sdk.sdkManagerVersion, '26.1.1');
     }, overrides: <Type, Generator>{
       FileSystem: () => fs,
@@ -91,7 +91,7 @@
       when(processManager.canRun(sdk.sdkManagerPath)).thenReturn(true);
       when(processManager.runSync(<String>[sdk.sdkManagerPath, '--version'],
           environment: argThat(isNotNull,  named: 'environment')))
-          .thenReturn(new ProcessResult(1, 1, '26.1.1\n', 'Mystery error'));
+          .thenReturn(ProcessResult(1, 1, '26.1.1\n', 'Mystery error'));
       expect(sdk.sdkManagerVersion, isNull);
     }, overrides: <Type, Generator>{
       FileSystem: () => fs,
@@ -141,7 +141,7 @@
           expect(sdk.ndk.compilerArgs, <String>['--sysroot', realNdkSysroot]);
         }, overrides: <Type, Generator>{
           FileSystem: () => fs,
-          Platform: () => new FakePlatform(operatingSystem: os),
+          Platform: () => FakePlatform(operatingSystem: os),
         });
       });
 
@@ -158,7 +158,7 @@
           expect(explanation, contains('Can not locate ndk-bundle'));
         }, overrides: <Type, Generator>{
           FileSystem: () => fs,
-          Platform: () => new FakePlatform(operatingSystem: os),
+          Platform: () => FakePlatform(operatingSystem: os),
         });
       }
     });
diff --git a/packages/flutter_tools/test/android/android_workflow_test.dart b/packages/flutter_tools/test/android/android_workflow_test.dart
index 0f3f916..73c9dc1 100644
--- a/packages/flutter_tools/test/android/android_workflow_test.dart
+++ b/packages/flutter_tools/test/android/android_workflow_test.dart
@@ -24,35 +24,35 @@
   MockStdio stdio;
 
   setUp(() {
-    sdk = new MockAndroidSdk();
-    fs = new MemoryFileSystem();
+    sdk = MockAndroidSdk();
+    fs = MemoryFileSystem();
     fs.directory('/home/me').createSync(recursive: true);
-    processManager = new MockProcessManager();
-    stdio = new MockStdio();
+    processManager = MockProcessManager();
+    stdio = MockStdio();
   });
 
   MockProcess Function(List<String>) processMetaFactory(List<String> stdout) {
-    final Stream<List<int>> stdoutStream = new Stream<List<int>>.fromIterable(
+    final Stream<List<int>> stdoutStream = Stream<List<int>>.fromIterable(
         stdout.map((String s) => s.codeUnits));
-    return (List<String> command) => new MockProcess(stdout: stdoutStream);
+    return (List<String> command) => MockProcess(stdout: stdoutStream);
   }
 
   testUsingContext('licensesAccepted throws if cannot run sdkmanager', () async {
     processManager.succeed = false;
     when(sdk.sdkManagerPath).thenReturn('/foo/bar/sdkmanager');
-    final AndroidValidator androidValidator = new AndroidValidator();
+    final AndroidValidator androidValidator = AndroidValidator();
     expect(androidValidator.licensesAccepted, throwsToolExit());
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
 
   testUsingContext('licensesAccepted handles garbage/no output', () async {
     when(sdk.sdkManagerPath).thenReturn('/foo/bar/sdkmanager');
-    final AndroidValidator androidValidator = new AndroidValidator();
+    final AndroidValidator androidValidator = AndroidValidator();
     final LicensesAccepted result = await androidValidator.licensesAccepted;
     expect(result, equals(LicensesAccepted.unknown));
     expect(processManager.commands.first, equals('/foo/bar/sdkmanager'));
@@ -60,7 +60,7 @@
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -72,13 +72,13 @@
        'All SDK package licenses accepted.'
     ]);
 
-    final AndroidValidator androidValidator = new AndroidValidator();
+    final AndroidValidator androidValidator = AndroidValidator();
     final LicensesAccepted result = await androidValidator.licensesAccepted;
     expect(result, equals(LicensesAccepted.all));
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -91,13 +91,13 @@
       'Review licenses that have not been accepted (y/N)?',
     ]);
 
-    final AndroidValidator androidValidator = new AndroidValidator();
+    final AndroidValidator androidValidator = AndroidValidator();
     final LicensesAccepted result = await androidValidator.licensesAccepted;
     expect(result, equals(LicensesAccepted.some));
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -110,13 +110,13 @@
       'Review licenses that have not been accepted (y/N)?',
     ]);
 
-    final AndroidValidator androidValidator = new AndroidValidator();
+    final AndroidValidator androidValidator = AndroidValidator();
     final LicensesAccepted result = await androidValidator.licensesAccepted;
     expect(result, equals(LicensesAccepted.none));
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -129,7 +129,7 @@
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -142,7 +142,7 @@
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -155,7 +155,7 @@
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
@@ -168,7 +168,7 @@
   }, overrides: <Type, Generator>{
     AndroidSdk: () => sdk,
     FileSystem: () => fs,
-    Platform: () => new FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
+    Platform: () => FakePlatform()..environment = <String, String>{'HOME': '/home/me'},
     ProcessManager: () => processManager,
     Stdio: () => stdio,
   });
diff --git a/packages/flutter_tools/test/android/gradle_test.dart b/packages/flutter_tools/test/android/gradle_test.dart
index 634ddc7..af6b012 100644
--- a/packages/flutter_tools/test/android/gradle_test.dart
+++ b/packages/flutter_tools/test/android/gradle_test.dart
@@ -63,7 +63,7 @@
   });
 
   group('gradle project', () {
-    GradleProject projectFrom(String properties) => new GradleProject.fromAppProperties(properties);
+    GradleProject projectFrom(String properties) => GradleProject.fromAppProperties(properties);
 
     test('should extract build directory from app properties', () {
       final GradleProject project = projectFrom('''
@@ -115,27 +115,27 @@
       expect(project.productFlavors, <String>['free', 'paid']);
     });
     test('should provide apk file name for default build types', () {
-      final GradleProject project = new GradleProject(<String>['debug', 'profile', 'release'], <String>[], fs.directory('/some/dir'));
+      final GradleProject project = GradleProject(<String>['debug', 'profile', 'release'], <String>[], fs.directory('/some/dir'));
       expect(project.apkFileFor(BuildInfo.debug), 'app-debug.apk');
       expect(project.apkFileFor(BuildInfo.profile), 'app-profile.apk');
       expect(project.apkFileFor(BuildInfo.release), 'app-release.apk');
       expect(project.apkFileFor(const BuildInfo(BuildMode.release, 'unknown')), isNull);
     });
     test('should provide apk file name for flavored build types', () {
-      final GradleProject project = new GradleProject(<String>['debug', 'profile', 'release'], <String>['free', 'paid'], fs.directory('/some/dir'));
+      final GradleProject project = GradleProject(<String>['debug', 'profile', 'release'], <String>['free', 'paid'], fs.directory('/some/dir'));
       expect(project.apkFileFor(const BuildInfo(BuildMode.debug, 'free')), 'app-free-debug.apk');
       expect(project.apkFileFor(const BuildInfo(BuildMode.release, 'paid')), 'app-paid-release.apk');
       expect(project.apkFileFor(const BuildInfo(BuildMode.release, 'unknown')), isNull);
     });
     test('should provide assemble task name for default build types', () {
-      final GradleProject project = new GradleProject(<String>['debug', 'profile', 'release'], <String>[], fs.directory('/some/dir'));
+      final GradleProject project = GradleProject(<String>['debug', 'profile', 'release'], <String>[], fs.directory('/some/dir'));
       expect(project.assembleTaskFor(BuildInfo.debug), 'assembleDebug');
       expect(project.assembleTaskFor(BuildInfo.profile), 'assembleProfile');
       expect(project.assembleTaskFor(BuildInfo.release), 'assembleRelease');
       expect(project.assembleTaskFor(const BuildInfo(BuildMode.release, 'unknown')), isNull);
     });
     test('should provide assemble task name for flavored build types', () {
-      final GradleProject project = new GradleProject(<String>['debug', 'profile', 'release'], <String>['free', 'paid'], fs.directory('/some/dir'));
+      final GradleProject project = GradleProject(<String>['debug', 'profile', 'release'], <String>['free', 'paid'], fs.directory('/some/dir'));
       expect(project.assembleTaskFor(const BuildInfo(BuildMode.debug, 'free')), 'assembleFreeDebug');
       expect(project.assembleTaskFor(const BuildInfo(BuildMode.release, 'paid')), 'assemblePaidRelease');
       expect(project.assembleTaskFor(const BuildInfo(BuildMode.release, 'unknown')), isNull);
@@ -149,9 +149,9 @@
     FileSystem fs;
 
     setUp(() {
-      fs = new MemoryFileSystem();
-      mockArtifacts = new MockLocalEngineArtifacts();
-      mockProcessManager = new MockProcessManager();
+      fs = MemoryFileSystem();
+      mockArtifacts = MockLocalEngineArtifacts();
+      mockProcessManager = MockProcessManager();
       android = fakePlatform('android');
     });
 
@@ -331,7 +331,7 @@
 }
 
 Platform fakePlatform(String name) {
-  return new FakePlatform.fromPlatform(const LocalPlatform())..operatingSystem = name;
+  return FakePlatform.fromPlatform(const LocalPlatform())..operatingSystem = name;
 }
 
 class MockLocalEngineArtifacts extends Mock implements LocalEngineArtifacts {}
diff --git a/packages/flutter_tools/test/application_package_test.dart b/packages/flutter_tools/test/application_package_test.dart
index bdd6792..3b15cc3 100644
--- a/packages/flutter_tools/test/application_package_test.dart
+++ b/packages/flutter_tools/test/application_package_test.dart
@@ -43,12 +43,12 @@
 
   group('PrebuiltIOSApp', () {
     final Map<Type, Generator> overrides = <Type, Generator>{
-      FileSystem: () => new MemoryFileSystem(),
-      IOSWorkflow: () => new MockIosWorkFlow()
+      FileSystem: () => MemoryFileSystem(),
+      IOSWorkflow: () => MockIosWorkFlow()
     };
     testUsingContext('Error on non-existing file', () {
       final PrebuiltIOSApp iosApp =
-          new IOSApp.fromPrebuiltApp(fs.file('not_existing.ipa'));
+          IOSApp.fromPrebuiltApp(fs.file('not_existing.ipa'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(
@@ -59,7 +59,7 @@
     testUsingContext('Error on non-app-bundle folder', () {
       fs.directory('regular_folder').createSync();
       final PrebuiltIOSApp iosApp =
-          new IOSApp.fromPrebuiltApp(fs.file('regular_folder'));
+          IOSApp.fromPrebuiltApp(fs.file('regular_folder'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(
@@ -67,7 +67,7 @@
     }, overrides: overrides);
     testUsingContext('Error on no info.plist', () {
       fs.directory('bundle.app').createSync();
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(
@@ -78,7 +78,7 @@
     testUsingContext('Error on bad info.plist', () {
       fs.directory('bundle.app').createSync();
       fs.file('bundle.app/Info.plist').writeAsStringSync(badPlistData);
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(
@@ -90,7 +90,7 @@
     testUsingContext('Success with app bundle', () {
       fs.directory('bundle.app').createSync();
       fs.file('bundle.app/Info.plist').writeAsStringSync(plistData);
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('bundle.app'));
       final BufferLogger logger = context[Logger];
       expect(logger.errorText, isEmpty);
       expect(iosApp.bundleDir.path, 'bundle.app');
@@ -100,7 +100,7 @@
     testUsingContext('Bad ipa zip-file, no payload dir', () {
       fs.file('app.ipa').createSync();
       when(os.unzip(fs.file('app.ipa'), any)).thenAnswer((Invocation _) {});
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(
@@ -123,7 +123,7 @@
         fs.directory(bundlePath1).createSync(recursive: true);
         fs.directory(bundlePath2).createSync(recursive: true);
       });
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
       expect(iosApp, isNull);
       final BufferLogger logger = context[Logger];
       expect(logger.errorText,
@@ -144,7 +144,7 @@
             .file(fs.path.join(bundleAppDir.path, 'Info.plist'))
             .writeAsStringSync(plistData);
       });
-      final PrebuiltIOSApp iosApp = new IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
+      final PrebuiltIOSApp iosApp = IOSApp.fromPrebuiltApp(fs.file('app.ipa'));
       final BufferLogger logger = context[Logger];
       expect(logger.errorText, isEmpty);
       expect(iosApp.bundleDir.path, endsWith('bundle.app'));
diff --git a/packages/flutter_tools/test/artifacts_test.dart b/packages/flutter_tools/test/artifacts_test.dart
index ac1c8fe..24a8c82 100644
--- a/packages/flutter_tools/test/artifacts_test.dart
+++ b/packages/flutter_tools/test/artifacts_test.dart
@@ -19,7 +19,7 @@
 
     setUp(() {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_artifacts_test_cached.');
-      artifacts = new CachedArtifacts();
+      artifacts = CachedArtifacts();
     });
 
     tearDown(() {
@@ -40,8 +40,8 @@
           fs.path.join(tempDir.path, 'bin', 'cache', 'artifacts', 'engine', 'linux-x64', 'flutter_tester')
       );
     }, overrides: <Type, Generator> {
-      Cache: () => new Cache(rootOverride: tempDir),
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Cache: () => Cache(rootOverride: tempDir),
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
 
     testUsingContext('getEngineType', () {
@@ -58,8 +58,8 @@
           'darwin-x64'
       );
     }, overrides: <Type, Generator> {
-      Cache: () => new Cache(rootOverride: tempDir),
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Cache: () => Cache(rootOverride: tempDir),
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
   });
 
@@ -70,7 +70,7 @@
 
     setUp(() {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_artifacts_test_local.');
-      artifacts = new LocalEngineArtifacts(tempDir.path,
+      artifacts = LocalEngineArtifacts(tempDir.path,
         fs.path.join(tempDir.path, 'out', 'android_debug_unopt'),
         fs.path.join(tempDir.path, 'out', 'host_debug_unopt'),
       );
@@ -102,7 +102,7 @@
         fs.path.join(tempDir.path, 'out', 'host_debug_unopt', 'dart-sdk')
       );
     }, overrides: <Type, Generator> {
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
 
     testUsingContext('getEngineType', () {
@@ -119,7 +119,7 @@
           'android_debug_unopt'
       );
     }, overrides: <Type, Generator> {
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
   });
 }
diff --git a/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart b/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
index 393b89d..4c4eb21 100644
--- a/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
@@ -104,7 +104,7 @@
     FileSystem testFileSystem;
 
     setUp(() async {
-      testFileSystem = new MemoryFileSystem(
+      testFileSystem = MemoryFileSystem(
         style: platform.isWindows
           ? FileSystemStyle.windows
           : FileSystemStyle.posix,
diff --git a/packages/flutter_tools/test/asset_bundle_package_test.dart b/packages/flutter_tools/test/asset_bundle_package_test.dart
index 8e63c6c..17b3c42 100644
--- a/packages/flutter_tools/test/asset_bundle_package_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_package_test.dart
@@ -31,7 +31,7 @@
     if (assets == null) {
       assetsSection = '';
     } else {
-      final StringBuffer buffer = new StringBuffer();
+      final StringBuffer buffer = StringBuffer();
       buffer.write('''
 flutter:
      assets:
@@ -104,7 +104,7 @@
   FileSystem testFileSystem;
 
   setUp(() async {
-    testFileSystem = new MemoryFileSystem(
+    testFileSystem = MemoryFileSystem(
       style: platform.isWindows
         ? FileSystemStyle.windows
         : FileSystemStyle.posix,
diff --git a/packages/flutter_tools/test/asset_bundle_test.dart b/packages/flutter_tools/test/asset_bundle_test.dart
index 50991b2..7a0bb00 100644
--- a/packages/flutter_tools/test/asset_bundle_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_test.dart
@@ -24,7 +24,7 @@
     FileSystem testFileSystem;
 
     setUp(() async {
-      testFileSystem = new MemoryFileSystem(
+      testFileSystem = MemoryFileSystem(
         style: platform.isWindows
           ? FileSystemStyle.windows
           : FileSystemStyle.posix,
diff --git a/packages/flutter_tools/test/asset_bundle_variant_test.dart b/packages/flutter_tools/test/asset_bundle_variant_test.dart
index fd50929..9a7b9f5 100644
--- a/packages/flutter_tools/test/asset_bundle_variant_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_variant_test.dart
@@ -29,7 +29,7 @@
   group('AssetBundle asset variants', () {
     FileSystem testFileSystem;
     setUp(() async {
-      testFileSystem = new MemoryFileSystem(
+      testFileSystem = MemoryFileSystem(
         style: platform.isWindows
           ? FileSystemStyle.windows
           : FileSystemStyle.posix,
diff --git a/packages/flutter_tools/test/asset_test.dart b/packages/flutter_tools/test/asset_test.dart
index 79bd611..c681ca5 100644
--- a/packages/flutter_tools/test/asset_test.dart
+++ b/packages/flutter_tools/test/asset_test.dart
@@ -47,5 +47,5 @@
 }
 
 Future<String> getValueAsString(String key, AssetBundle asset) async {
-  return new String.fromCharCodes(await asset.entries[key].contentsAsBytes());
+  return String.fromCharCodes(await asset.entries[key].contentsAsBytes());
 }
diff --git a/packages/flutter_tools/test/base/build_test.dart b/packages/flutter_tools/test/base/build_test.dart
index b95e72b..663b6b0 100644
--- a/packages/flutter_tools/test/base/build_test.dart
+++ b/packages/flutter_tools/test/base/build_test.dart
@@ -75,12 +75,12 @@
   group('SnapshotType', () {
     test('throws, if build mode is null', () {
       expect(
-        () => new SnapshotType(TargetPlatform.android_x64, null),
+        () => SnapshotType(TargetPlatform.android_x64, null),
         throwsA(anything),
       );
     });
     test('does not throw, if target platform is null', () {
-      expect(new SnapshotType(null, BuildMode.release), isNotNull);
+      expect(SnapshotType(null, BuildMode.release), isNotNull);
     });
   });
 
@@ -100,7 +100,7 @@
     MockXcode mockXcode;
 
     setUp(() async {
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
       fs.file(kVmEntrypoints).createSync();
       fs.file(kIoEntries).createSync();
       fs.file(kSnapshotDart).createSync();
@@ -108,18 +108,18 @@
       fs.file(kEntrypointsExtraJson).createSync();
       fs.file('.packages').writeAsStringSync('sky_engine:file:///flutter/bin/cache/pkg/sky_engine/lib/');
 
-      skyEnginePath = fs.path.fromUri(new Uri.file('/flutter/bin/cache/pkg/sky_engine'));
+      skyEnginePath = fs.path.fromUri(Uri.file('/flutter/bin/cache/pkg/sky_engine'));
       fs.directory(fs.path.join(skyEnginePath, 'lib', 'ui')).createSync(recursive: true);
       fs.directory(fs.path.join(skyEnginePath, 'sdk_ext')).createSync(recursive: true);
       fs.file(fs.path.join(skyEnginePath, '.packages')).createSync();
       fs.file(fs.path.join(skyEnginePath, 'lib', 'ui', 'ui.dart')).createSync();
       fs.file(fs.path.join(skyEnginePath, 'sdk_ext', 'vmservice_io.dart')).createSync();
 
-      genSnapshot = new _FakeGenSnapshot();
-      snapshotter = new AOTSnapshotter();
-      mockAndroidSdk = new MockAndroidSdk();
-      mockArtifacts = new MockArtifacts();
-      mockXcode = new MockXcode();
+      genSnapshot = _FakeGenSnapshot();
+      snapshotter = AOTSnapshotter();
+      mockAndroidSdk = MockAndroidSdk();
+      mockArtifacts = MockArtifacts();
+      mockXcode = MockXcode();
       for (BuildMode mode in BuildMode.values) {
         when(mockArtifacts.getArtifactPath(Artifact.dartVmEntryPointsTxt, any, mode)).thenReturn(kVmEntrypoints);
         when(mockArtifacts.getArtifactPath(Artifact.dartIoEntriesTxt, any, mode)).thenReturn(kIoEntries);
@@ -184,9 +184,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'snapshot_assembly.S')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.ios,
@@ -230,9 +230,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'snapshot_assembly.S')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.ios,
@@ -277,9 +277,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'vm_snapshot_data')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.android_arm,
@@ -328,9 +328,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'vm_snapshot_data')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.android_arm64,
@@ -374,9 +374,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'snapshot_assembly.S')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.ios,
@@ -420,9 +420,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'snapshot_assembly.S')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.ios,
@@ -485,9 +485,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'vm_snapshot_data')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.android_arm,
@@ -536,9 +536,9 @@
         fs.path.join(outputPath, 'snapshot.d'): '${fs.path.join(outputPath, 'vm_snapshot_data')} : ',
       };
 
-      final RunResult successResult = new RunResult(new ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
-      when(xcode.cc(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
-      when(xcode.clang(any)).thenAnswer((_) => new Future<RunResult>.value(successResult));
+      final RunResult successResult = RunResult(ProcessResult(1, 0, '', ''), <String>['command name', 'arguments...']);
+      when(xcode.cc(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
+      when(xcode.clang(any)).thenAnswer((_) => Future<RunResult>.value(successResult));
 
       final int genSnapshotExitCode = await snapshotter.build(
         platform: TargetPlatform.android_arm64,
@@ -583,13 +583,13 @@
     MockArtifacts mockArtifacts;
 
     setUp(() async {
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
       fs.file(kTrace).createSync();
 
-      genSnapshot = new _FakeGenSnapshot();
-      snapshotter = new CoreJITSnapshotter();
-      mockAndroidSdk = new MockAndroidSdk();
-      mockArtifacts = new MockArtifacts();
+      genSnapshot = _FakeGenSnapshot();
+      snapshotter = CoreJITSnapshotter();
+      mockAndroidSdk = MockAndroidSdk();
+      mockArtifacts = MockArtifacts();
     });
 
     final Map<Type, Generator> contextOverrides = <Type, Generator>{
diff --git a/packages/flutter_tools/test/base/context_test.dart b/packages/flutter_tools/test/base/context_test.dart
index 6b79495..f7291dc 100644
--- a/packages/flutter_tools/test/base/context_test.dart
+++ b/packages/flutter_tools/test/base/context_test.dart
@@ -74,8 +74,8 @@
 
     group('operator[]', () {
       test('still finds values if async code runs after body has finished', () async {
-        final Completer<void> outer = new Completer<void>();
-        final Completer<void> inner = new Completer<void>();
+        final Completer<void> outer = Completer<void>();
+        final Completer<void> inner = Completer<void>();
         String value;
         await context.run<void>(
           body: () {
@@ -99,7 +99,7 @@
         String value;
         await context.run<void>(
           body: () async {
-            final StringBuffer buf = new StringBuffer(context[String]);
+            final StringBuffer buf = StringBuffer(context[String]);
             buf.write(context[String]);
             await context.run<void>(body: () {
               buf.write(context[String]);
@@ -122,7 +122,7 @@
         String value;
         await context.run(
           body: () async {
-            final StringBuffer buf = new StringBuffer(context[String]);
+            final StringBuffer buf = StringBuffer(context[String]);
             buf.write(context[String]);
             await context.run<void>(body: () {
               buf.write(context[String]);
diff --git a/packages/flutter_tools/test/base/file_system_test.dart b/packages/flutter_tools/test/base/file_system_test.dart
index 7f6c6c9..3652e79 100644
--- a/packages/flutter_tools/test/base/file_system_test.dart
+++ b/packages/flutter_tools/test/base/file_system_test.dart
@@ -14,7 +14,7 @@
     MemoryFileSystem fs;
 
     setUp(() {
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
     });
 
     testUsingContext('recursively creates a directory if it does not exist', () async {
@@ -32,7 +32,7 @@
     /// Test file_systems.copyDirectorySync() using MemoryFileSystem.
     /// Copies between 2 instances of file systems which is also supported by copyDirectorySync().
     test('test directory copy', () async {
-      final MemoryFileSystem sourceMemoryFs = new MemoryFileSystem();
+      final MemoryFileSystem sourceMemoryFs = MemoryFileSystem();
       const String sourcePath = '/some/origin';
       final Directory sourceDirectory = await sourceMemoryFs.directory(sourcePath).create(recursive: true);
       sourceMemoryFs.currentDirectory = sourcePath;
@@ -42,7 +42,7 @@
       sourceMemoryFs.directory('empty_directory').createSync();
 
       // Copy to another memory file system instance.
-      final MemoryFileSystem targetMemoryFs = new MemoryFileSystem();
+      final MemoryFileSystem targetMemoryFs = MemoryFileSystem();
       const String targetPath = '/some/non-existent/target';
       final Directory targetDirectory = targetMemoryFs.directory(targetPath);
       copyDirectorySync(sourceDirectory, targetDirectory);
@@ -92,7 +92,7 @@
       expect(escapePath('foo\\bar\\cool.dart'), 'foo\\\\bar\\\\cool.dart');
       expect(escapePath('C:/foo/bar/cool.dart'), 'C:/foo/bar/cool.dart');
     }, overrides: <Type, Generator>{
-      Platform: () => new FakePlatform(operatingSystem: 'windows')
+      Platform: () => FakePlatform(operatingSystem: 'windows')
     });
 
     testUsingContext('on Linux', () {
@@ -100,7 +100,7 @@
       expect(escapePath('foo/bar/cool.dart'), 'foo/bar/cool.dart');
       expect(escapePath('foo\\cool.dart'), 'foo\\cool.dart');
     }, overrides: <Type, Generator>{
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
   });
 }
diff --git a/packages/flutter_tools/test/base/fingerprint_test.dart b/packages/flutter_tools/test/base/fingerprint_test.dart
index bf989fc..e9e15e7 100644
--- a/packages/flutter_tools/test/base/fingerprint_test.dart
+++ b/packages/flutter_tools/test/base/fingerprint_test.dart
@@ -22,8 +22,8 @@
     MockFlutterVersion mockVersion;
 
     setUp(() {
-      fs = new MemoryFileSystem();
-      mockVersion = new MockFlutterVersion();
+      fs = MemoryFileSystem();
+      mockVersion = MockFlutterVersion();
       when(mockVersion.frameworkRevision).thenReturn(kVersion);
     });
 
@@ -36,7 +36,7 @@
       await fs.file('b.dart').create();
       await fs.file('depfile').create();
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart'],
         depfilePaths: <String>['depfile'],
@@ -51,7 +51,7 @@
     testUsingContext('creates fingerprint with specified properties and files', () async {
       await fs.file('a.dart').create();
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart'],
         properties: <String, String>{
@@ -60,7 +60,7 @@
         },
       );
       final Fingerprint fingerprint = await fingerprinter.buildFingerprint();
-      expect(fingerprint, new Fingerprint.fromBuildInputs(<String, String>{
+      expect(fingerprint, Fingerprint.fromBuildInputs(<String, String>{
         'foo': 'bar',
         'wibble': 'wobble',
       }, <String>['a.dart']));
@@ -71,7 +71,7 @@
       await fs.file('b.dart').create();
       await fs.file('depfile').writeAsString('depfile : b.dart');
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart'],
         depfilePaths: <String>['depfile'],
@@ -81,7 +81,7 @@
         },
       );
       final Fingerprint fingerprint = await fingerprinter.buildFingerprint();
-      expect(fingerprint, new Fingerprint.fromBuildInputs(<String, String>{
+      expect(fingerprint, Fingerprint.fromBuildInputs(<String, String>{
         'bar': 'baz',
         'wobble': 'womble',
       }, <String>['a.dart', 'b.dart']));
@@ -91,7 +91,7 @@
       await fs.file('a.dart').create();
       await fs.file('b.dart').create();
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         properties: <String, String>{
@@ -106,7 +106,7 @@
       await fs.file('a.dart').create();
       await fs.file('b.dart').create();
 
-      final Fingerprinter fingerprinter1 = new Fingerprinter(
+      final Fingerprinter fingerprinter1 = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         properties: <String, String>{
@@ -116,7 +116,7 @@
       );
       await fingerprinter1.writeFingerprint();
 
-      final Fingerprinter fingerprinter2 = new Fingerprinter(
+      final Fingerprinter fingerprinter2 = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         properties: <String, String>{
@@ -133,7 +133,7 @@
       await fs.file('depfile').writeAsString('depfile : b.dart');
 
       // Write a valid fingerprint
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         depfilePaths: <String>['depfile'],
@@ -146,7 +146,7 @@
 
       // Write a corrupt depfile.
       await fs.file('depfile').writeAsString('');
-      final Fingerprinter badFingerprinter = new Fingerprinter(
+      final Fingerprinter badFingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         depfilePaths: <String>['depfile'],
@@ -164,7 +164,7 @@
       await fs.file('b.dart').create();
       await fs.file('out.fingerprint').writeAsString('** not JSON **');
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         depfilePaths: <String>['depfile'],
@@ -180,7 +180,7 @@
       await fs.file('a.dart').create();
       await fs.file('b.dart').create();
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart', 'b.dart'],
         properties: <String, String>{
@@ -193,7 +193,7 @@
     }, overrides: contextOverrides);
 
     testUsingContext('fails to write fingerprint if inputs are missing', () async {
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart'],
         properties: <String, String>{
@@ -210,7 +210,7 @@
       await fs.file('ab.dart').create();
       await fs.file('depfile').writeAsString('depfile : ab.dart c.dart');
 
-      final Fingerprinter fingerprinter = new Fingerprinter(
+      final Fingerprinter fingerprinter = Fingerprinter(
         fingerprintPath: 'out.fingerprint',
         paths: <String>['a.dart'],
         depfilePaths: <String>['depfile'],
@@ -230,7 +230,7 @@
     const String kVersion = '123456abcdef';
 
     setUp(() {
-      mockVersion = new MockFlutterVersion();
+      mockVersion = MockFlutterVersion();
       when(mockVersion.frameworkRevision).thenReturn(kVersion);
     });
 
@@ -238,13 +238,13 @@
       MemoryFileSystem fs;
 
       setUp(() {
-        fs = new MemoryFileSystem();
+        fs = MemoryFileSystem();
       });
 
       testUsingContext('throws if any input file does not exist', () async {
         await fs.file('a.dart').create();
         expect(
-          () => new Fingerprint.fromBuildInputs(<String, String>{}, <String>['a.dart', 'b.dart']),
+          () => Fingerprint.fromBuildInputs(<String, String>{}, <String>['a.dart', 'b.dart']),
           throwsArgumentError,
         );
       }, overrides: <Type, Generator>{ FileSystem: () => fs });
@@ -252,7 +252,7 @@
       testUsingContext('populates checksums for valid files', () async {
         await fs.file('a.dart').writeAsString('This is a');
         await fs.file('b.dart').writeAsString('This is b');
-        final Fingerprint fingerprint = new Fingerprint.fromBuildInputs(<String, String>{}, <String>['a.dart', 'b.dart']);
+        final Fingerprint fingerprint = Fingerprint.fromBuildInputs(<String, String>{}, <String>['a.dart', 'b.dart']);
 
         final Map<String, dynamic> jsonObject = json.decode(fingerprint.toJson());
         expect(jsonObject['files'], hasLength(2));
@@ -261,14 +261,14 @@
       }, overrides: <Type, Generator>{ FileSystem: () => fs });
 
       testUsingContext('includes framework version', () {
-        final Fingerprint fingerprint = new Fingerprint.fromBuildInputs(<String, String>{}, <String>[]);
+        final Fingerprint fingerprint = Fingerprint.fromBuildInputs(<String, String>{}, <String>[]);
 
         final Map<String, dynamic> jsonObject = json.decode(fingerprint.toJson());
         expect(jsonObject['version'], mockVersion.frameworkRevision);
       }, overrides: <Type, Generator>{ FlutterVersion: () => mockVersion });
 
       testUsingContext('includes provided properties', () {
-        final Fingerprint fingerprint = new Fingerprint.fromBuildInputs(<String, String>{'a': 'A', 'b': 'B'}, <String>[]);
+        final Fingerprint fingerprint = Fingerprint.fromBuildInputs(<String, String>{'a': 'A', 'b': 'B'}, <String>[]);
 
         final Map<String, dynamic> jsonObject = json.decode(fingerprint.toJson());
         expect(jsonObject['properties'], hasLength(2));
@@ -279,7 +279,7 @@
 
     group('fromJson', () {
       testUsingContext('throws if JSON is invalid', () async {
-        expect(() => new Fingerprint.fromJson('<xml></xml>'), throwsA(anything));
+        expect(() => Fingerprint.fromJson('<xml></xml>'), throwsA(anything));
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -297,7 +297,7 @@
             'b.dart': '6f144e08b58cd0925328610fad7ac07c',
           },
         });
-        final Fingerprint fingerprint = new Fingerprint.fromJson(jsonString);
+        final Fingerprint fingerprint = Fingerprint.fromJson(jsonString);
         final Map<String, dynamic> content = json.decode(fingerprint.toJson());
         expect(content, hasLength(3));
         expect(content['version'], mockVersion.frameworkRevision);
@@ -318,7 +318,7 @@
           'properties':<String, String>{},
           'files':<String, String>{},
         });
-        expect(() => new Fingerprint.fromJson(jsonString), throwsArgumentError);
+        expect(() => Fingerprint.fromJson(jsonString), throwsArgumentError);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -328,7 +328,7 @@
           'properties':<String, String>{},
           'files':<String, String>{},
         });
-        expect(() => new Fingerprint.fromJson(jsonString), throwsArgumentError);
+        expect(() => Fingerprint.fromJson(jsonString), throwsArgumentError);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -337,7 +337,7 @@
         final String jsonString = json.encode(<String, dynamic>{
           'version': kVersion,
         });
-        expect(new Fingerprint.fromJson(jsonString), new Fingerprint.fromBuildInputs(<String, String>{}, <String>[]));
+        expect(Fingerprint.fromJson(jsonString), Fingerprint.fromBuildInputs(<String, String>{}, <String>[]));
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -352,11 +352,11 @@
           },
           'files': <String, dynamic>{},
         };
-        final Map<String, dynamic> b = new Map<String, dynamic>.from(a);
+        final Map<String, dynamic> b = Map<String, dynamic>.from(a);
         b['properties'] = <String, String>{
           'buildMode': BuildMode.release.toString(),
         };
-        expect(new Fingerprint.fromJson(json.encode(a)) == new Fingerprint.fromJson(json.encode(b)), isFalse);
+        expect(Fingerprint.fromJson(json.encode(a)) == Fingerprint.fromJson(json.encode(b)), isFalse);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -370,12 +370,12 @@
             'b.dart': '6f144e08b58cd0925328610fad7ac07c',
           },
         };
-        final Map<String, dynamic> b = new Map<String, dynamic>.from(a);
+        final Map<String, dynamic> b = Map<String, dynamic>.from(a);
         b['files'] = <String, dynamic>{
           'a.dart': '8a21a15fad560b799f6731d436c1b698',
           'b.dart': '6f144e08b58cd0925328610fad7ac07d',
         };
-        expect(new Fingerprint.fromJson(json.encode(a)) == new Fingerprint.fromJson(json.encode(b)), isFalse);
+        expect(Fingerprint.fromJson(json.encode(a)) == Fingerprint.fromJson(json.encode(b)), isFalse);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -389,12 +389,12 @@
             'b.dart': '6f144e08b58cd0925328610fad7ac07c',
           },
         };
-        final Map<String, dynamic> b = new Map<String, dynamic>.from(a);
+        final Map<String, dynamic> b = Map<String, dynamic>.from(a);
         b['files'] = <String, dynamic>{
           'a.dart': '8a21a15fad560b799f6731d436c1b698',
           'c.dart': '6f144e08b58cd0925328610fad7ac07d',
         };
-        expect(new Fingerprint.fromJson(json.encode(a)) == new Fingerprint.fromJson(json.encode(b)), isFalse);
+        expect(Fingerprint.fromJson(json.encode(a)) == Fingerprint.fromJson(json.encode(b)), isFalse);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
@@ -412,15 +412,15 @@
             'b.dart': '6f144e08b58cd0925328610fad7ac07c',
           },
         };
-        expect(new Fingerprint.fromJson(json.encode(a)) == new Fingerprint.fromJson(json.encode(a)), isTrue);
+        expect(Fingerprint.fromJson(json.encode(a)) == Fingerprint.fromJson(json.encode(a)), isTrue);
       }, overrides: <Type, Generator>{
         FlutterVersion: () => mockVersion,
       });
     });
     group('hashCode', () {
       testUsingContext('is consistent with equals, even if map entries are reordered', () async {
-        final Fingerprint a = new Fingerprint.fromJson('{"version":"$kVersion","properties":{"a":"A","b":"B"},"files":{}}');
-        final Fingerprint b = new Fingerprint.fromJson('{"version":"$kVersion","properties":{"b":"B","a":"A"},"files":{}}');
+        final Fingerprint a = Fingerprint.fromJson('{"version":"$kVersion","properties":{"a":"A","b":"B"},"files":{}}');
+        final Fingerprint b = Fingerprint.fromJson('{"version":"$kVersion","properties":{"b":"B","a":"A"},"files":{}}');
         expect(a, b);
         expect(a.hashCode, b.hashCode);
       }, overrides: <Type, Generator>{
@@ -434,7 +434,7 @@
     MemoryFileSystem fs;
 
     setUp(() {
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
     });
 
     final Map<Type, Generator> contextOverrides = <Type, Generator>{ FileSystem: () => fs };
diff --git a/packages/flutter_tools/test/base/flags_test.dart b/packages/flutter_tools/test/base/flags_test.dart
index cd79cbf..8f65690 100644
--- a/packages/flutter_tools/test/base/flags_test.dart
+++ b/packages/flutter_tools/test/base/flags_test.dart
@@ -18,7 +18,7 @@
 
   Future<Null> runCommand(Iterable<String> flags, _TestMethod testMethod) async {
     final List<String> args = <String>['test']..addAll(flags);
-    final _TestCommand command = new _TestCommand(testMethod);
+    final _TestCommand command = _TestCommand(testMethod);
     await createTestCommandRunner(command).run(args);
   }
 
diff --git a/packages/flutter_tools/test/base/io_test.dart b/packages/flutter_tools/test/base/io_test.dart
index be3cd3c..21013d5 100644
--- a/packages/flutter_tools/test/base/io_test.dart
+++ b/packages/flutter_tools/test/base/io_test.dart
@@ -15,9 +15,9 @@
   group('ProcessSignal', () {
 
     testUsingContext('signals are properly delegated', () async {
-      final MockIoProcessSignal mockSignal = new MockIoProcessSignal();
-      final ProcessSignal signalUnderTest = new ProcessSignal(mockSignal);
-      final StreamController<io.ProcessSignal> controller = new StreamController<io.ProcessSignal>();
+      final MockIoProcessSignal mockSignal = MockIoProcessSignal();
+      final ProcessSignal signalUnderTest = ProcessSignal(mockSignal);
+      final StreamController<io.ProcessSignal> controller = StreamController<io.ProcessSignal>();
 
       when(mockSignal.watch()).thenAnswer((Invocation invocation) => controller.stream);
       controller.add(mockSignal);
diff --git a/packages/flutter_tools/test/base/logger_test.dart b/packages/flutter_tools/test/base/logger_test.dart
index c2fe605..fd8a1bd 100644
--- a/packages/flutter_tools/test/base/logger_test.dart
+++ b/packages/flutter_tools/test/base/logger_test.dart
@@ -15,8 +15,8 @@
 void main() {
   group('AppContext', () {
     test('error', () async {
-      final BufferLogger mockLogger = new BufferLogger();
-      final VerboseLogger verboseLogger = new VerboseLogger(mockLogger);
+      final BufferLogger mockLogger = BufferLogger();
+      final VerboseLogger verboseLogger = VerboseLogger(mockLogger);
       verboseLogger.supportsColor = false;
 
       verboseLogger.printStatus('Hey Hey Hey Hey');
@@ -35,13 +35,13 @@
     AnsiSpinner ansiSpinner;
     AnsiStatus ansiStatus;
     int called;
-    final RegExp secondDigits = new RegExp(r'[^\b]\b\b\b\b\b[0-9]+[.][0-9]+(?:s|ms)');
+    final RegExp secondDigits = RegExp(r'[^\b]\b\b\b\b\b[0-9]+[.][0-9]+(?:s|ms)');
 
     setUp(() {
-      mockStdio = new MockStdio();
-      ansiSpinner = new AnsiSpinner();
+      mockStdio = MockStdio();
+      ansiSpinner = AnsiSpinner();
       called = 0;
-      ansiStatus = new AnsiStatus(
+      ansiStatus = AnsiStatus(
         message: 'Hello world',
         expectSlowOperation: true,
         padding: 20,
@@ -133,7 +133,7 @@
       ]);
     }, overrides: <Type, Generator>{
       Stdio: () => mockStdio,
-      Logger: () => new StdoutLogger(),
+      Logger: () => StdoutLogger(),
     });
 
     testUsingContext('sequential startProgress calls with VerboseLogger and StdoutLogger', () async {
@@ -148,7 +148,7 @@
       ]);
     }, overrides: <Type, Generator>{
       Stdio: () => mockStdio,
-      Logger: () => new VerboseLogger(new StdoutLogger()),
+      Logger: () => VerboseLogger(StdoutLogger()),
     });
 
     testUsingContext('sequential startProgress calls with BufferLogger', () async {
@@ -157,7 +157,7 @@
       final BufferLogger logger = context[Logger];
       expect(logger.statusText, 'AAA\nBBB\n');
     }, overrides: <Type, Generator>{
-      Logger: () => new BufferLogger(),
+      Logger: () => BufferLogger(),
     });
   });
 }
diff --git a/packages/flutter_tools/test/base/logs_test.dart b/packages/flutter_tools/test/base/logs_test.dart
index ff74ed1..ab503c6 100644
--- a/packages/flutter_tools/test/base/logs_test.dart
+++ b/packages/flutter_tools/test/base/logs_test.dart
@@ -12,7 +12,7 @@
 void main() {
   group('logs', () {
     testUsingContext('fail with a bad device id', () async {
-      final LogsCommand command = new LogsCommand();
+      final LogsCommand command = LogsCommand();
       applyMocksToCommand(command);
       try {
         await createTestCommandRunner(command).run(<String>['-d', 'abc123', 'logs']);
diff --git a/packages/flutter_tools/test/base/net_test.dart b/packages/flutter_tools/test/base/net_test.dart
index 05ef212..9eb65b0 100644
--- a/packages/flutter_tools/test/base/net_test.dart
+++ b/packages/flutter_tools/test/base/net_test.dart
@@ -14,7 +14,7 @@
 void main() {
   testUsingContext('retry from 500', () async {
     String error;
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       fetchUrl(Uri.parse('http://example.invalid/')).then((List<int> value) {
         error = 'test completed unexpectedly';
       }, onError: (dynamic exception) {
@@ -32,12 +32,12 @@
     expect(testLogger.errorText, isEmpty);
     expect(error, isNull);
   }, overrides: <Type, Generator>{
-    HttpClientFactory: () => () => new MockHttpClient(500),
+    HttpClientFactory: () => () => MockHttpClient(500),
   });
 
   testUsingContext('retry from network error', () async {
     String error;
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       fetchUrl(Uri.parse('http://example.invalid/')).then((List<int> value) {
         error = 'test completed unexpectedly';
       }, onError: (dynamic exception) {
@@ -55,12 +55,12 @@
     expect(testLogger.errorText, isEmpty);
     expect(error, isNull);
   }, overrides: <Type, Generator>{
-    HttpClientFactory: () => () => new MockHttpClient(200),
+    HttpClientFactory: () => () => MockHttpClient(200),
   });
 
   testUsingContext('retry from SocketException', () async {
     String error;
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       fetchUrl(Uri.parse('http://example.invalid/')).then((List<int> value) {
         error = 'test completed unexpectedly';
       }, onError: (dynamic exception) {
@@ -79,14 +79,14 @@
     expect(error, isNull);
     expect(testLogger.traceText, contains('Download error: SocketException'));
   }, overrides: <Type, Generator>{
-    HttpClientFactory: () => () => new MockHttpClientThrowing(
+    HttpClientFactory: () => () => MockHttpClientThrowing(
       const io.SocketException('test exception handling'),
     ),
   });
 
   testUsingContext('no retry from HandshakeException', () async {
     String error;
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       fetchUrl(Uri.parse('http://example.invalid/')).then((List<int> value) {
         error = 'test completed unexpectedly';
       }, onError: (dynamic exception) {
@@ -99,7 +99,7 @@
     expect(error, startsWith('test failed'));
     expect(testLogger.traceText, contains('HandshakeException'));
   }, overrides: <Type, Generator>{
-    HttpClientFactory: () => () => new MockHttpClientThrowing(
+    HttpClientFactory: () => () => MockHttpClientThrowing(
       const io.HandshakeException('test exception handling'),
     ),
   });
@@ -128,7 +128,7 @@
 
   @override
   Future<io.HttpClientRequest> getUrl(Uri url) async {
-    return new MockHttpClientRequest(statusCode);
+    return MockHttpClientRequest(statusCode);
   }
 
   @override
@@ -144,7 +144,7 @@
 
   @override
   Future<io.HttpClientResponse> close() async {
-    return new MockHttpClientResponse(statusCode);
+    return MockHttpClientResponse(statusCode);
   }
 
   @override
@@ -166,7 +166,7 @@
   StreamSubscription<List<int>> listen(void onData(List<int> event), {
     Function onError, void onDone(), bool cancelOnError
   }) {
-    return new Stream<List<int>>.fromFuture(new Future<List<int>>.error(const io.SocketException('test')))
+    return Stream<List<int>>.fromFuture(Future<List<int>>.error(const io.SocketException('test')))
       .listen(onData, onError: onError, onDone: onDone, cancelOnError: cancelOnError);
   }
 
diff --git a/packages/flutter_tools/test/base/os_test.dart b/packages/flutter_tools/test/base/os_test.dart
index d4385d7..21752a4 100644
--- a/packages/flutter_tools/test/base/os_test.dart
+++ b/packages/flutter_tools/test/base/os_test.dart
@@ -20,42 +20,42 @@
   ProcessManager mockProcessManager;
 
   setUp(() {
-    mockProcessManager = new MockProcessManager();
+    mockProcessManager = MockProcessManager();
   });
 
   group('which on POSIX', () {
 
     testUsingContext('returns null when executable does not exist', () async {
       when(mockProcessManager.runSync(<String>['which', kExecutable]))
-          .thenReturn(new ProcessResult(0, 1, null, null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 1, null, null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       expect(utils.which(kExecutable), isNull);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
 
     testUsingContext('returns exactly one result', () async {
       when(mockProcessManager.runSync(<String>['which', 'foo']))
-          .thenReturn(new ProcessResult(0, 0, kPath1, null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 0, kPath1, null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       expect(utils.which(kExecutable).path, kPath1);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
 
     testUsingContext('returns all results for whichAll', () async {
       when(mockProcessManager.runSync(<String>['which', '-a', kExecutable]))
-          .thenReturn(new ProcessResult(0, 0, '$kPath1\n$kPath2', null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 0, '$kPath1\n$kPath2', null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       final List<File> result = utils.whichAll(kExecutable);
       expect(result, hasLength(2));
       expect(result[0].path, kPath1);
       expect(result[1].path, kPath2);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'linux')
+      Platform: () => FakePlatform(operatingSystem: 'linux')
     });
   });
 
@@ -63,35 +63,35 @@
 
     testUsingContext('returns null when executable does not exist', () async {
       when(mockProcessManager.runSync(<String>['where', kExecutable]))
-          .thenReturn(new ProcessResult(0, 1, null, null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 1, null, null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       expect(utils.which(kExecutable), isNull);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'windows')
+      Platform: () => FakePlatform(operatingSystem: 'windows')
     });
 
     testUsingContext('returns exactly one result', () async {
       when(mockProcessManager.runSync(<String>['where', 'foo']))
-          .thenReturn(new ProcessResult(0, 0, '$kPath1\n$kPath2', null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 0, '$kPath1\n$kPath2', null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       expect(utils.which(kExecutable).path, kPath1);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'windows')
+      Platform: () => FakePlatform(operatingSystem: 'windows')
     });
 
     testUsingContext('returns all results for whichAll', () async {
       when(mockProcessManager.runSync(<String>['where', kExecutable]))
-          .thenReturn(new ProcessResult(0, 0, '$kPath1\n$kPath2', null));
-      final OperatingSystemUtils utils = new OperatingSystemUtils();
+          .thenReturn(ProcessResult(0, 0, '$kPath1\n$kPath2', null));
+      final OperatingSystemUtils utils = OperatingSystemUtils();
       final List<File> result = utils.whichAll(kExecutable);
       expect(result, hasLength(2));
       expect(result[0].path, kPath1);
       expect(result[1].path, kPath2);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      Platform: () => new FakePlatform(operatingSystem: 'windows')
+      Platform: () => FakePlatform(operatingSystem: 'windows')
     });
   });
 }
diff --git a/packages/flutter_tools/test/base/os_utils_test.dart b/packages/flutter_tools/test/base/os_utils_test.dart
index 27c9849..6df3407 100644
--- a/packages/flutter_tools/test/base/os_utils_test.dart
+++ b/packages/flutter_tools/test/base/os_utils_test.dart
@@ -33,7 +33,7 @@
         expect(mode.substring(0, 3), endsWith('x'));
       }
     }, overrides: <Type, Generator> {
-      OperatingSystemUtils: () => new OperatingSystemUtils(),
+      OperatingSystemUtils: () => OperatingSystemUtils(),
     });
   });
 }
diff --git a/packages/flutter_tools/test/base/terminal_test.dart b/packages/flutter_tools/test/base/terminal_test.dart
index 9660fc0..53d9221 100644
--- a/packages/flutter_tools/test/base/terminal_test.dart
+++ b/packages/flutter_tools/test/base/terminal_test.dart
@@ -14,14 +14,14 @@
     AnsiTerminal terminalUnderTest;
 
     setUp(() {
-      terminalUnderTest = new TestTerminal();
+      terminalUnderTest = TestTerminal();
     });
 
     testUsingContext('character prompt', () async {
-      mockStdInStream = new Stream<String>.fromFutures(<Future<String>>[
-        new Future<String>.value('d'), // Not in accepted list.
-        new Future<String>.value('\n'), // Not in accepted list
-        new Future<String>.value('b'),
+      mockStdInStream = Stream<String>.fromFutures(<Future<String>>[
+        Future<String>.value('d'), // Not in accepted list.
+        Future<String>.value('\n'), // Not in accepted list
+        Future<String>.value('b'),
       ]).asBroadcastStream();
       final String choice =
           await terminalUnderTest.promptForCharInput(
@@ -39,8 +39,8 @@
     });
 
     testUsingContext('default character choice without displayAcceptedCharacters', () async {
-      mockStdInStream = new Stream<String>.fromFutures(<Future<String>>[
-        new Future<String>.value('\n'), // Not in accepted list
+      mockStdInStream = Stream<String>.fromFutures(<Future<String>>[
+        Future<String>.value('\n'), // Not in accepted list
       ]).asBroadcastStream();
       final String choice =
           await terminalUnderTest.promptForCharInput(
diff --git a/packages/flutter_tools/test/base_utils_test.dart b/packages/flutter_tools/test/base_utils_test.dart
index d4d032f..8cb771a 100644
--- a/packages/flutter_tools/test/base_utils_test.dart
+++ b/packages/flutter_tools/test/base_utils_test.dart
@@ -11,7 +11,7 @@
 void main() {
   group('ItemListNotifier', () {
     test('sends notifications', () async {
-      final ItemListNotifier<String> list = new ItemListNotifier<String>();
+      final ItemListNotifier<String> list = ItemListNotifier<String>();
       expect(list.items, isEmpty);
 
       final Future<List<String>> addedStreamItems = list.onAdded.toList();
diff --git a/packages/flutter_tools/test/cache_test.dart b/packages/flutter_tools/test/cache_test.dart
index 4797379..2c3e03f 100644
--- a/packages/flutter_tools/test/cache_test.dart
+++ b/packages/flutter_tools/test/cache_test.dart
@@ -40,55 +40,55 @@
       await Cache.lock();
       Cache.checkLockAcquired();
     }, overrides: <Type, Generator>{
-      FileSystem: () => new MockFileSystem(),
+      FileSystem: () => MockFileSystem(),
     });
 
     testUsingContext('should not throw when FLUTTER_ALREADY_LOCKED is set', () async {
       Cache.checkLockAcquired();
     }, overrides: <Type, Generator>{
-      Platform: () => new FakePlatform()..environment = <String, String>{'FLUTTER_ALREADY_LOCKED': 'true'},
+      Platform: () => FakePlatform()..environment = <String, String>{'FLUTTER_ALREADY_LOCKED': 'true'},
     });
   });
 
   group('Cache', () {
     test('should not be up to date, if some cached artifact is not', () {
-      final CachedArtifact artifact1 = new MockCachedArtifact();
-      final CachedArtifact artifact2 = new MockCachedArtifact();
+      final CachedArtifact artifact1 = MockCachedArtifact();
+      final CachedArtifact artifact2 = MockCachedArtifact();
       when(artifact1.isUpToDate()).thenReturn(true);
       when(artifact2.isUpToDate()).thenReturn(false);
-      final Cache cache = new Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
+      final Cache cache = Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
       expect(cache.isUpToDate(), isFalse);
     });
     test('should be up to date, if all cached artifacts are', () {
-      final CachedArtifact artifact1 = new MockCachedArtifact();
-      final CachedArtifact artifact2 = new MockCachedArtifact();
+      final CachedArtifact artifact1 = MockCachedArtifact();
+      final CachedArtifact artifact2 = MockCachedArtifact();
       when(artifact1.isUpToDate()).thenReturn(true);
       when(artifact2.isUpToDate()).thenReturn(true);
-      final Cache cache = new Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
+      final Cache cache = Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
       expect(cache.isUpToDate(), isTrue);
     });
     test('should update cached artifacts which are not up to date', () async {
-      final CachedArtifact artifact1 = new MockCachedArtifact();
-      final CachedArtifact artifact2 = new MockCachedArtifact();
+      final CachedArtifact artifact1 = MockCachedArtifact();
+      final CachedArtifact artifact2 = MockCachedArtifact();
       when(artifact1.isUpToDate()).thenReturn(true);
       when(artifact2.isUpToDate()).thenReturn(false);
-      final Cache cache = new Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
+      final Cache cache = Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
       await cache.updateAll();
       verifyNever(artifact1.update());
       verify(artifact2.update());
     });
     testUsingContext('failed storage.googleapis.com download shows China warning', () async {
-      final CachedArtifact artifact1 = new MockCachedArtifact();
-      final CachedArtifact artifact2 = new MockCachedArtifact();
+      final CachedArtifact artifact1 = MockCachedArtifact();
+      final CachedArtifact artifact2 = MockCachedArtifact();
       when(artifact1.isUpToDate()).thenReturn(false);
       when(artifact2.isUpToDate()).thenReturn(false);
-      final MockInternetAddress address = new MockInternetAddress();
+      final MockInternetAddress address = MockInternetAddress();
       when(address.host).thenReturn('storage.googleapis.com');
-      when(artifact1.update()).thenThrow(new SocketException(
+      when(artifact1.update()).thenThrow(SocketException(
         'Connection reset by peer',
         address: address,
       ));
-      final Cache cache = new Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
+      final Cache cache = Cache(artifacts: <CachedArtifact>[artifact1, artifact2]);
       try {
         await cache.updateAll();
         fail('Mock thrown exception expected');
@@ -109,23 +109,23 @@
     expect(flattenNameSubdirs(Uri.parse('http://docs.flutter.io/foo/bar')), 'docs.flutter.io/foo/bar');
     expect(flattenNameSubdirs(Uri.parse('https://www.flutter.io')), 'www.flutter.io');
   }, overrides: <Type, Generator>{
-    FileSystem: () => new MockFileSystem(),
+    FileSystem: () => MockFileSystem(),
   });
 }
 
 class MockFileSystem extends ForwardingFileSystem {
-  MockFileSystem() : super(new MemoryFileSystem());
+  MockFileSystem() : super(MemoryFileSystem());
 
   @override
   File file(dynamic path) {
-    return new MockFile();
+    return MockFile();
   }
 }
 
 class MockFile extends Mock implements File {
   @override
   Future<RandomAccessFile> open({FileMode mode = FileMode.read}) async {
-    return new MockRandomAccessFile();
+    return MockRandomAccessFile();
   }
 }
 
diff --git a/packages/flutter_tools/test/channel_test.dart b/packages/flutter_tools/test/channel_test.dart
index ff832d5..ed12ded 100644
--- a/packages/flutter_tools/test/channel_test.dart
+++ b/packages/flutter_tools/test/channel_test.dart
@@ -19,30 +19,30 @@
 import 'src/context.dart';
 
 Process createMockProcess({int exitCode = 0, String stdout = '', String stderr = ''}) {
-  final Stream<List<int>> stdoutStream = new Stream<List<int>>.fromIterable(<List<int>>[
+  final Stream<List<int>> stdoutStream = Stream<List<int>>.fromIterable(<List<int>>[
     utf8.encode(stdout),
   ]);
-  final Stream<List<int>> stderrStream = new Stream<List<int>>.fromIterable(<List<int>>[
+  final Stream<List<int>> stderrStream = Stream<List<int>>.fromIterable(<List<int>>[
     utf8.encode(stderr),
   ]);
-  final Process process = new MockProcess();
+  final Process process = MockProcess();
 
   when(process.stdout).thenAnswer((_) => stdoutStream);
   when(process.stderr).thenAnswer((_) => stderrStream);
-  when(process.exitCode).thenAnswer((_) => new Future<int>.value(exitCode));
+  when(process.exitCode).thenAnswer((_) => Future<int>.value(exitCode));
   return process;
 }
 
 void main() {
   group('channel', () {
-    final MockProcessManager mockProcessManager = new MockProcessManager();
+    final MockProcessManager mockProcessManager = MockProcessManager();
 
     setUpAll(() {
       Cache.disableLocking();
     });
 
     testUsingContext('list', () async {
-      final ChannelCommand command = new ChannelCommand();
+      final ChannelCommand command = ChannelCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['channel']);
       expect(testLogger.errorText, hasLength(0));
@@ -62,9 +62,9 @@
         <String>['git', 'branch', '-r'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(process));
+      )).thenAnswer((_) => Future<Process>.value(process));
 
-      final ChannelCommand command = new ChannelCommand();
+      final ChannelCommand command = ChannelCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['channel']);
 
@@ -93,19 +93,19 @@
         <String>['git', 'fetch'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
       when(mockProcessManager.start(
         <String>['git', 'show-ref', '--verify', '--quiet', 'refs/heads/beta'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
       when(mockProcessManager.start(
         <String>['git', 'checkout', 'beta', '--'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
 
-      final ChannelCommand command = new ChannelCommand();
+      final ChannelCommand command = ChannelCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['channel', 'beta']);
 
@@ -129,7 +129,7 @@
       expect(testLogger.errorText, hasLength(0));
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      FileSystem: () => new MemoryFileSystem(),
+      FileSystem: () => MemoryFileSystem(),
     });
 
     // This verifies that bug https://github.com/flutter/flutter/issues/21134
@@ -139,17 +139,17 @@
         <String>['git', 'fetch'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
       when(mockProcessManager.start(
         <String>['git', 'show-ref', '--verify', '--quiet', 'refs/heads/beta'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
       when(mockProcessManager.start(
         <String>['git', 'checkout', 'beta', '--'],
         workingDirectory: anyNamed('workingDirectory'),
         environment: anyNamed('environment'),
-      )).thenAnswer((_) => new Future<Process>.value(createMockProcess()));
+      )).thenAnswer((_) => Future<Process>.value(createMockProcess()));
 
       final File versionCheckFile = Cache.instance.getStampFileFor(
         VersionCheckStamp.kFlutterVersionCheckStampFile,
@@ -165,7 +165,7 @@
         }
       ''');
 
-      final ChannelCommand command = new ChannelCommand();
+      final ChannelCommand command = ChannelCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['channel', 'beta']);
 
@@ -190,7 +190,7 @@
       expect(versionCheckFile.existsSync(), isFalse);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
-      FileSystem: () => new MemoryFileSystem(),
+      FileSystem: () => MemoryFileSystem(),
     });
   });
 }
diff --git a/packages/flutter_tools/test/commands/analyze_continuously_test.dart b/packages/flutter_tools/test/commands/analyze_continuously_test.dart
index 49763f5..d03cf66 100644
--- a/packages/flutter_tools/test/commands/analyze_continuously_test.dart
+++ b/packages/flutter_tools/test/commands/analyze_continuously_test.dart
@@ -34,7 +34,7 @@
 
       await pubGet(context: PubContext.flutterTests, directory: tempDir.path);
 
-      server = new AnalysisServer(dartSdkPath, <String>[tempDir.path]);
+      server = AnalysisServer(dartSdkPath, <String>[tempDir.path]);
 
       int errorCount = 0;
       final Future<bool> onDone = server.onAnalyzing.where((bool analyzing) => analyzing == false).first;
@@ -54,7 +54,7 @@
 
     await pubGet(context: PubContext.flutterTests, directory: tempDir.path);
 
-    server = new AnalysisServer(dartSdkPath, <String>[tempDir.path]);
+    server = AnalysisServer(dartSdkPath, <String>[tempDir.path]);
 
     int errorCount = 0;
     final Future<bool> onDone = server.onAnalyzing.where((bool analyzing) => analyzing == false).first;
@@ -73,7 +73,7 @@
   testUsingContext('Returns no errors when source is error-free', () async {
     const String contents = "StringBuffer bar = StringBuffer('baz');";
     tempDir.childFile('main.dart').writeAsStringSync(contents);
-    server = new AnalysisServer(dartSdkPath, <String>[tempDir.path]);
+    server = AnalysisServer(dartSdkPath, <String>[tempDir.path]);
 
     int errorCount = 0;
     final Future<bool> onDone = server.onAnalyzing.where((bool analyzing) => analyzing == false).first;
diff --git a/packages/flutter_tools/test/commands/analyze_once_test.dart b/packages/flutter_tools/test/commands/analyze_once_test.dart
index 8ada5d0..638c60e 100644
--- a/packages/flutter_tools/test/commands/analyze_once_test.dart
+++ b/packages/flutter_tools/test/commands/analyze_once_test.dart
@@ -40,7 +40,7 @@
     // Create a project to be analyzed
     testUsingContext('flutter create', () async {
       await runCommand(
-        command: new CreateCommand(),
+        command: CreateCommand(),
         arguments: <String>['create', projectPath],
         statusTextContains: <String>[
           'All done!',
@@ -53,7 +53,7 @@
     // Analyze in the current directory - no arguments
     testUsingContext('working directory', () async {
       await runCommand(
-        command: new AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
+        command: AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
         arguments: <String>['analyze'],
         statusTextContains: <String>['No issues found!'],
       );
@@ -62,7 +62,7 @@
     // Analyze a specific file outside the current directory
     testUsingContext('passing one file throws', () async {
       await runCommand(
-        command: new AnalyzeCommand(),
+        command: AnalyzeCommand(),
         arguments: <String>['analyze', libMain.path],
         toolExit: true,
         exitMessageContains: 'is not a directory',
@@ -89,7 +89,7 @@
 
       // Analyze in the current directory - no arguments
       await runCommand(
-        command: new AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
+        command: AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
         arguments: <String>['analyze'],
         statusTextContains: <String>[
           'Analyzing',
@@ -115,7 +115,7 @@
 
       // Analyze in the current directory - no arguments
       await runCommand(
-        command: new AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
+        command: AnalyzeCommand(workingDirectory: fs.directory(projectPath)),
         arguments: <String>['analyze'],
         statusTextContains: <String>[
           'Analyzing',
@@ -149,7 +149,7 @@
 
         // Analyze in the current directory - no arguments
         await runCommand(
-          command: new AnalyzeCommand(workingDirectory: tempDir),
+          command: AnalyzeCommand(workingDirectory: tempDir),
           arguments: <String>['analyze'],
           statusTextContains: <String>[
             'Analyzing',
@@ -170,7 +170,7 @@
       tempDir.childFile('main.dart').writeAsStringSync(contents);
       try {
         await runCommand(
-          command: new AnalyzeCommand(workingDirectory: fs.directory(tempDir)),
+          command: AnalyzeCommand(workingDirectory: fs.directory(tempDir)),
           arguments: <String>['analyze'],
           statusTextContains: <String>['No issues found!'],
         );
diff --git a/packages/flutter_tools/test/commands/analyze_test.dart b/packages/flutter_tools/test/commands/analyze_test.dart
index d86b574..115a3d0 100644
--- a/packages/flutter_tools/test/commands/analyze_test.dart
+++ b/packages/flutter_tools/test/commands/analyze_test.dart
@@ -17,7 +17,7 @@
   Directory tempDir;
 
   setUp(() {
-    fs = new MemoryFileSystem();
+    fs = MemoryFileSystem();
     fs.directory(_kFlutterRoot).createSync(recursive: true);
     Cache.flutterRoot = _kFlutterRoot;
     tempDir = fs.systemTempDirectory.createTempSync('flutter_analysis_test.');
diff --git a/packages/flutter_tools/test/commands/attach_test.dart b/packages/flutter_tools/test/commands/attach_test.dart
index 8326f2b..9f4e67c 100644
--- a/packages/flutter_tools/test/commands/attach_test.dart
+++ b/packages/flutter_tools/test/commands/attach_test.dart
@@ -21,7 +21,7 @@
 
 void main() {
   group('attach', () {
-    final FileSystem testFileSystem = new MemoryFileSystem(
+    final FileSystem testFileSystem = MemoryFileSystem(
       style: platform.isWindows ? FileSystemStyle.windows : FileSystemStyle
           .posix,
     );
@@ -41,9 +41,9 @@
       MockAndroidDevice device;
 
       setUp(() {
-        mockLogReader = new MockDeviceLogReader();
-        portForwarder = new MockPortForwarder();
-        device = new MockAndroidDevice();
+        mockLogReader = MockDeviceLogReader();
+        portForwarder = MockPortForwarder();
+        device = MockAndroidDevice();
         when(device.getLogReader()).thenAnswer((_) {
           // Now that the reader is used, start writing messages to it.
           Timer.run(() {
@@ -58,7 +58,7 @@
         when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
             .thenAnswer((_) async => hostPort);
         when(portForwarder.forwardedPorts).thenReturn(
-            <ForwardedPort>[new ForwardedPort(hostPort, devicePort)]);
+            <ForwardedPort>[ForwardedPort(hostPort, devicePort)]);
         when(portForwarder.unforward(any)).thenAnswer((_) async => null);
 
         // We cannot add the device to a device manager because that is
@@ -75,7 +75,7 @@
       testUsingContext('finds observatory port and forwards', () async {
         testDeviceManager.addDevice(device);
 
-        final AttachCommand command = new AttachCommand();
+        final AttachCommand command = AttachCommand();
 
         await createTestCommandRunner(command).run(<String>['attach']);
 
@@ -94,7 +94,7 @@
         const String projectRoot = '/build-output/project-root';
         const String outputDill = '/tmp/output.dill';
 
-        final MockHotRunnerFactory mockHotRunnerFactory = new MockHotRunnerFactory();
+        final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
         when(
           mockHotRunnerFactory.build(
             any,
@@ -105,9 +105,9 @@
             packagesFilePath: anyNamed('packagesFilePath'),
             usesTerminalUI: anyNamed('usesTerminalUI'),
           ),
-        )..thenReturn(new MockHotRunner());
+        )..thenReturn(MockHotRunner());
 
-        final AttachCommand command = new AttachCommand(
+        final AttachCommand command = AttachCommand(
           hotRunnerFactory: mockHotRunnerFactory,
         );
         await createTestCommandRunner(command).run(<String>[
@@ -156,22 +156,22 @@
     testUsingContext('selects specified target', () async {
       const int devicePort = 499;
       const int hostPort = 42;
-      final MockDeviceLogReader mockLogReader = new MockDeviceLogReader();
-      final MockPortForwarder portForwarder = new MockPortForwarder();
-      final MockAndroidDevice device = new MockAndroidDevice();
-      final MockHotRunnerFactory mockHotRunnerFactory = new MockHotRunnerFactory();
+      final MockDeviceLogReader mockLogReader = MockDeviceLogReader();
+      final MockPortForwarder portForwarder = MockPortForwarder();
+      final MockAndroidDevice device = MockAndroidDevice();
+      final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
       when(device.portForwarder).thenReturn(portForwarder);
       when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
           .thenAnswer((_) async => hostPort);
       when(portForwarder.forwardedPorts).thenReturn(
-          <ForwardedPort>[new ForwardedPort(hostPort, devicePort)]);
+          <ForwardedPort>[ForwardedPort(hostPort, devicePort)]);
       when(portForwarder.unforward(any)).thenAnswer((_) async => null);
       when(mockHotRunnerFactory.build(any,
           target: anyNamed('target'),
           debuggingOptions: anyNamed('debuggingOptions'),
           packagesFilePath: anyNamed('packagesFilePath'),
           usesTerminalUI: anyNamed('usesTerminalUI'))).thenReturn(
-          new MockHotRunner());
+          MockHotRunner());
 
       testDeviceManager.addDevice(device);
       when(device.getLogReader()).thenAnswer((_) {
@@ -190,7 +190,7 @@
       // Delete the main.dart file to be sure that attach works without it.
       fs.file('lib/main.dart').deleteSync();
 
-      final AttachCommand command = new AttachCommand(
+      final AttachCommand command = AttachCommand(
           hotRunnerFactory: mockHotRunnerFactory);
       await createTestCommandRunner(command).run(
           <String>['attach', '-t', foo.path, '-v']);
@@ -207,17 +207,17 @@
     testUsingContext('forwards to given port', () async {
       const int devicePort = 499;
       const int hostPort = 42;
-      final MockPortForwarder portForwarder = new MockPortForwarder();
-      final MockAndroidDevice device = new MockAndroidDevice();
+      final MockPortForwarder portForwarder = MockPortForwarder();
+      final MockAndroidDevice device = MockAndroidDevice();
 
       when(device.portForwarder).thenReturn(portForwarder);
       when(portForwarder.forward(devicePort)).thenAnswer((_) async => hostPort);
       when(portForwarder.forwardedPorts).thenReturn(
-          <ForwardedPort>[new ForwardedPort(hostPort, devicePort)]);
+          <ForwardedPort>[ForwardedPort(hostPort, devicePort)]);
       when(portForwarder.unforward(any)).thenAnswer((_) async => null);
       testDeviceManager.addDevice(device);
 
-      final AttachCommand command = new AttachCommand();
+      final AttachCommand command = AttachCommand();
 
       await createTestCommandRunner(command).run(
           <String>['attach', '--debug-port', '$devicePort']);
@@ -228,7 +228,7 @@
     },);
 
     testUsingContext('exits when no device connected', () async {
-      final AttachCommand command = new AttachCommand();
+      final AttachCommand command = AttachCommand();
       await expectLater(
         createTestCommandRunner(command).run(<String>['attach']),
         throwsA(isInstanceOf<ToolExit>()),
@@ -240,7 +240,7 @@
 
     testUsingContext('exits when multiple devices connected', () async {
       Device aDeviceWithId(String id) {
-        final MockAndroidDevice device = new MockAndroidDevice();
+        final MockAndroidDevice device = MockAndroidDevice();
         when(device.name).thenReturn('d$id');
         when(device.id).thenReturn(id);
         when(device.isLocalEmulator).thenAnswer((_) async => false);
@@ -248,7 +248,7 @@
         return device;
       }
 
-      final AttachCommand command = new AttachCommand();
+      final AttachCommand command = AttachCommand();
       testDeviceManager.addDevice(aDeviceWithId('xx1'));
       testDeviceManager.addDevice(aDeviceWithId('yy2'));
       await expectLater(
diff --git a/packages/flutter_tools/test/commands/config_test.dart b/packages/flutter_tools/test/commands/config_test.dart
index d383da4..c93c204 100644
--- a/packages/flutter_tools/test/commands/config_test.dart
+++ b/packages/flutter_tools/test/commands/config_test.dart
@@ -19,14 +19,14 @@
   MockAndroidSdk mockAndroidSdk;
 
   setUp(() {
-    mockAndroidStudio = new MockAndroidStudio();
-    mockAndroidSdk = new MockAndroidSdk();
+    mockAndroidStudio = MockAndroidStudio();
+    mockAndroidSdk = MockAndroidSdk();
   });
 
   group('config', () {
     testUsingContext('machine flag', () async {
       final BufferLogger logger = context[Logger];
-      final ConfigCommand command = new ConfigCommand();
+      final ConfigCommand command = ConfigCommand();
       await command.handleMachine();
 
       expect(logger.statusText, isNotEmpty);
diff --git a/packages/flutter_tools/test/commands/create_test.dart b/packages/flutter_tools/test/commands/create_test.dart
index 33530b6..ab848f0 100644
--- a/packages/flutter_tools/test/commands/create_test.dart
+++ b/packages/flutter_tools/test/commands/create_test.dart
@@ -34,10 +34,10 @@
     });
 
     setUp(() {
-      loggingProcessManager = new LoggingProcessManager();
+      loggingProcessManager = LoggingProcessManager();
       tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
       projectDir = tempDir.childDirectory('flutter_project');
-      mockFlutterVersion = new MockFlutterVersion();
+      mockFlutterVersion = MockFlutterVersion();
     });
 
     tearDown(() {
@@ -239,7 +239,7 @@
       when(mockFlutterVersion.frameworkRevision).thenReturn(frameworkRevision);
       when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
 
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       await runner.run(<String>['create', '--no-pub', '--org', 'com.foo.bar', projectDir.path]);
@@ -303,7 +303,7 @@
     testUsingContext('can re-gen over existing project', () async {
       Cache.flutterRoot = '../..';
 
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       await runner.run(<String>['create', '--no-pub', projectDir.path]);
@@ -394,7 +394,7 @@
     testUsingContext('produces sensible error message', () async {
       Cache.flutterRoot = '../..';
 
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       expect(
@@ -406,7 +406,7 @@
     // Verify that we fail with an error code when the file exists.
     testUsingContext('fails when file exists', () async {
       Cache.flutterRoot = '../..';
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       final File existingFile = fs.file('${projectDir.path.toString()}/bad');
       if (!existingFile.existsSync())
@@ -419,7 +419,7 @@
 
     testUsingContext('fails when invalid package name', () async {
       Cache.flutterRoot = '../..';
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       expect(
         runner.run(<String>['create', fs.path.join(projectDir.path, 'invalidName')]),
@@ -430,7 +430,7 @@
     testUsingContext('invokes pub offline when requested', () async {
       Cache.flutterRoot = '../..';
 
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       await runner.run(<String>['create', '--pub', '--offline', projectDir.path]);
@@ -446,7 +446,7 @@
     testUsingContext('invokes pub online when offline not requested', () async {
       Cache.flutterRoot = '../..';
 
-      final CreateCommand command = new CreateCommand();
+      final CreateCommand command = CreateCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       await runner.run(<String>['create', '--pub', projectDir.path]);
@@ -465,7 +465,7 @@
     Directory dir, List<String> createArgs, List<String> expectedPaths,
     { List<String> unexpectedPaths = const <String>[], bool plugin = false}) async {
   Cache.flutterRoot = '../..';
-  final CreateCommand command = new CreateCommand();
+  final CreateCommand command = CreateCommand();
   final CommandRunner<Null> runner = createTestCommandRunner(command);
   final List<String> args = <String>['create'];
   args.addAll(createArgs);
diff --git a/packages/flutter_tools/test/commands/daemon_test.dart b/packages/flutter_tools/test/commands/daemon_test.dart
index f880e59..15301da 100644
--- a/packages/flutter_tools/test/commands/daemon_test.dart
+++ b/packages/flutter_tools/test/commands/daemon_test.dart
@@ -21,7 +21,7 @@
 
   group('daemon', () {
     setUp(() {
-      notifyingLogger = new NotifyingLogger();
+      notifyingLogger = NotifyingLogger();
     });
 
     tearDown(() {
@@ -31,9 +31,9 @@
     });
 
     testUsingContext('daemon.version command should succeed', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         notifyingLogger: notifyingLogger
@@ -48,9 +48,9 @@
     });
 
     testUsingContext('printError should send daemon.logMessage event', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         notifyingLogger: notifyingLogger,
@@ -71,12 +71,12 @@
     });
 
     testUsingContext('printStatus should log to stdout when logToStdout is enabled', () async {
-      final StringBuffer buffer = new StringBuffer();
+      final StringBuffer buffer = StringBuffer();
 
       await runZoned(() async {
-        final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-        final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-        daemon = new Daemon(
+        final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+        final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+        daemon = Daemon(
           commands.stream,
           responses.add,
           notifyingLogger: notifyingLogger,
@@ -84,8 +84,8 @@
         );
         printStatus('daemon.logMessage test');
         // Service the event loop.
-        await new Future<Null>.value();
-      }, zoneSpecification: new ZoneSpecification(print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
+        await Future<Null>.value();
+      }, zoneSpecification: ZoneSpecification(print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
         buffer.writeln(line);
       }));
 
@@ -95,9 +95,9 @@
     });
 
     testUsingContext('daemon.shutdown command should stop daemon', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         notifyingLogger: notifyingLogger
@@ -110,12 +110,12 @@
     });
 
     testUsingContext('app.restart without an appId should report an error', () async {
-      final DaemonCommand command = new DaemonCommand();
+      final DaemonCommand command = DaemonCommand();
       applyMocksToCommand(command);
 
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         daemonCommand: command,
@@ -131,12 +131,12 @@
     });
 
     testUsingContext('ext.flutter.debugPaint via service extension without an appId should report an error', () async {
-      final DaemonCommand command = new DaemonCommand();
+      final DaemonCommand command = DaemonCommand();
       applyMocksToCommand(command);
 
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
           commands.stream,
           responses.add,
           daemonCommand: command,
@@ -158,12 +158,12 @@
     });
 
     testUsingContext('app.stop without appId should report an error', () async {
-      final DaemonCommand command = new DaemonCommand();
+      final DaemonCommand command = DaemonCommand();
       applyMocksToCommand(command);
 
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         daemonCommand: command,
@@ -179,9 +179,9 @@
     });
 
     testUsingContext('daemon should send showMessage on startup if no Android devices are available', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
           commands.stream,
           responses.add,
           notifyingLogger: notifyingLogger,
@@ -195,14 +195,14 @@
       expect(response['params'], containsPair('title', 'Unable to list devices'));
       expect(response['params'], containsPair('message', contains('Unable to discover Android devices')));
     }, overrides: <Type, Generator>{
-      AndroidWorkflow: () => new MockAndroidWorkflow(canListDevices: false),
-      IOSWorkflow: () => new MockIOSWorkflow(),
+      AndroidWorkflow: () => MockAndroidWorkflow(canListDevices: false),
+      IOSWorkflow: () => MockIOSWorkflow(),
     });
 
     testUsingContext('device.getDevices should respond with list', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         notifyingLogger: notifyingLogger
@@ -216,17 +216,17 @@
     });
 
     testUsingContext('should send device.added event when device is discovered', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
           commands.stream,
           responses.add,
           notifyingLogger: notifyingLogger
       );
 
-      final MockPollingDeviceDiscovery discoverer = new MockPollingDeviceDiscovery();
+      final MockPollingDeviceDiscovery discoverer = MockPollingDeviceDiscovery();
       daemon.deviceDomain.addDeviceDiscoverer(discoverer);
-      discoverer.addDevice(new MockAndroidDevice());
+      discoverer.addDevice(MockAndroidDevice());
 
       return await responses.stream.skipWhile(_isConnectedEvent).first.then((Map<String, dynamic> response) async {
         expect(response['event'], 'device.added');
@@ -239,17 +239,17 @@
         await commands.close();
       });
     }, overrides: <Type, Generator>{
-      AndroidWorkflow: () => new MockAndroidWorkflow(),
-      IOSWorkflow: () => new MockIOSWorkflow(),
+      AndroidWorkflow: () => MockAndroidWorkflow(),
+      IOSWorkflow: () => MockIOSWorkflow(),
     });
 
     testUsingContext('emulator.launch without an emulatorId should report an error', () async {
-      final DaemonCommand command = new DaemonCommand();
+      final DaemonCommand command = DaemonCommand();
       applyMocksToCommand(command);
 
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         daemonCommand: command,
@@ -265,9 +265,9 @@
     });
 
     testUsingContext('emulator.getEmulators should respond with list', () async {
-      final StreamController<Map<String, dynamic>> commands = new StreamController<Map<String, dynamic>>();
-      final StreamController<Map<String, dynamic>> responses = new StreamController<Map<String, dynamic>>();
-      daemon = new Daemon(
+      final StreamController<Map<String, dynamic>> commands = StreamController<Map<String, dynamic>>();
+      final StreamController<Map<String, dynamic>> responses = StreamController<Map<String, dynamic>>();
+      daemon = Daemon(
         commands.stream,
         responses.add,
         notifyingLogger: notifyingLogger
@@ -288,11 +288,11 @@
         '{"code":0,"message":""}'
       );
       expect(
-        jsonEncodeObject(new OperationResult(1, 'foo')),
+        jsonEncodeObject(OperationResult(1, 'foo')),
         '{"code":1,"message":"foo"}'
       );
       expect(
-        jsonEncodeObject(new OperationResult(0, 'foo', hintMessage: 'my hint', hintId: 'myId')),
+        jsonEncodeObject(OperationResult(0, 'foo', hintMessage: 'my hint', hintId: 'myId')),
         '{"code":0,"message":"foo","hintMessage":"my hint","hintId":"myId"}'
       );
     });
diff --git a/packages/flutter_tools/test/commands/devices_test.dart b/packages/flutter_tools/test/commands/devices_test.dart
index 14b9087..f3fa126 100644
--- a/packages/flutter_tools/test/commands/devices_test.dart
+++ b/packages/flutter_tools/test/commands/devices_test.dart
@@ -23,18 +23,18 @@
     });
 
     testUsingContext('returns 0 when called', () async {
-      final DevicesCommand command = new DevicesCommand();
+      final DevicesCommand command = DevicesCommand();
       await createTestCommandRunner(command).run(<String>['devices']);
     });
 
     testUsingContext('no error when no connected devices', () async {
-      final DevicesCommand command = new DevicesCommand();
+      final DevicesCommand command = DevicesCommand();
       await createTestCommandRunner(command).run(<String>['devices']);
       expect(testLogger.statusText, contains('No devices detected'));
     }, overrides: <Type, Generator>{
       AndroidSdk: () => null,
-      DeviceManager: () => new DeviceManager(),
-      ProcessManager: () => new MockProcessManager(),
+      DeviceManager: () => DeviceManager(),
+      ProcessManager: () => MockProcessManager(),
     });
   });
 }
@@ -50,7 +50,7 @@
         Encoding stdoutEncoding = systemEncoding,
         Encoding stderrEncoding = systemEncoding,
       }) async {
-    return new ProcessResult(0, 0, '', '');
+    return ProcessResult(0, 0, '', '');
   }
 
   @override
@@ -63,6 +63,6 @@
         Encoding stdoutEncoding = systemEncoding,
         Encoding stderrEncoding = systemEncoding,
       }) {
-    return new ProcessResult(0, 0, '', '');
+    return ProcessResult(0, 0, '', '');
   }
 }
diff --git a/packages/flutter_tools/test/commands/doctor_test.dart b/packages/flutter_tools/test/commands/doctor_test.dart
index d192d1b..c74a159 100644
--- a/packages/flutter_tools/test/commands/doctor_test.dart
+++ b/packages/flutter_tools/test/commands/doctor_test.dart
@@ -16,7 +16,7 @@
   group('doctor', () {
     testUsingContext('intellij validator', () async {
       const String installPath = '/path/to/intelliJ';
-      final ValidationResult result = await new IntelliJValidatorTestTarget('Test', installPath).validate();
+      final ValidationResult result = await IntelliJValidatorTestTarget('Test', installPath).validate();
       expect(result.type, ValidationType.partial);
       expect(result.statusInfo, 'version test.test.test');
       expect(result.messages, hasLength(4));
@@ -94,14 +94,14 @@
               '• No issues found!\n'
       ));
     }, overrides: <Type, Generator>{
-      DoctorValidatorsProvider: () => new FakeDoctorValidatorsProvider()
+      DoctorValidatorsProvider: () => FakeDoctorValidatorsProvider()
     });
   });
 
 
  group('doctor with fake validators', () {
     testUsingContext('validate non-verbose output format for run without issues', () async {
-      expect(await new FakeQuietDoctor().diagnose(verbose: false), isTrue);
+      expect(await FakeQuietDoctor().diagnose(verbose: false), isTrue);
       expect(testLogger.statusText, equals(
               'Doctor summary (to see all details, run flutter doctor -v):\n'
               '[✓] Passing Validator (with statusInfo)\n'
@@ -114,7 +114,7 @@
     });
 
     testUsingContext('validate non-verbose output format when only one category fails', () async {
-      expect(await new FakeSinglePassingDoctor().diagnose(verbose: false), isTrue);
+      expect(await FakeSinglePassingDoctor().diagnose(verbose: false), isTrue);
       expect(testLogger.statusText, equals(
               'Doctor summary (to see all details, run flutter doctor -v):\n'
               '[!] Partial Validator with only a Hint\n'
@@ -125,7 +125,7 @@
     });
 
     testUsingContext('validate non-verbose output format for a passing run', () async {
-      expect(await new FakePassingDoctor().diagnose(verbose: false), isTrue);
+      expect(await FakePassingDoctor().diagnose(verbose: false), isTrue);
       expect(testLogger.statusText, equals(
               'Doctor summary (to see all details, run flutter doctor -v):\n'
               '[✓] Passing Validator (with statusInfo)\n'
@@ -141,7 +141,7 @@
     });
 
     testUsingContext('validate non-verbose output format', () async {
-      expect(await new FakeDoctor().diagnose(verbose: false), isFalse);
+      expect(await FakeDoctor().diagnose(verbose: false), isFalse);
       expect(testLogger.statusText, equals(
               'Doctor summary (to see all details, run flutter doctor -v):\n'
               '[✓] Passing Validator (with statusInfo)\n'
@@ -159,7 +159,7 @@
     });
 
     testUsingContext('validate verbose output format', () async {
-      expect(await new FakeDoctor().diagnose(verbose: true), isFalse);
+      expect(await FakeDoctor().diagnose(verbose: true), isFalse);
       expect(testLogger.statusText, equals(
               '[✓] Passing Validator (with statusInfo)\n'
               '    • A helpful message\n'
@@ -187,7 +187,7 @@
 
   group('doctor with grouped validators', () {
     testUsingContext('validate diagnose combines validator output', () async {
-      expect(await new FakeGroupedDoctor().diagnose(), isTrue);
+      expect(await FakeGroupedDoctor().diagnose(), isTrue);
       expect(testLogger.statusText, equals(
               '[✓] Category 1\n'
               '    • A helpful message\n'
@@ -202,7 +202,7 @@
     });
 
     testUsingContext('validate summary combines validator output', () async {
-      expect(await new FakeGroupedDoctor().summaryText, equals(
+      expect(await FakeGroupedDoctor().summaryText, equals(
               '[✓] Category 1 is fully installed.\n'
               '[!] Category 2 is partially installed; more components are available.\n'
               '\n'
@@ -214,52 +214,52 @@
 
 
   group('doctor merging validator results', () {
-    final PassingGroupedValidator installed = new PassingGroupedValidator('Category', groupedCategory1);
-    final PartialGroupedValidator partial = new PartialGroupedValidator('Category', groupedCategory1);
-    final MissingGroupedValidator missing = new MissingGroupedValidator('Category', groupedCategory1);
+    final PassingGroupedValidator installed = PassingGroupedValidator('Category', groupedCategory1);
+    final PartialGroupedValidator partial = PartialGroupedValidator('Category', groupedCategory1);
+    final MissingGroupedValidator missing = MissingGroupedValidator('Category', groupedCategory1);
 
     testUsingContext('validate installed + installed = installed', () async {
-      expect(await new FakeSmallGroupDoctor(installed, installed).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(installed, installed).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[✓]'));
     });
 
     testUsingContext('validate installed + partial = partial', () async {
-      expect(await new FakeSmallGroupDoctor(installed, partial).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(installed, partial).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate installed + missing = partial', () async {
-      expect(await new FakeSmallGroupDoctor(installed, missing).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(installed, missing).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate partial + installed = partial', () async {
-      expect(await new FakeSmallGroupDoctor(partial, installed).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(partial, installed).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate partial + partial = partial', () async {
-      expect(await new FakeSmallGroupDoctor(partial, partial).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(partial, partial).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate partial + missing = partial', () async {
-      expect(await new FakeSmallGroupDoctor(partial, missing).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(partial, missing).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate missing + installed = partial', () async {
-      expect(await new FakeSmallGroupDoctor(missing, installed).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(missing, installed).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate missing + partial = partial', () async {
-      expect(await new FakeSmallGroupDoctor(missing, partial).diagnose(), isTrue);
+      expect(await FakeSmallGroupDoctor(missing, partial).diagnose(), isTrue);
       expect(testLogger.statusText, startsWith('[!]'));
     });
 
     testUsingContext('validate missing + missing = missing', () async {
-      expect(await new FakeSmallGroupDoctor(missing, missing).diagnose(), isFalse);
+      expect(await FakeSmallGroupDoctor(missing, missing).diagnose(), isFalse);
       expect(testLogger.statusText, startsWith('[✗]'));
     });
   });
@@ -281,9 +281,9 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage('A helpful message'));
-    messages.add(new ValidationMessage('A second, somewhat longer helpful message'));
-    return new ValidationResult(ValidationType.installed, messages, statusInfo: 'with statusInfo');
+    messages.add(ValidationMessage('A helpful message'));
+    messages.add(ValidationMessage('A second, somewhat longer helpful message'));
+    return ValidationResult(ValidationType.installed, messages, statusInfo: 'with statusInfo');
   }
 }
 
@@ -293,10 +293,10 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage.error('A useful error message'));
-    messages.add(new ValidationMessage('A message that is not an error'));
-    messages.add(new ValidationMessage.hint('A hint message'));
-    return new ValidationResult(ValidationType.missing, messages);
+    messages.add(ValidationMessage.error('A useful error message'));
+    messages.add(ValidationMessage('A message that is not an error'));
+    messages.add(ValidationMessage.hint('A hint message'));
+    return ValidationResult(ValidationType.missing, messages);
   }
 }
 
@@ -306,10 +306,10 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage.error('A error message indicating partial installation'));
-    messages.add(new ValidationMessage.hint('Maybe a hint will help the user'));
-    messages.add(new ValidationMessage('An extra message with some verbose details'));
-    return new ValidationResult(ValidationType.partial, messages);
+    messages.add(ValidationMessage.error('A error message indicating partial installation'));
+    messages.add(ValidationMessage.hint('Maybe a hint will help the user'));
+    messages.add(ValidationMessage('An extra message with some verbose details'));
+    return ValidationResult(ValidationType.partial, messages);
   }
 }
 
@@ -319,9 +319,9 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage.hint('There is a hint here'));
-    messages.add(new ValidationMessage('But there is no error'));
-    return new ValidationResult(ValidationType.partial, messages);
+    messages.add(ValidationMessage.hint('There is a hint here'));
+    messages.add(ValidationMessage('But there is no error'));
+    return ValidationResult(ValidationType.partial, messages);
   }
 }
 
@@ -333,10 +333,10 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new PassingValidator('Passing Validator'));
-      _validators.add(new MissingValidator());
-      _validators.add(new PartialValidatorWithHintsOnly());
-      _validators.add(new PartialValidatorWithErrors());
+      _validators.add(PassingValidator('Passing Validator'));
+      _validators.add(MissingValidator());
+      _validators.add(PartialValidatorWithHintsOnly());
+      _validators.add(PartialValidatorWithErrors());
     }
     return _validators;
   }
@@ -349,10 +349,10 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new PassingValidator('Passing Validator'));
-      _validators.add(new PartialValidatorWithHintsOnly());
-      _validators.add(new PartialValidatorWithErrors());
-      _validators.add(new PassingValidator('Another Passing Validator'));
+      _validators.add(PassingValidator('Passing Validator'));
+      _validators.add(PartialValidatorWithHintsOnly());
+      _validators.add(PartialValidatorWithErrors());
+      _validators.add(PassingValidator('Another Passing Validator'));
     }
     return _validators;
   }
@@ -366,7 +366,7 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new PartialValidatorWithHintsOnly());
+      _validators.add(PartialValidatorWithHintsOnly());
     }
     return _validators;
   }
@@ -379,10 +379,10 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new PassingValidator('Passing Validator'));
-      _validators.add(new PassingValidator('Another Passing Validator'));
-      _validators.add(new PassingValidator('Validators are fun'));
-      _validators.add(new PassingValidator('Four score and seven validators ago'));
+      _validators.add(PassingValidator('Passing Validator'));
+      _validators.add(PassingValidator('Another Passing Validator'));
+      _validators.add(PassingValidator('Validators are fun'));
+      _validators.add(PassingValidator('Four score and seven validators ago'));
     }
     return _validators;
   }
@@ -394,9 +394,9 @@
   @override
   List<DoctorValidator> get validators {
     return <DoctorValidator>[
-      new PassingValidator('Passing Validator'),
-      new PassingValidator('Another Passing Validator'),
-      new PassingValidator('Providing validators is fun')
+      PassingValidator('Passing Validator'),
+      PassingValidator('Another Passing Validator'),
+      PassingValidator('Providing validators is fun')
     ];
   }
 
@@ -414,8 +414,8 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage('A helpful message'));
-    return new ValidationResult(ValidationType.installed, messages);
+    messages.add(ValidationMessage('A helpful message'));
+    return ValidationResult(ValidationType.installed, messages);
   }
 
 }
@@ -426,8 +426,8 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage.error('A useful error message'));
-    return new ValidationResult(ValidationType.missing, messages);
+    messages.add(ValidationMessage.error('A useful error message'));
+    return ValidationResult(ValidationType.missing, messages);
   }
 }
 
@@ -437,8 +437,8 @@
   @override
   Future<ValidationResult> validate() async {
     final List<ValidationMessage> messages = <ValidationMessage>[];
-    messages.add(new ValidationMessage.error('An error message for partial installation'));
-    return new ValidationResult(ValidationType.partial, messages);
+    messages.add(ValidationMessage.error('An error message for partial installation'));
+    return ValidationResult(ValidationType.partial, messages);
   }
 }
 
@@ -449,10 +449,10 @@
   List<DoctorValidator> get validators {
     if (_validators == null) {
       _validators = <DoctorValidator>[];
-      _validators.add(new PassingGroupedValidator('Category 1', groupedCategory1));
-      _validators.add(new PassingGroupedValidator('Category 1', groupedCategory1));
-      _validators.add(new PassingGroupedValidator('Category 2', groupedCategory2));
-      _validators.add(new MissingGroupedValidator('Category 2', groupedCategory2));
+      _validators.add(PassingGroupedValidator('Category 1', groupedCategory1));
+      _validators.add(PassingGroupedValidator('Category 1', groupedCategory1));
+      _validators.add(PassingGroupedValidator('Category 2', groupedCategory2));
+      _validators.add(MissingGroupedValidator('Category 2', groupedCategory2));
     }
     return _validators;
   }
@@ -474,14 +474,14 @@
   static final String validExtensions = fs.path.join('test', 'data', 'vscode', 'extensions');
   static final String missingExtensions = fs.path.join('test', 'data', 'vscode', 'notExtensions');
   VsCodeValidatorTestTargets._(String installDirectory, String extensionDirectory, {String edition})
-      : super(new VsCode.fromDirectory(installDirectory, extensionDirectory, edition: edition));
+      : super(VsCode.fromDirectory(installDirectory, extensionDirectory, edition: edition));
 
   static VsCodeValidatorTestTargets get installedWithExtension =>
-      new VsCodeValidatorTestTargets._(validInstall, validExtensions);
+      VsCodeValidatorTestTargets._(validInstall, validExtensions);
 
   static VsCodeValidatorTestTargets get installedWithExtension64bit =>
-      new VsCodeValidatorTestTargets._(validInstall, validExtensions, edition: '64-bit edition');
+      VsCodeValidatorTestTargets._(validInstall, validExtensions, edition: '64-bit edition');
 
   static VsCodeValidatorTestTargets get installedWithoutExtension =>
-      new VsCodeValidatorTestTargets._(validInstall, missingExtensions);
+      VsCodeValidatorTestTargets._(validInstall, missingExtensions);
 }
diff --git a/packages/flutter_tools/test/commands/drive_test.dart b/packages/flutter_tools/test/commands/drive_test.dart
index a9d673d..f154204 100644
--- a/packages/flutter_tools/test/commands/drive_test.dart
+++ b/packages/flutter_tools/test/commands/drive_test.dart
@@ -27,7 +27,7 @@
     Directory tempDir;
 
     void withMockDevice([Device mock]) {
-      mockDevice = mock ?? new MockDevice();
+      mockDevice = mock ?? MockDevice();
       targetDeviceFinder = () async => mockDevice;
       testDeviceManager.addDevice(mockDevice);
     }
@@ -37,9 +37,9 @@
     });
 
     setUp(() {
-      command = new DriveCommand();
+      command = DriveCommand();
       applyMocksToCommand(command);
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
       tempDir = fs.systemTempDirectory.createTempSync('flutter_drive_test.');
       fs.currentDirectory = tempDir;
       fs.directory('test').createSync();
@@ -167,7 +167,7 @@
       final String testFile = fs.path.join(tempDir.path, 'test_driver', 'e2e_test.dart');
 
       appStarter = expectAsync1((DriveCommand command) async {
-        return new LaunchResult.succeeded();
+        return LaunchResult.succeeded();
       });
       testRunner = expectAsync2((List<String> testArgs, String observatoryUri) async {
         expect(testArgs, <String>[testFile]);
@@ -198,7 +198,7 @@
       final String testFile = fs.path.join(tempDir.path, 'test_driver', 'e2e_test.dart');
 
       appStarter = expectAsync1((DriveCommand command) async {
-        return new LaunchResult.succeeded();
+        return LaunchResult.succeeded();
       });
       testRunner = (List<String> testArgs, String observatoryUri) async {
         throwToolExit(null, exitCode: 123);
@@ -241,7 +241,7 @@
     });
 
     void findTargetDeviceOnOperatingSystem(String operatingSystem) {
-      Platform platform() => new FakePlatform(operatingSystem: operatingSystem);
+      Platform platform() => FakePlatform(operatingSystem: operatingSystem);
 
       testUsingContext('returns null if no devices found', () async {
         expect(await findTargetDevice(), isNull);
@@ -251,7 +251,7 @@
       });
 
       testUsingContext('uses existing Android device', () async {
-        mockDevice = new MockAndroidDevice();
+        mockDevice = MockAndroidDevice();
         when(mockDevice.name).thenReturn('mock-android-device');
         withMockDevice(mockDevice);
 
@@ -274,13 +274,13 @@
     group('findTargetDevice on macOS', () {
       findTargetDeviceOnOperatingSystem('macos');
 
-      Platform macOsPlatform() => new FakePlatform(operatingSystem: 'macos');
+      Platform macOsPlatform() => FakePlatform(operatingSystem: 'macos');
 
       testUsingContext('uses existing simulator', () async {
         withMockDevice();
         when(mockDevice.name).thenReturn('mock-simulator');
         when(mockDevice.isLocalEmulator)
-            .thenAnswer((Invocation invocation) => new Future<bool>.value(true));
+            .thenAnswer((Invocation invocation) => Future<bool>.value(true));
 
         final Device device = await findTargetDevice();
         expect(device.name, 'mock-simulator');
diff --git a/packages/flutter_tools/test/commands/format_test.dart b/packages/flutter_tools/test/commands/format_test.dart
index 752e720..526fa38 100644
--- a/packages/flutter_tools/test/commands/format_test.dart
+++ b/packages/flutter_tools/test/commands/format_test.dart
@@ -30,7 +30,7 @@
       final String original = srcFile.readAsStringSync();
       srcFile.writeAsStringSync(original.replaceFirst('main()', 'main(  )'));
 
-      final FormatCommand command = new FormatCommand();
+      final FormatCommand command = FormatCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['format', srcFile.path]);
 
@@ -47,7 +47,7 @@
           'main()', 'main(  )');
       srcFile.writeAsStringSync(nonFormatted);
 
-      final FormatCommand command = new FormatCommand();
+      final FormatCommand command = FormatCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       await runner.run(<String>['format', '--dry-run', srcFile.path]);
 
@@ -64,7 +64,7 @@
           'main()', 'main(  )');
       srcFile.writeAsStringSync(nonFormatted);
 
-      final FormatCommand command = new FormatCommand();
+      final FormatCommand command = FormatCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       expect(runner.run(<String>[
diff --git a/packages/flutter_tools/test/commands/fuchsia_reload_test.dart b/packages/flutter_tools/test/commands/fuchsia_reload_test.dart
index 8d128cd..1c32964 100644
--- a/packages/flutter_tools/test/commands/fuchsia_reload_test.dart
+++ b/packages/flutter_tools/test/commands/fuchsia_reload_test.dart
@@ -17,7 +17,7 @@
   group('FuchsiaDeviceCommandRunner', () {
     testUsingContext('a test', () async {
       final FuchsiaDeviceCommandRunner commandRunner =
-          new FuchsiaDeviceCommandRunner('8.8.9.9',
+          FuchsiaDeviceCommandRunner('8.8.9.9',
                                          '~/fuchsia/out/release-x86-64');
       final List<String> ports = await commandRunner.run('ls /tmp');
       expect(ports, hasLength(3));
@@ -25,7 +25,7 @@
       expect(ports[1], equals('5678'));
       expect(ports[2], equals('5'));
     }, overrides: <Type, Generator>{
-      ProcessManager: () => new MockProcessManager(),
+      ProcessManager: () => MockProcessManager(),
     });
   });
 }
@@ -41,6 +41,6 @@
     Encoding stdoutEncoding = systemEncoding,
     Encoding stderrEncoding = systemEncoding,
   }) async {
-    return new ProcessResult(0, 0, '1234\n5678\n5', '');
+    return ProcessResult(0, 0, '1234\n5678\n5', '');
   }
 }
diff --git a/packages/flutter_tools/test/commands/ide_config_test.dart b/packages/flutter_tools/test/commands/ide_config_test.dart
index 79e799f..1e7a0fe 100644
--- a/packages/flutter_tools/test/commands/ide_config_test.dart
+++ b/packages/flutter_tools/test/commands/ide_config_test.dart
@@ -83,7 +83,7 @@
       List<String> unexpectedPaths = const <String>[],
     }) async {
       dir ??= tempDir;
-      final IdeConfigCommand command = new IdeConfigCommand();
+      final IdeConfigCommand command = IdeConfigCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
       final List<String> finalArgs = <String>['--flutter-root=${tempDir.absolute.path}', 'ide-config'];
       finalArgs.addAll(args);
diff --git a/packages/flutter_tools/test/commands/install_test.dart b/packages/flutter_tools/test/commands/install_test.dart
index 07d9eb6..1f56cb0 100644
--- a/packages/flutter_tools/test/commands/install_test.dart
+++ b/packages/flutter_tools/test/commands/install_test.dart
@@ -12,10 +12,10 @@
 void main() {
   group('install', () {
     testUsingContext('returns 0 when Android is connected and ready for an install', () async {
-      final InstallCommand command = new InstallCommand();
+      final InstallCommand command = InstallCommand();
       applyMocksToCommand(command);
 
-      final MockAndroidDevice device = new MockAndroidDevice();
+      final MockAndroidDevice device = MockAndroidDevice();
       when(device.isAppInstalled(any)).thenAnswer((_) async => false);
       when(device.installApp(any)).thenAnswer((_) async => true);
       testDeviceManager.addDevice(device);
@@ -24,10 +24,10 @@
     });
 
     testUsingContext('returns 0 when iOS is connected and ready for an install', () async {
-      final InstallCommand command = new InstallCommand();
+      final InstallCommand command = InstallCommand();
       applyMocksToCommand(command);
 
-      final MockIOSDevice device = new MockIOSDevice();
+      final MockIOSDevice device = MockIOSDevice();
       when(device.isAppInstalled(any)).thenAnswer((_) async => false);
       when(device.installApp(any)).thenAnswer((_) async => true);
       testDeviceManager.addDevice(device);
diff --git a/packages/flutter_tools/test/commands/packages_test.dart b/packages/flutter_tools/test/commands/packages_test.dart
index efa71dd..95c7f46 100644
--- a/packages/flutter_tools/test/commands/packages_test.dart
+++ b/packages/flutter_tools/test/commands/packages_test.dart
@@ -58,7 +58,7 @@
     }
 
     Future<Null> runCommandIn(String projectPath, String verb, { List<String> args }) async {
-      final PackagesCommand command = new PackagesCommand();
+      final PackagesCommand command = PackagesCommand();
       final CommandRunner<Null> runner = createTestCommandRunner(command);
 
       final List<String> commandArgs = <String>['packages', verb];
@@ -233,12 +233,12 @@
     MockStdio mockStdio;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      mockStdio = new MockStdio();
+      mockProcessManager = MockProcessManager();
+      mockStdio = MockStdio();
     });
 
     testUsingContext('test without bot', () async {
-      await createTestCommandRunner(new PackagesCommand()).run(<String>['packages', 'test']);
+      await createTestCommandRunner(PackagesCommand()).run(<String>['packages', 'test']);
       final List<String> commands = mockProcessManager.commands;
       expect(commands, hasLength(3));
       expect(commands[0], matches(r'dart-sdk[\\/]bin[\\/]pub'));
@@ -251,7 +251,7 @@
     });
 
     testUsingContext('test with bot', () async {
-      await createTestCommandRunner(new PackagesCommand()).run(<String>['packages', 'test']);
+      await createTestCommandRunner(PackagesCommand()).run(<String>['packages', 'test']);
       final List<String> commands = mockProcessManager.commands;
       expect(commands, hasLength(4));
       expect(commands[0], matches(r'dart-sdk[\\/]bin[\\/]pub'));
@@ -265,7 +265,7 @@
     });
 
     testUsingContext('run', () async {
-      await createTestCommandRunner(new PackagesCommand()).run(<String>['packages', '--verbose', 'pub', 'run', '--foo', 'bar']);
+      await createTestCommandRunner(PackagesCommand()).run(<String>['packages', '--verbose', 'pub', 'run', '--foo', 'bar']);
       final List<String> commands = mockProcessManager.commands;
       expect(commands, hasLength(4));
       expect(commands[0], matches(r'dart-sdk[\\/]bin[\\/]pub'));
@@ -278,11 +278,11 @@
     });
 
     testUsingContext('publish', () async {
-      final PromptingProcess process = new PromptingProcess();
+      final PromptingProcess process = PromptingProcess();
       mockProcessManager.processFactory = (List<String> commands) => process;
-      final Future<Null> runPackages = createTestCommandRunner(new PackagesCommand()).run(<String>['packages', 'pub', 'publish']);
+      final Future<Null> runPackages = createTestCommandRunner(PackagesCommand()).run(<String>['packages', 'pub', 'publish']);
       final Future<Null> runPrompt = process.showPrompt('Proceed (y/n)? ', <String>['hello', 'world']);
-      final Future<Null> simulateUserInput = new Future<Null>(() {
+      final Future<Null> simulateUserInput = Future<Null>(() {
         mockStdio.simulateStdin('y');
       });
       await Future.wait(<Future<Null>>[runPackages, runPrompt, simulateUserInput]);
diff --git a/packages/flutter_tools/test/commands/run_test.dart b/packages/flutter_tools/test/commands/run_test.dart
index fde6043..16c4efe 100644
--- a/packages/flutter_tools/test/commands/run_test.dart
+++ b/packages/flutter_tools/test/commands/run_test.dart
@@ -12,7 +12,7 @@
 void main() {
   group('run', () {
     testUsingContext('fails when target not found', () async {
-      final RunCommand command = new RunCommand();
+      final RunCommand command = RunCommand();
       applyMocksToCommand(command);
       try {
         await createTestCommandRunner(command).run(<String>['run', '-t', 'abc123']);
diff --git a/packages/flutter_tools/test/commands/shell_completion_test.dart b/packages/flutter_tools/test/commands/shell_completion_test.dart
index c55dc83..6b1498b 100644
--- a/packages/flutter_tools/test/commands/shell_completion_test.dart
+++ b/packages/flutter_tools/test/commands/shell_completion_test.dart
@@ -20,11 +20,11 @@
 
     setUp(() {
       Cache.disableLocking();
-      mockStdio = new MockStdio();
+      mockStdio = MockStdio();
     });
 
     testUsingContext('generates bash initialization script to stdout', () async {
-      final ShellCompletionCommand command = new ShellCompletionCommand();
+      final ShellCompletionCommand command = ShellCompletionCommand();
       await createTestCommandRunner(command).run(<String>['bash-completion']);
       expect(mockStdio.writtenToStdout.length, equals(1));
       expect(mockStdio.writtenToStdout.first, contains('__flutter_completion'));
@@ -33,7 +33,7 @@
     });
 
     testUsingContext('generates bash initialization script to stdout with arg', () async {
-      final ShellCompletionCommand command = new ShellCompletionCommand();
+      final ShellCompletionCommand command = ShellCompletionCommand();
       await createTestCommandRunner(command).run(<String>['bash-completion', '-']);
       expect(mockStdio.writtenToStdout.length, equals(1));
       expect(mockStdio.writtenToStdout.first, contains('__flutter_completion'));
@@ -42,7 +42,7 @@
     });
 
     testUsingContext('generates bash initialization script to output file', () async {
-      final ShellCompletionCommand command = new ShellCompletionCommand();
+      final ShellCompletionCommand command = ShellCompletionCommand();
       const String outputFile = 'bash-setup.sh';
       await createTestCommandRunner(command).run(
         <String>['bash-completion', outputFile],
@@ -50,12 +50,12 @@
       expect(fs.isFileSync(outputFile), isTrue);
       expect(fs.file(outputFile).readAsStringSync(), contains('__flutter_completion'));
     }, overrides: <Type, Generator>{
-      FileSystem: () => new MemoryFileSystem(),
+      FileSystem: () => MemoryFileSystem(),
       Stdio: () => mockStdio,
     });
 
     testUsingContext("won't overwrite existing output file ", () async {
-      final ShellCompletionCommand command = new ShellCompletionCommand();
+      final ShellCompletionCommand command = ShellCompletionCommand();
       const String outputFile = 'bash-setup.sh';
       fs.file(outputFile).createSync();
       try {
@@ -70,12 +70,12 @@
       expect(fs.isFileSync(outputFile), isTrue);
       expect(fs.file(outputFile).readAsStringSync(), isEmpty);
     }, overrides: <Type, Generator>{
-      FileSystem: () => new MemoryFileSystem(),
+      FileSystem: () => MemoryFileSystem(),
       Stdio: () => mockStdio,
     });
 
     testUsingContext('will overwrite existing output file if given --overwrite', () async {
-      final ShellCompletionCommand command = new ShellCompletionCommand();
+      final ShellCompletionCommand command = ShellCompletionCommand();
       const String outputFile = 'bash-setup.sh';
       fs.file(outputFile).createSync();
       await createTestCommandRunner(command).run(
@@ -84,7 +84,7 @@
       expect(fs.isFileSync(outputFile), isTrue);
       expect(fs.file(outputFile).readAsStringSync(), contains('__flutter_completion'));
     }, overrides: <Type, Generator>{
-      FileSystem: () => new MemoryFileSystem(),
+      FileSystem: () => MemoryFileSystem(),
       Stdio: () => mockStdio,
     });
   });
diff --git a/packages/flutter_tools/test/commands/test_test.dart b/packages/flutter_tools/test/commands/test_test.dart
index 6aa542f..d576023 100644
--- a/packages/flutter_tools/test/commands/test_test.dart
+++ b/packages/flutter_tools/test/commands/test_test.dart
@@ -125,7 +125,7 @@
       continue;
     }
     if (allowSkip) {
-      if (!new RegExp(expectationLine).hasMatch(outputLine)) {
+      if (!RegExp(expectationLine).hasMatch(outputLine)) {
         outputLineNumber += 1;
         continue;
       }
@@ -167,7 +167,7 @@
   while (_testExclusionLock != null)
     await _testExclusionLock;
 
-  final Completer<Null> testExclusionCompleter = new Completer<Null>();
+  final Completer<Null> testExclusionCompleter = Completer<Null>();
   _testExclusionLock = testExclusionCompleter.future;
   try {
     return await Process.run(
diff --git a/packages/flutter_tools/test/compile_test.dart b/packages/flutter_tools/test/compile_test.dart
index 3ddb5be..1565f74 100644
--- a/packages/flutter_tools/test/compile_test.dart
+++ b/packages/flutter_tools/test/compile_test.dart
@@ -22,27 +22,27 @@
     MockStdIn mockFrontendServerStdIn;
     MockStream mockFrontendServerStdErr;
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      mockFrontendServer = new MockProcess();
-      mockFrontendServerStdIn = new MockStdIn();
-      mockFrontendServerStdErr = new MockStream();
+      mockProcessManager = MockProcessManager();
+      mockFrontendServer = MockProcess();
+      mockFrontendServerStdIn = MockStdIn();
+      mockFrontendServerStdErr = MockStream();
 
       when(mockFrontendServer.stderr)
           .thenAnswer((Invocation invocation) => mockFrontendServerStdErr);
-      final StreamController<String> stdErrStreamController = new StreamController<String>();
+      final StreamController<String> stdErrStreamController = StreamController<String>();
       when(mockFrontendServerStdErr.transform<String>(any)).thenAnswer((_) => stdErrStreamController.stream);
       when(mockFrontendServer.stdin).thenReturn(mockFrontendServerStdIn);
       when(mockProcessManager.canRun(any)).thenReturn(true);
       when(mockProcessManager.start(any)).thenAnswer(
-          (Invocation invocation) => new Future<Process>.value(mockFrontendServer));
+          (Invocation invocation) => Future<Process>.value(mockFrontendServer));
       when(mockFrontendServer.exitCode).thenAnswer((_) async => 0);
     });
 
     testUsingContext('single dart successful compilation', () async {
       final BufferLogger logger = context[Logger];
       when(mockFrontendServer.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'result abc\nline1\nline2\nabc /path/to/main.dart.dill 0'
             ))
           ));
@@ -60,8 +60,8 @@
       final BufferLogger logger = context[Logger];
 
       when(mockFrontendServer.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'result abc\nline1\nline2\nabc'
             ))
           ));
@@ -82,8 +82,8 @@
       final BufferLogger logger = context[Logger];
 
       when(mockFrontendServer.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-          new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+          Future<List<int>>.value(utf8.encode(
               'result abc\nline1\nline2\nabc'
           ))
       ));
@@ -108,22 +108,22 @@
     StreamController<String> stdErrStreamController;
 
     setUp(() {
-      generator = new ResidentCompiler('sdkroot');
-      mockProcessManager = new MockProcessManager();
-      mockFrontendServer = new MockProcess();
-      mockFrontendServerStdIn = new MockStdIn();
-      mockFrontendServerStdErr = new MockStream();
+      generator = ResidentCompiler('sdkroot');
+      mockProcessManager = MockProcessManager();
+      mockFrontendServer = MockProcess();
+      mockFrontendServerStdIn = MockStdIn();
+      mockFrontendServerStdErr = MockStream();
 
       when(mockFrontendServer.stdin).thenReturn(mockFrontendServerStdIn);
       when(mockFrontendServer.stderr)
           .thenAnswer((Invocation invocation) => mockFrontendServerStdErr);
-      stdErrStreamController = new StreamController<String>();
+      stdErrStreamController = StreamController<String>();
       when(mockFrontendServerStdErr.transform<String>(any))
           .thenAnswer((Invocation invocation) => stdErrStreamController.stream);
 
       when(mockProcessManager.canRun(any)).thenReturn(true);
       when(mockProcessManager.start(any)).thenAnswer(
-          (Invocation invocation) => new Future<Process>.value(mockFrontendServer)
+          (Invocation invocation) => Future<Process>.value(mockFrontendServer)
       );
     });
 
@@ -135,8 +135,8 @@
       final BufferLogger logger = context[Logger];
 
       when(mockFrontendServer.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'result abc\nline1\nline2\nabc /path/to/main.dart.dill 0'
             ))
           ));
@@ -168,7 +168,7 @@
     testUsingContext('compile and recompile', () async {
       final BufferLogger logger = context[Logger];
 
-      final StreamController<List<int>> streamController = new StreamController<List<int>>();
+      final StreamController<List<int>> streamController = StreamController<List<int>>();
       when(mockFrontendServer.stdout)
           .thenAnswer((Invocation invocation) => streamController.stream);
       streamController.add(utf8.encode('result abc\nline0\nline1\nabc /path/to/main.dart.dill 0\n'));
@@ -191,7 +191,7 @@
     testUsingContext('compile and recompile twice', () async {
       final BufferLogger logger = context[Logger];
 
-      final StreamController<List<int>> streamController = new StreamController<List<int>>();
+      final StreamController<List<int>> streamController = StreamController<List<int>>();
       when(mockFrontendServer.stdout)
           .thenAnswer((Invocation invocation) => streamController.stream);
       streamController.add(utf8.encode(
@@ -227,23 +227,23 @@
     StreamController<String> stdErrStreamController;
 
     setUp(() {
-      generator = new ResidentCompiler('sdkroot');
-      mockProcessManager = new MockProcessManager();
-      mockFrontendServer = new MockProcess();
-      mockFrontendServerStdIn = new MockStdIn();
-      mockFrontendServerStdErr = new MockStream();
+      generator = ResidentCompiler('sdkroot');
+      mockProcessManager = MockProcessManager();
+      mockFrontendServer = MockProcess();
+      mockFrontendServerStdIn = MockStdIn();
+      mockFrontendServerStdErr = MockStream();
 
       when(mockFrontendServer.stdin).thenReturn(mockFrontendServerStdIn);
       when(mockFrontendServer.stderr)
           .thenAnswer((Invocation invocation) => mockFrontendServerStdErr);
-      stdErrStreamController = new StreamController<String>();
+      stdErrStreamController = StreamController<String>();
       when(mockFrontendServerStdErr.transform<String>(any))
           .thenAnswer((Invocation invocation) => stdErrStreamController.stream);
 
       when(mockProcessManager.canRun(any)).thenReturn(true);
       when(mockProcessManager.start(any)).thenAnswer(
               (Invocation invocation) =>
-          new Future<Process>.value(mockFrontendServer)
+          Future<Process>.value(mockFrontendServer)
       );
     });
 
@@ -261,18 +261,18 @@
       final BufferLogger logger = context[Logger];
 
       final Completer<List<int>> compileResponseCompleter =
-          new Completer<List<int>>();
+          Completer<List<int>>();
       final Completer<List<int>> compileExpressionResponseCompleter =
-          new Completer<List<int>>();
+          Completer<List<int>>();
 
       when(mockFrontendServer.stdout)
           .thenAnswer((Invocation invocation) =>
-      new Stream<List<int>>.fromFutures(
+      Stream<List<int>>.fromFutures(
         <Future<List<int>>>[
           compileResponseCompleter.future,
           compileExpressionResponseCompleter.future]));
 
-      compileResponseCompleter.complete(new Future<List<int>>.value(utf8.encode(
+      compileResponseCompleter.complete(Future<List<int>>.value(utf8.encode(
         'result abc\nline1\nline2\nabc /path/to/main.dart.dill 0\n'
       )));
 
@@ -287,7 +287,7 @@
         expect(output.outputFilename, equals('/path/to/main.dart.dill'));
 
         compileExpressionResponseCompleter.complete(
-            new Future<List<int>>.value(utf8.encode(
+            Future<List<int>>.value(utf8.encode(
                 'result def\nline1\nline2\ndef /path/to/main.dart.dill.incremental 0\n'
             )));
         generator.compileExpression(
@@ -307,13 +307,13 @@
     testUsingContext('compile expressions without awaiting', () async {
       final BufferLogger logger = context[Logger];
 
-      final Completer<List<int>> compileResponseCompleter = new Completer<List<int>>();
-      final Completer<List<int>> compileExpressionResponseCompleter1 = new Completer<List<int>>();
-      final Completer<List<int>> compileExpressionResponseCompleter2 = new Completer<List<int>>();
+      final Completer<List<int>> compileResponseCompleter = Completer<List<int>>();
+      final Completer<List<int>> compileExpressionResponseCompleter1 = Completer<List<int>>();
+      final Completer<List<int>> compileExpressionResponseCompleter2 = Completer<List<int>>();
 
       when(mockFrontendServer.stdout)
           .thenAnswer((Invocation invocation) =>
-      new Stream<List<int>>.fromFutures(
+      Stream<List<int>>.fromFutures(
           <Future<List<int>>>[
             compileResponseCompleter.future,
             compileExpressionResponseCompleter1.future,
@@ -328,20 +328,20 @@
             equals('compiler message: line1\ncompiler message: line2\n'));
         expect(outputCompile.outputFilename, equals('/path/to/main.dart.dill'));
 
-        compileExpressionResponseCompleter1.complete(new Future<List<int>>.value(utf8.encode(
+        compileExpressionResponseCompleter1.complete(Future<List<int>>.value(utf8.encode(
             'result def\nline1\nline2\ndef /path/to/main.dart.dill.incremental 0\n'
         )));
       });
 
       // The test manages timing via completers.
-      final Completer<bool> lastExpressionCompleted = new Completer<bool>();
+      final Completer<bool> lastExpressionCompleted = Completer<bool>();
       generator.compileExpression('0+1', null, null, null, null, false).then( // ignore: unawaited_futures
           (CompilerOutput outputExpression) {
             expect(outputExpression, isNotNull);
             expect(outputExpression.outputFilename,
                 equals('/path/to/main.dart.dill.incremental'));
             expect(outputExpression.errorCount, 0);
-            compileExpressionResponseCompleter2.complete(new Future<List<int>>.value(utf8.encode(
+            compileExpressionResponseCompleter2.complete(Future<List<int>>.value(utf8.encode(
                 'result def\nline1\nline2\ndef /path/to/main.dart.dill.incremental 0\n'
             )));
           });
@@ -356,7 +356,7 @@
             lastExpressionCompleted.complete(true);
           });
 
-      compileResponseCompleter.complete(new Future<List<int>>.value(utf8.encode(
+      compileResponseCompleter.complete(Future<List<int>>.value(utf8.encode(
           'result abc\nline1\nline2\nabc /path/to/main.dart.dill 0\n'
       )));
 
@@ -378,7 +378,7 @@
   final CompilerOutput output = await generator.recompile(null /* mainPath */, <String>['/path/to/main.dart']);
   expect(output.outputFilename, equals('/path/to/main.dart.dill'));
   final String commands = mockFrontendServerStdIn.getAndClear();
-  final RegExp re = new RegExp('^recompile (.*)\\n/path/to/main.dart\\n(.*)\\n\$');
+  final RegExp re = RegExp('^recompile (.*)\\n/path/to/main.dart\\n(.*)\\n\$');
   expect(commands, matches(re));
   final Match match = re.firstMatch(commands);
   expect(match[1] == match[2], isTrue);
@@ -389,7 +389,7 @@
 class MockProcess extends Mock implements Process {}
 class MockStream extends Mock implements Stream<List<int>> {}
 class MockStdIn extends Mock implements IOSink {
-  final StringBuffer _stdInWrites = new StringBuffer();
+  final StringBuffer _stdInWrites = StringBuffer();
 
   String getAndClear() {
     final String result = _stdInWrites.toString();
diff --git a/packages/flutter_tools/test/config_test.dart b/packages/flutter_tools/test/config_test.dart
index 30edb71..63e1d71 100644
--- a/packages/flutter_tools/test/config_test.dart
+++ b/packages/flutter_tools/test/config_test.dart
@@ -14,7 +14,7 @@
   setUp(() {
     tempDir = fs.systemTempDirectory.createTempSync('flutter_config_test.');
     final File file = fs.file(fs.path.join(tempDir.path, '.settings'));
-    config = new Config(file);
+    config = Config(file);
   });
 
   tearDown(() {
diff --git a/packages/flutter_tools/test/crash_reporting_test.dart b/packages/flutter_tools/test/crash_reporting_test.dart
index d7a7c4f..2eab591 100644
--- a/packages/flutter_tools/test/crash_reporting_test.dart
+++ b/packages/flutter_tools/test/crash_reporting_test.dart
@@ -30,7 +30,7 @@
     });
 
     setUp(() async {
-      tools.crashFileSystem = new MemoryFileSystem();
+      tools.crashFileSystem = MemoryFileSystem();
       setExitFunctionForTests((_) { });
     });
 
@@ -44,18 +44,18 @@
       Uri uri;
       Map<String, String> fields;
 
-      CrashReportSender.initializeWith(new MockClient((Request request) async {
+      CrashReportSender.initializeWith(MockClient((Request request) async {
         method = request.method;
         uri = request.url;
 
         // A very ad-hoc multipart request parser. Good enough for this test.
         String boundary = request.headers['Content-Type'];
         boundary = boundary.substring(boundary.indexOf('boundary=') + 9);
-        fields = new Map<String, String>.fromIterable(
+        fields = Map<String, String>.fromIterable(
           utf8.decode(request.bodyBytes)
               .split('--$boundary')
               .map<List<String>>((String part) {
-                final Match nameMatch = new RegExp(r'name="(.*)"').firstMatch(part);
+                final Match nameMatch = RegExp(r'name="(.*)"').firstMatch(part);
                 if (nameMatch == null)
                   return null;
                 final String name = nameMatch[1];
@@ -73,7 +73,7 @@
           }
         );
 
-        return new Response(
+        return Response(
             'test-report-id',
             200
         );
@@ -81,7 +81,7 @@
 
       final int exitCode = await tools.run(
         <String>['crash'],
-        <FlutterCommand>[new _CrashCommand()],
+        <FlutterCommand>[_CrashCommand()],
         reportCrashes: true,
         flutterVersion: 'test-version',
       );
@@ -90,7 +90,7 @@
 
       // Verify that we sent the crash report.
       expect(method, 'POST');
-      expect(uri, new Uri(
+      expect(uri, Uri(
         scheme: 'https',
         host: 'clients2.google.com',
         port: 443,
@@ -124,14 +124,14 @@
 
     testUsingContext('can override base URL', () async {
       Uri uri;
-      CrashReportSender.initializeWith(new MockClient((Request request) async {
+      CrashReportSender.initializeWith(MockClient((Request request) async {
         uri = request.url;
-        return new Response('test-report-id', 200);
+        return Response('test-report-id', 200);
       }));
 
       final int exitCode = await tools.run(
         <String>['crash'],
-        <FlutterCommand>[new _CrashCommand()],
+        <FlutterCommand>[_CrashCommand()],
         reportCrashes: true,
         flutterVersion: 'test-version',
       );
@@ -140,7 +140,7 @@
 
       // Verify that we sent the crash report.
       expect(uri, isNotNull);
-      expect(uri, new Uri(
+      expect(uri, Uri(
         scheme: 'https',
         host: 'localhost',
         port: 12345,
@@ -151,12 +151,12 @@
         },
       ));
     }, overrides: <Type, Generator> {
-      Platform: () => new FakePlatform(
+      Platform: () => FakePlatform(
         operatingSystem: 'linux',
         environment: <String, String>{
           'FLUTTER_CRASH_SERVER_BASE_URL': 'https://localhost:12345/fake_server',
         },
-        script: new Uri(scheme: 'data'),
+        script: Uri(scheme: 'data'),
       ),
       Stdio: () => const _NoStderr(),
     });
@@ -175,7 +175,7 @@
   @override
   Future<Null> runCommand() async {
     void fn1() {
-      throw new StateError('Test bad state error');
+      throw StateError('Test bad state error');
     }
 
     void fn2() {
@@ -204,7 +204,7 @@
   Encoding get encoding => utf8;
 
   @override
-  set encoding(_) => throw new UnsupportedError('');
+  set encoding(_) => throw UnsupportedError('');
 
   @override
   void add(_) {}
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart
index 3bbbdf0c..373ef17 100644
--- a/packages/flutter_tools/test/dart/pub_get_test.dart
+++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -29,7 +29,7 @@
 
     final MockProcessManager processMock = context[ProcessManager];
 
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       expect(processMock.lastPubEnvironment, isNull);
       expect(testLogger.statusText, '');
       pubGet(context: PubContext.flutterTests, checkLastModified: false).then((Null value) {
@@ -85,9 +85,9 @@
     expect(testLogger.errorText, isEmpty);
     expect(error, isNull);
   }, overrides: <Type, Generator>{
-    ProcessManager: () => new MockProcessManager(69),
-    FileSystem: () => new MockFileSystem(),
-    Platform: () => new FakePlatform(
+    ProcessManager: () => MockProcessManager(69),
+    FileSystem: () => MockFileSystem(),
+    Platform: () => FakePlatform(
       environment: <String, String>{},
     ),
   });
@@ -98,7 +98,7 @@
     final MockProcessManager processMock = context[ProcessManager];
     final MockFileSystem fsMock = context[FileSystem];
 
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       MockDirectory.findCache = true;
       expect(processMock.lastPubEnvironment, isNull);
       expect(processMock.lastPubCache, isNull);
@@ -112,9 +112,9 @@
       expect(error, isNull);
     });
   }, overrides: <Type, Generator>{
-    ProcessManager: () => new MockProcessManager(69),
-    FileSystem: () => new MockFileSystem(),
-    Platform: () => new FakePlatform(
+    ProcessManager: () => MockProcessManager(69),
+    FileSystem: () => MockFileSystem(),
+    Platform: () => FakePlatform(
       environment: <String, String>{},
     ),
   });
@@ -124,7 +124,7 @@
 
     final MockProcessManager processMock = context[ProcessManager];
 
-    new FakeAsync().run((FakeAsync time) {
+    FakeAsync().run((FakeAsync time) {
       MockDirectory.findCache = true;
       expect(processMock.lastPubEnvironment, isNull);
       expect(processMock.lastPubCache, isNull);
@@ -138,9 +138,9 @@
       expect(error, isNull);
     });
   }, overrides: <Type, Generator>{
-    ProcessManager: () => new MockProcessManager(69),
-    FileSystem: () => new MockFileSystem(),
-    Platform: () => new FakePlatform(
+    ProcessManager: () => MockProcessManager(69),
+    FileSystem: () => MockFileSystem(),
+    Platform: () => FakePlatform(
       environment: <String, String>{'PUB_CACHE': 'custom/pub-cache/path'},
     ),
   });
@@ -167,7 +167,7 @@
   }) {
     lastPubEnvironment = environment['PUB_ENVIRONMENT'];
     lastPubCache = environment['PUB_CACHE'];
-    return new Future<Process>.value(new MockProcess(fakeExitCode));
+    return Future<Process>.value(MockProcess(fakeExitCode));
   }
 
   @override
@@ -180,13 +180,13 @@
   final int fakeExitCode;
 
   @override
-  Stream<List<int>> get stdout => new MockStream<List<int>>();
+  Stream<List<int>> get stdout => MockStream<List<int>>();
 
   @override
-  Stream<List<int>> get stderr => new MockStream<List<int>>();
+  Stream<List<int>> get stderr => MockStream<List<int>>();
 
   @override
-  Future<int> get exitCode => new Future<int>.value(fakeExitCode);
+  Future<int> get exitCode => Future<int>.value(fakeExitCode);
 
   @override
   dynamic noSuchMethod(Invocation invocation) => null;
@@ -194,14 +194,14 @@
 
 class MockStream<T> implements Stream<T> {
   @override
-  Stream<S> transform<S>(StreamTransformer<T, S> streamTransformer) => new MockStream<S>();
+  Stream<S> transform<S>(StreamTransformer<T, S> streamTransformer) => MockStream<S>();
 
   @override
-  Stream<T> where(bool test(T event)) => new MockStream<T>();
+  Stream<T> where(bool test(T event)) => MockStream<T>();
 
   @override
   StreamSubscription<T> listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}) {
-    return new MockStreamSubscription<T>();
+    return MockStreamSubscription<T>();
   }
 
   @override
@@ -210,7 +210,7 @@
 
 class MockStreamSubscription<T> implements StreamSubscription<T> {
   @override
-  Future<E> asFuture<E>([E futureValue]) => new Future<E>.value();
+  Future<E> asFuture<E>([E futureValue]) => Future<E>.value();
 
   @override
   Future<Null> cancel() => null;
@@ -221,30 +221,30 @@
 
 
 class MockFileSystem extends ForwardingFileSystem {
-  MockFileSystem() : super(new MemoryFileSystem());
+  MockFileSystem() : super(MemoryFileSystem());
 
   @override
   File file(dynamic path) {
-    return new MockFile();
+    return MockFile();
   }
 
   @override
   Directory directory(dynamic path) {
-    return new MockDirectory(path);
+    return MockDirectory(path);
   }
 }
 
 class MockFile implements File {
   @override
   Future<RandomAccessFile> open({FileMode mode = FileMode.read}) async {
-    return new MockRandomAccessFile();
+    return MockRandomAccessFile();
   }
 
   @override
   bool existsSync() => true;
 
   @override
-  DateTime lastModifiedSync() => new DateTime(0);
+  DateTime lastModifiedSync() => DateTime(0);
 
   @override
   dynamic noSuchMethod(Invocation invocation) => null;
diff --git a/packages/flutter_tools/test/dart_dependencies_test.dart b/packages/flutter_tools/test/dart_dependencies_test.dart
index 0a56c7a..dbfdc26 100644
--- a/packages/flutter_tools/test/dart_dependencies_test.dart
+++ b/packages/flutter_tools/test/dart_dependencies_test.dart
@@ -24,7 +24,7 @@
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       final Set<String> dependencies = builder.build();
       expect(dependencies.contains(canonicalizePath(mainPath)), isTrue);
       expect(dependencies.contains(canonicalizePath(fs.path.join(testPath, 'foo.dart'))), isTrue);
@@ -35,7 +35,7 @@
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       try {
         builder.build();
         fail('expect an exception to be thrown.');
@@ -49,7 +49,7 @@
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       try {
         builder.build();
         fail('expect an exception to be thrown.');
@@ -63,7 +63,7 @@
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       try {
         builder.build();
         fail('expect an exception to be thrown.');
@@ -77,7 +77,7 @@
       final String testPath = fs.path.join(dataPath, 'asci_casing');
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
-      final DartDependencySetBuilder builder = new DartDependencySetBuilder(mainPath, packagesPath);
+      final DartDependencySetBuilder builder = DartDependencySetBuilder(mainPath, packagesPath);
       final Set<String> deps = builder.build();
       expect(deps, contains(endsWith('This_Import_Has_fuNNy_casING.dart')));
     });
@@ -87,7 +87,7 @@
       final String mainPath = fs.path.join(testPath, 'main.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       try {
         builder.build();
         fail('expect an exception to be thrown.');
diff --git a/packages/flutter_tools/test/dependency_checker_test.dart b/packages/flutter_tools/test/dependency_checker_test.dart
index 1fdbc7c..a815ff2 100644
--- a/packages/flutter_tools/test/dependency_checker_test.dart
+++ b/packages/flutter_tools/test/dependency_checker_test.dart
@@ -30,7 +30,7 @@
     });
 
     setUp(() {
-      testFileSystem = new MemoryFileSystem();
+      testFileSystem = MemoryFileSystem();
     });
 
     testUsingContext('good', () {
@@ -40,12 +40,12 @@
       final String barPath = fs.path.join(testPath, 'lib', 'bar.dart');
       final String packagesPath = fs.path.join(testPath, '.packages');
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       final DependencyChecker dependencyChecker =
-          new DependencyChecker(builder, null);
+          DependencyChecker(builder, null);
 
       // Set file modification time on all dependencies to be in the past.
-      final DateTime baseTime = new DateTime.now();
+      final DateTime baseTime = DateTime.now();
       updateFileModificationTime(packagesPath, baseTime, -10);
       updateFileModificationTime(mainPath, baseTime, -10);
       updateFileModificationTime(fooPath, baseTime, -10);
@@ -72,11 +72,11 @@
       final String packagesPath = fs.path.join(testPath, '.packages');
 
       final DartDependencySetBuilder builder =
-          new DartDependencySetBuilder(mainPath, packagesPath);
+          DartDependencySetBuilder(mainPath, packagesPath);
       final DependencyChecker dependencyChecker =
-          new DependencyChecker(builder, null);
+          DependencyChecker(builder, null);
 
-      final DateTime baseTime = new DateTime.now();
+      final DateTime baseTime = DateTime.now();
 
       // Set file modification time on all dependencies to be in the past.
       updateFileModificationTime(packagesPath, baseTime, -10);
@@ -102,7 +102,7 @@
       fs.currentDirectory = tempDir;
 
       // Doesn't matter what commands we run. Arbitrarily list devices here.
-      await createTestCommandRunner(new DevicesCommand()).run(<String>['devices']);
+      await createTestCommandRunner(DevicesCommand()).run(<String>['devices']);
       expect(testLogger.errorText, contains('.packages'));
       tryToDelete(tempDir);
     }, overrides: <Type, Generator>{
diff --git a/packages/flutter_tools/test/devfs_test.dart b/packages/flutter_tools/test/devfs_test.dart
index 52ade17..c834d02 100644
--- a/packages/flutter_tools/test/devfs_test.dart
+++ b/packages/flutter_tools/test/devfs_test.dart
@@ -29,14 +29,14 @@
   final AssetBundle assetBundle = AssetBundleFactory.defaultInstance.createBundle();
 
   setUpAll(() {
-    fs = new MemoryFileSystem();
+    fs = MemoryFileSystem();
     filePath = fs.path.join('lib', 'foo.txt');
     filePath2 = fs.path.join('foo', 'bar.txt');
   });
 
   group('DevFSContent', () {
     test('bytes', () {
-      final DevFSByteContent content = new DevFSByteContent(<int>[4, 5, 6]);
+      final DevFSByteContent content = DevFSByteContent(<int>[4, 5, 6]);
       expect(content.bytes, orderedEquals(<int>[4, 5, 6]));
       expect(content.isModified, isTrue);
       expect(content.isModified, isFalse);
@@ -46,7 +46,7 @@
       expect(content.isModified, isFalse);
     });
     test('string', () {
-      final DevFSStringContent content = new DevFSStringContent('some string');
+      final DevFSStringContent content = DevFSStringContent('some string');
       expect(content.string, 'some string');
       expect(content.bytes, orderedEquals(utf8.encode('some string')));
       expect(content.isModified, isTrue);
@@ -65,8 +65,8 @@
   });
 
   group('devfs local', () {
-    final MockDevFSOperations devFSOperations = new MockDevFSOperations();
-    final MockResidentCompiler residentCompiler = new MockResidentCompiler();
+    final MockDevFSOperations devFSOperations = MockDevFSOperations();
+    final MockResidentCompiler residentCompiler = MockResidentCompiler();
 
     setUpAll(() {
       tempDir = _newTempDir(fs);
@@ -84,7 +84,7 @@
       // simulate package
       await _createPackage(fs, 'somepkg', 'somefile.txt');
 
-      devFS = new DevFS.operations(devFSOperations, 'test', tempDir);
+      devFS = DevFS.operations(devFSOperations, 'test', tempDir);
       await devFS.create();
       devFSOperations.expectMessages(<String>['create test']);
       expect(devFS.assetPathsToEvict, isEmpty);
@@ -136,7 +136,7 @@
 
       final File file = fs.file(fs.path.join(basePath, filePath));
       // Set the last modified time to 5 seconds in the past.
-      updateFileModificationTime(file.path, new DateTime.now(), -5);
+      updateFileModificationTime(file.path, DateTime.now(), -5);
       bytes = await devFS.update(
         mainPath: 'lib/foo.txt',
         generator: residentCompiler,
@@ -201,7 +201,7 @@
       const String packageName = 'doubleslashpkg';
       await _createPackage(fs, packageName, 'somefile.txt', doubleSlash: true);
 
-      final Set<String> fileFilter = new Set<String>();
+      final Set<String> fileFilter = Set<String>();
       final List<Uri> pkgUris = <Uri>[fs.path.toUri(basePath)]..addAll(_packages.values);
       for (Uri pkgUri in pkgUris) {
         if (!pkgUri.isAbsolute) {
@@ -229,7 +229,7 @@
     });
 
     testUsingContext('add an asset bundle', () async {
-      assetBundle.entries['a.txt'] = new DevFSStringContent('abc');
+      assetBundle.entries['a.txt'] = DevFSStringContent('abc');
       final int bytes = await devFS.update(
         mainPath: 'lib/foo.txt',
         bundle: assetBundle,
@@ -249,7 +249,7 @@
     });
 
     testUsingContext('add a file to the asset bundle - bundleDirty', () async {
-      assetBundle.entries['b.txt'] = new DevFSStringContent('abcd');
+      assetBundle.entries['b.txt'] = DevFSStringContent('abcd');
       final int bytes = await devFS.update(
         mainPath: 'lib/foo.txt',
         bundle: assetBundle,
@@ -272,7 +272,7 @@
     });
 
     testUsingContext('add a file to the asset bundle', () async {
-      assetBundle.entries['c.txt'] = new DevFSStringContent('12');
+      assetBundle.entries['c.txt'] = DevFSStringContent('12');
       final int bytes = await devFS.update(
         mainPath: 'lib/foo.txt',
         bundle: assetBundle,
@@ -344,12 +344,12 @@
 
   group('devfs remote', () {
     MockVMService vmService;
-    final MockResidentCompiler residentCompiler = new MockResidentCompiler();
+    final MockResidentCompiler residentCompiler = MockResidentCompiler();
 
     setUpAll(() async {
       tempDir = _newTempDir(fs);
       basePath = tempDir.path;
-      vmService = new MockVMService();
+      vmService = MockVMService();
       await vmService.setUp();
     });
     tearDownAll(() async {
@@ -366,7 +366,7 @@
       // simulate package
       await _createPackage(fs, 'somepkg', 'somefile.txt');
 
-      devFS = new DevFS(vmService, 'test', tempDir);
+      devFS = DevFS(vmService, 'test', tempDir);
       await devFS.create();
       vmService.expectMessages(<String>['create test']);
       expect(devFS.assetPathsToEvict, isEmpty);
@@ -403,7 +403,7 @@
       // simulate package
       await _createPackage(fs, 'somepkg', 'somefile.txt');
 
-      devFS = new DevFS(vmService, 'test', tempDir);
+      devFS = DevFS(vmService, 'test', tempDir);
       await devFS.create();
       vmService.expectMessages(<String>['create test']);
       expect(devFS.assetPathsToEvict, isEmpty);
@@ -429,7 +429,7 @@
   MockVM _vm;
 
   MockVMService() {
-    _vm = new MockVM(this);
+    _vm = MockVM(this);
   }
 
   @override
@@ -480,7 +480,7 @@
   Future<Map<String, dynamic>> createDevFS(String fsName) async {
     _service.messages.add('create $fsName');
     if (_devFSExists) {
-      throw new rpc.RpcException(kFileSystemAlreadyExists, 'File system already exists');
+      throw rpc.RpcException(kFileSystemAlreadyExists, 'File system already exists');
     }
     _devFSExists = true;
     return <String, dynamic>{'uri': '$_baseUri'};
@@ -534,7 +534,7 @@
   await pkgFile.parent.create(recursive: true);
   pkgFile.writeAsBytesSync(<int>[11, 12, 13]);
   _packages[pkgName] = fs.path.toUri(pkgFile.parent.path);
-  final StringBuffer sb = new StringBuffer();
+  final StringBuffer sb = StringBuffer();
   _packages.forEach((String pkgName, Uri pkgUri) {
     sb.writeln('$pkgName:$pkgUri');
   });
diff --git a/packages/flutter_tools/test/device_test.dart b/packages/flutter_tools/test/device_test.dart
index 94cf23c..286ee49 100644
--- a/packages/flutter_tools/test/device_test.dart
+++ b/packages/flutter_tools/test/device_test.dart
@@ -13,17 +13,17 @@
   group('DeviceManager', () {
     testUsingContext('getDevices', () async {
       // Test that DeviceManager.getDevices() doesn't throw.
-      final DeviceManager deviceManager = new DeviceManager();
+      final DeviceManager deviceManager = DeviceManager();
       final List<Device> devices = await deviceManager.getDevices().toList();
       expect(devices, isList);
     });
 
     testUsingContext('getDeviceById', () async {
-      final _MockDevice device1 = new _MockDevice('Nexus 5', '0553790d0a4e726f');
-      final _MockDevice device2 = new _MockDevice('Nexus 5X', '01abfc49119c410e');
-      final _MockDevice device3 = new _MockDevice('iPod touch', '82564b38861a9a5');
+      final _MockDevice device1 = _MockDevice('Nexus 5', '0553790d0a4e726f');
+      final _MockDevice device2 = _MockDevice('Nexus 5X', '01abfc49119c410e');
+      final _MockDevice device3 = _MockDevice('iPod touch', '82564b38861a9a5');
       final List<Device> devices = <Device>[device1, device2, device3];
-      final DeviceManager deviceManager = new TestDeviceManager(devices);
+      final DeviceManager deviceManager = TestDeviceManager(devices);
 
       Future<Null> expectDevice(String id, List<Device> expected) async {
         expect(await deviceManager.getDevicesById(id).toList(), expected);
@@ -45,7 +45,7 @@
 
   @override
   Stream<Device> getAllConnectedDevices() {
-    return new Stream<Device>.fromIterable(allDevices);
+    return Stream<Device>.fromIterable(allDevices);
   }
 }
 
diff --git a/packages/flutter_tools/test/emulator_test.dart b/packages/flutter_tools/test/emulator_test.dart
index 64f04e2..01c7d4c 100644
--- a/packages/flutter_tools/test/emulator_test.dart
+++ b/packages/flutter_tools/test/emulator_test.dart
@@ -26,10 +26,10 @@
   MockXcode mockXcode;
 
   setUp(() {
-    mockProcessManager = new MockProcessManager();
-    mockConfig = new MockConfig();
-    mockSdk = new MockAndroidSdk();
-    mockXcode = new MockXcode();
+    mockProcessManager = MockProcessManager();
+    mockConfig = MockConfig();
+    mockSdk = MockAndroidSdk();
+    mockXcode = MockXcode();
 
     when(mockSdk.avdManagerPath).thenReturn('avdmanager');
     when(mockSdk.emulatorPath).thenReturn('emulator');
@@ -45,18 +45,18 @@
 
     testUsingContext('getEmulatorsById', () async {
       final _MockEmulator emulator1 =
-          new _MockEmulator('Nexus_5', 'Nexus 5', 'Google', '');
+          _MockEmulator('Nexus_5', 'Nexus 5', 'Google', '');
       final _MockEmulator emulator2 =
-          new _MockEmulator('Nexus_5X_API_27_x86', 'Nexus 5X', 'Google', '');
+          _MockEmulator('Nexus_5X_API_27_x86', 'Nexus 5X', 'Google', '');
       final _MockEmulator emulator3 =
-          new _MockEmulator('iOS Simulator', 'iOS Simulator', 'Apple', '');
+          _MockEmulator('iOS Simulator', 'iOS Simulator', 'Apple', '');
       final List<Emulator> emulators = <Emulator>[
         emulator1,
         emulator2,
         emulator3
       ];
       final TestEmulatorManager testEmulatorManager =
-          new TestEmulatorManager(emulators);
+          TestEmulatorManager(emulators);
 
       Future<Null> expectEmulator(String id, List<Emulator> expected) async {
         expect(await testEmulatorManager.getEmulatorsMatching(id), expected);
@@ -136,11 +136,11 @@
         if (args.length >= 3 && args[0] == 'open' && args[1] == '-a' && args[2] == '/fake/simulator.app') {
           didAttemptToRunSimulator = true;
         }
-        return new ProcessResult(101, 0, '', '');
+        return ProcessResult(101, 0, '', '');
       });
     });
     testUsingContext('runs correct launch commands', () async {
-      final Emulator emulator = new IOSEmulator('ios');
+      final Emulator emulator = IOSEmulator('ios');
       await emulator.launch();
       expect(didAttemptToRunSimulator, equals(true));
     }, overrides: <Type, Generator>{
@@ -158,7 +158,7 @@
 
   @override
   Future<List<Emulator>> getAllAvailableEmulators() {
-    return new Future<List<Emulator>>.value(allEmulators);
+    return Future<List<Emulator>>.value(allEmulators);
   }
 }
 
@@ -177,7 +177,7 @@
 
   @override
   Future<void> launch() {
-    throw new UnimplementedError('Not implemented in Mock');
+    throw UnimplementedError('Not implemented in Mock');
   }
 }
 
@@ -210,29 +210,29 @@
     final List<String> args = command.sublist(1);
     switch (command[0]) {
       case '/usr/bin/xcode-select':
-        throw new ProcessException(program, args);
+        throw ProcessException(program, args);
         break;
       case 'emulator':
         return _handleEmulator(args);
       case 'avdmanager':
         return _handleAvdManager(args);
     }
-    throw new StateError('Unexpected process call: $command');
+    throw StateError('Unexpected process call: $command');
   }
 
   ProcessResult _handleEmulator(List<String> args) {
     if (_equality.equals(args, <String>['-list-avds'])) {
-      return new ProcessResult(101, 0, '${_existingAvds.join('\n')}\n', '');
+      return ProcessResult(101, 0, '${_existingAvds.join('\n')}\n', '');
     }
-    throw new ProcessException('emulator', args);
+    throw ProcessException('emulator', args);
   }
 
   ProcessResult _handleAvdManager(List<String> args) {
     if (_equality.equals(args, <String>['list', 'device', '-c'])) {
-      return new ProcessResult(101, 0, 'test\ntest2\npixel\npixel-xl\n', '');
+      return ProcessResult(101, 0, 'test\ntest2\npixel\npixel-xl\n', '');
     }
     if (_equality.equals(args, <String>['create', 'avd', '-n', 'temp'])) {
-      return new ProcessResult(101, 1, '', mockCreateFailureOutput);
+      return ProcessResult(101, 1, '', mockCreateFailureOutput);
     }
     if (args.length == 8 &&
         _equality.equals(args,
@@ -244,7 +244,7 @@
       final String name = args[3];
       // Error if this AVD already existed
       if (_existingAvds.contains(name)) {
-        return new ProcessResult(
+        return ProcessResult(
             101,
             1,
             '',
@@ -252,10 +252,10 @@
             'Use --force if you want to replace it.');
       } else {
         _existingAvds.add(name);
-        return new ProcessResult(101, 0, '', '');
+        return ProcessResult(101, 0, '', '');
       }
     }
-    throw new ProcessException('emulator', args);
+    throw ProcessException('emulator', args);
   }
 }
 
diff --git a/packages/flutter_tools/test/flutter_manifest_test.dart b/packages/flutter_tools/test/flutter_manifest_test.dart
index 2c29651..794ee95 100644
--- a/packages/flutter_tools/test/flutter_manifest_test.dart
+++ b/packages/flutter_tools/test/flutter_manifest_test.dart
@@ -534,13 +534,13 @@
     });
 
     testUsingContextAndFs('Validate manifest on Posix FS',
-        new MemoryFileSystem(style: FileSystemStyle.posix), () {
+        MemoryFileSystem(style: FileSystemStyle.posix), () {
           assertSchemaIsReadable();
         }
     );
 
     testUsingContextAndFs('Validate manifest on Windows FS',
-        new MemoryFileSystem(style: FileSystemStyle.windows), () {
+        MemoryFileSystem(style: FileSystemStyle.windows), () {
           assertSchemaIsReadable();
         }
     );
diff --git a/packages/flutter_tools/test/forbidden_imports_test.dart b/packages/flutter_tools/test/forbidden_imports_test.dart
index 16efccb..cf3b387 100644
--- a/packages/flutter_tools/test/forbidden_imports_test.dart
+++ b/packages/flutter_tools/test/forbidden_imports_test.dart
@@ -21,7 +21,7 @@
         .map(_asFile);
       for (File file in files) {
         for (String line in file.readAsLinesSync()) {
-          if (line.startsWith(new RegExp(r'import.*dart:io')) &&
+          if (line.startsWith(RegExp(r'import.*dart:io')) &&
               !line.contains('ignore: dart_io_import')) {
             final String relativePath = fs.path.relative(file.path, from:flutterTools);
             fail("$relativePath imports 'dart:io'; import 'lib/src/base/io.dart' instead");
@@ -39,7 +39,7 @@
         .map(_asFile);
       for (File file in files) {
         for (String line in file.readAsLinesSync()) {
-          if (line.startsWith(new RegExp(r'import.*package:path/path.dart'))) {
+          if (line.startsWith(RegExp(r'import.*package:path/path.dart'))) {
             final String relativePath = fs.path.relative(file.path, from:flutterTools);
             fail("$relativePath imports 'package:path/path.dart'; use 'fs.path' instead");
           }
diff --git a/packages/flutter_tools/test/hot_test.dart b/packages/flutter_tools/test/hot_test.dart
index d074ff1..9d92cd2 100644
--- a/packages/flutter_tools/test/hot_test.dart
+++ b/packages/flutter_tools/test/hot_test.dart
@@ -93,35 +93,35 @@
   });
 
   group('hotRestart', () {
-    final MockResidentCompiler residentCompiler = new MockResidentCompiler();
+    final MockResidentCompiler residentCompiler = MockResidentCompiler();
     MockLocalEngineArtifacts mockArtifacts;
 
     setUp(() {
-      mockArtifacts = new MockLocalEngineArtifacts();
+      mockArtifacts = MockLocalEngineArtifacts();
       when(mockArtifacts.getArtifactPath(Artifact.flutterPatchedSdkPath)).thenReturn('some/path');
     });
 
     testUsingContext('no setup', () async {
-      final List<FlutterDevice> devices = <FlutterDevice>[new FlutterDevice(new MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
-      expect((await new HotRunner(devices).restart(fullRestart: true)).isOk, true);
+      final List<FlutterDevice> devices = <FlutterDevice>[FlutterDevice(MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
+      expect((await HotRunner(devices).restart(fullRestart: true)).isOk, true);
     }, overrides: <Type, Generator>{
       Artifacts: () => mockArtifacts,
     });
 
     testUsingContext('setup function succeeds', () async {
-      final List<FlutterDevice> devices = <FlutterDevice>[new FlutterDevice(new MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
-      expect((await new HotRunner(devices).restart(fullRestart: true)).isOk, true);
+      final List<FlutterDevice> devices = <FlutterDevice>[FlutterDevice(MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
+      expect((await HotRunner(devices).restart(fullRestart: true)).isOk, true);
     }, overrides: <Type, Generator>{
       Artifacts: () => mockArtifacts,
-      HotRunnerConfig: () => new TestHotRunnerConfig(successfulSetup: true),
+      HotRunnerConfig: () => TestHotRunnerConfig(successfulSetup: true),
     });
 
     testUsingContext('setup function fails', () async {
-      final List<FlutterDevice> devices = <FlutterDevice>[new FlutterDevice(new MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
-      expect((await new HotRunner(devices).restart(fullRestart: true)).isOk, false);
+      final List<FlutterDevice> devices = <FlutterDevice>[FlutterDevice(MockDevice(), generator: residentCompiler, trackWidgetCreation: false)];
+      expect((await HotRunner(devices).restart(fullRestart: true)).isOk, false);
     }, overrides: <Type, Generator>{
       Artifacts: () => mockArtifacts,
-      HotRunnerConfig: () => new TestHotRunnerConfig(successfulSetup: false),
+      HotRunnerConfig: () => TestHotRunnerConfig(successfulSetup: false),
     });
   });
 }
diff --git a/packages/flutter_tools/test/integration/expression_evaluation_test.dart b/packages/flutter_tools/test/integration/expression_evaluation_test.dart
index c7401fc..3648669 100644
--- a/packages/flutter_tools/test/integration/expression_evaluation_test.dart
+++ b/packages/flutter_tools/test/integration/expression_evaluation_test.dart
@@ -17,13 +17,13 @@
 void main() {
   group('expression evaluation', () {
     Directory tempDir;
-    final BasicProject _project = new BasicProject();
+    final BasicProject _project = BasicProject();
     FlutterTestDriver _flutter;
 
     setUp(() async {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_expression_test.');
       await _project.setUpIn(tempDir);
-      _flutter = new FlutterTestDriver(tempDir);
+      _flutter = FlutterTestDriver(tempDir);
     });
 
     tearDown(() async {
@@ -58,11 +58,11 @@
 
     Future<void> evaluateComplexExpressions() async {
       final VMInstanceRef res = await _flutter.evaluateExpression('new DateTime.now().year');
-      expect(res is VMIntInstanceRef && res.value == new DateTime.now().year, isTrue);
+      expect(res is VMIntInstanceRef && res.value == DateTime.now().year, isTrue);
     }
 
     Future<void> evaluateComplexReturningExpressions() async {
-      final DateTime now = new DateTime.now();
+      final DateTime now = DateTime.now();
       final VMInstanceRef resp = await _flutter.evaluateExpression('new DateTime.now()');
       expect(resp.klass.name, equals('DateTime'));
       // Ensure we got a reasonable approximation. The more accurate we try to
diff --git a/packages/flutter_tools/test/integration/flutter_attach_test.dart b/packages/flutter_tools/test/integration/flutter_attach_test.dart
index b31d5f8..61452b7 100644
--- a/packages/flutter_tools/test/integration/flutter_attach_test.dart
+++ b/packages/flutter_tools/test/integration/flutter_attach_test.dart
@@ -11,14 +11,14 @@
 
 void main() {
   FlutterTestDriver _flutterRun, _flutterAttach;
-  final BasicProject _project = new BasicProject();
+  final BasicProject _project = BasicProject();
   Directory tempDir;
 
   setUp(() async {
     tempDir = fs.systemTempDirectory.createTempSync('flutter_attach_test.');
     await _project.setUpIn(tempDir);
-    _flutterRun = new FlutterTestDriver(tempDir, logPrefix: 'RUN');
-    _flutterAttach = new FlutterTestDriver(tempDir, logPrefix: 'ATTACH');
+    _flutterRun = FlutterTestDriver(tempDir, logPrefix: 'RUN');
+    _flutterAttach = FlutterTestDriver(tempDir, logPrefix: 'ATTACH');
   });
 
   tearDown(() async {
@@ -44,7 +44,7 @@
       await _flutterRun.run(withDebugger: true);
       await _flutterAttach.attach(_flutterRun.vmServicePort);
       await _flutterAttach.quit();
-      _flutterAttach = new FlutterTestDriver(tempDir, logPrefix: 'ATTACH-2');
+      _flutterAttach = FlutterTestDriver(tempDir, logPrefix: 'ATTACH-2');
       await _flutterAttach.attach(_flutterRun.vmServicePort);
       await _flutterAttach.hotReload();
     });
diff --git a/packages/flutter_tools/test/integration/flutter_run_test.dart b/packages/flutter_tools/test/integration/flutter_run_test.dart
index 8374eeb..7cbc97b 100644
--- a/packages/flutter_tools/test/integration/flutter_run_test.dart
+++ b/packages/flutter_tools/test/integration/flutter_run_test.dart
@@ -13,7 +13,7 @@
 void main() {
   group('flutter_run', () {
     Directory tempDir;
-    final BasicProject _project = new BasicProject();
+    final BasicProject _project = BasicProject();
 
     setUp(() async {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_run_integration_test.');
diff --git a/packages/flutter_tools/test/integration/hot_reload_test.dart b/packages/flutter_tools/test/integration/hot_reload_test.dart
index 28330c1..97eb158 100644
--- a/packages/flutter_tools/test/integration/hot_reload_test.dart
+++ b/packages/flutter_tools/test/integration/hot_reload_test.dart
@@ -15,13 +15,13 @@
 void main() {
   group('hot', () {
     Directory tempDir;
-    final BasicProject _project = new BasicProject();
+    final BasicProject _project = BasicProject();
     FlutterTestDriver _flutter;
 
     setUp(() async {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_hot_reload_test_app.');
       await _project.setUpIn(tempDir);
-      _flutter = new FlutterTestDriver(tempDir);
+      _flutter = FlutterTestDriver(tempDir);
     });
 
     tearDown(() async {
@@ -46,7 +46,7 @@
 
       // Hit breakpoint using a file:// URI.
       final VMIsolate isolate = await _flutter.breakAt(
-          new Uri.file(_project.breakpointFile).toString(),
+          Uri.file(_project.breakpointFile).toString(),
           _project.breakpointLine);
       expect(isolate.pauseEvent, isInstanceOf<VMPauseBreakpointEvent>());
 
diff --git a/packages/flutter_tools/test/integration/lifetime_test.dart b/packages/flutter_tools/test/integration/lifetime_test.dart
index 471f59e..76aa644 100644
--- a/packages/flutter_tools/test/integration/lifetime_test.dart
+++ b/packages/flutter_tools/test/integration/lifetime_test.dart
@@ -18,14 +18,14 @@
 
 void main() {
   group('flutter run', () {
-    final BasicProject _project = new BasicProject();
+    final BasicProject _project = BasicProject();
     FlutterTestDriver _flutter;
     Directory tempDir;
 
     setUp(() async {
       tempDir = fs.systemTempDirectory.createTempSync('flutter_lifetime_test.');
       await _project.setUpIn(tempDir);
-      _flutter = new FlutterTestDriver(tempDir);
+      _flutter = FlutterTestDriver(tempDir);
     });
 
     tearDown(() async {
@@ -35,13 +35,13 @@
 
     test('does not terminate when a debugger is attached', () async {
       await _flutter.run(withDebugger: true);
-      await new Future<void>.delayed(requiredLifespan);
+      await Future<void>.delayed(requiredLifespan);
       expect(_flutter.hasExited, equals(false));
     });
 
     test('does not terminate when a debugger is attached and pause-on-exceptions', () async {
       await _flutter.run(withDebugger: true, pauseOnExceptions: true);
-      await new Future<void>.delayed(requiredLifespan);
+      await Future<void>.delayed(requiredLifespan);
       expect(_flutter.hasExited, equals(false));
     });
   }, timeout: const Timeout.factor(6));
diff --git a/packages/flutter_tools/test/integration/test_data/test_project.dart b/packages/flutter_tools/test/integration/test_data/test_project.dart
index 1b73c45..ae9b739 100644
--- a/packages/flutter_tools/test/integration/test_data/test_project.dart
+++ b/packages/flutter_tools/test/integration/test_data/test_project.dart
@@ -29,7 +29,7 @@
   int lineContaining(String contents, String search) {
     final int index = contents.split('\n').indexWhere((String l) => l.contains(search));
     if (index == -1)
-      throw new Exception("Did not find '$search' inside the file");
+      throw Exception("Did not find '$search' inside the file");
     return index;
   }
 }
diff --git a/packages/flutter_tools/test/integration/test_driver.dart b/packages/flutter_tools/test/integration/test_driver.dart
index fb350f4..e70eb15 100644
--- a/packages/flutter_tools/test/integration/test_driver.dart
+++ b/packages/flutter_tools/test/integration/test_driver.dart
@@ -30,10 +30,10 @@
   final String _logPrefix;
   Process _proc;
   int _procPid;
-  final StreamController<String> _stdout = new StreamController<String>.broadcast();
-  final StreamController<String> _stderr = new StreamController<String>.broadcast();
-  final StreamController<String> _allMessages = new StreamController<String>.broadcast();
-  final StringBuffer _errorBuffer = new StringBuffer();
+  final StreamController<String> _stdout = StreamController<String>.broadcast();
+  final StreamController<String> _stderr = StreamController<String>.broadcast();
+  final StreamController<String> _allMessages = StreamController<String>.broadcast();
+  final StringBuffer _errorBuffer = StringBuffer();
   String _lastResponse;
   String _currentRunningAppId;
   Uri _vmServiceWsUri;
@@ -125,13 +125,13 @@
       _vmServiceWsUri = Uri.parse(wsUriString);
       _vmServicePort = debugPort['params']['port'];
       // Proxy the stream/sink for the VM Client so we can debugPrint it.
-      final StreamChannel<String> channel = new IOWebSocketChannel.connect(_vmServiceWsUri)
+      final StreamChannel<String> channel = IOWebSocketChannel.connect(_vmServiceWsUri)
           .cast<String>()
           .changeStream((Stream<String> stream) => stream.map(_debugPrint))
           .changeSink((StreamSink<String> sink) =>
-              new StreamController<String>()
+              StreamController<String>()
                 ..stream.listen((String s) => sink.add(_debugPrint(s))));
-      vmService = new VMServiceClient(channel);
+      vmService = VMServiceClient(channel);
 
       // Because we start paused, resume so the app is in a "running" state as
       // expected by tests. Tests will reload/restart as required if they need
@@ -153,7 +153,7 @@
 
   Future<void> _restart({bool fullRestart = false, bool pause = false}) async {
     if (_currentRunningAppId == null)
-      throw new Exception('App has not started yet');
+      throw Exception('App has not started yet');
 
     final dynamic hotReloadResp = await _sendRequest(
         'app.restart',
@@ -291,7 +291,7 @@
     final VMIsolate isolate = await vm.isolates.first.load();
     final VMStack stack = await isolate.getStack();
     if (stack.frames.isEmpty) {
-      throw new Exception('Stack is empty');
+      throw Exception('Stack is empty');
     }
     return stack.frames.first;
   }
@@ -308,7 +308,7 @@
     Duration timeout,
     bool ignoreAppStopEvent = false,
   }) async {
-    final Completer<Map<String, dynamic>> response = new Completer<Map<String, dynamic>>();
+    final Completer<Map<String, dynamic>> response = Completer<Map<String, dynamic>>();
     StreamSubscription<String> sub;
     sub = _stdout.stream.listen((String line) async {
       final dynamic json = _parseFlutterResponse(line);
@@ -321,7 +321,7 @@
         response.complete(json);
       } else if (!ignoreAppStopEvent && json['event'] == 'app.stop') {
         await sub.cancel();
-        final StringBuffer error = new StringBuffer();
+        final StringBuffer error = StringBuffer();
         error.write('Received app.stop event while waiting for ');
         error.write('${event != null ? '$event event' : 'response to request $id.'}.\n\n');
         if (json['params'] != null && json['params']['error'] != null) {
@@ -345,10 +345,10 @@
   Future<T> _timeoutWithMessages<T>(Future<T> Function() f, {Duration timeout, String message}) {
     // Capture output to a buffer so if we don't get the response we want we can show
     // the output that did arrive in the timeout error.
-    final StringBuffer messages = new StringBuffer();
-    final DateTime start = new DateTime.now();
+    final StringBuffer messages = StringBuffer();
+    final DateTime start = DateTime.now();
     void logMessage(String m) {
-      final int ms = new DateTime.now().difference(start).inMilliseconds;
+      final int ms = DateTime.now().difference(start).inMilliseconds;
       messages.writeln('[+ ${ms.toString().padLeft(5)}] $m');
     }
     final StreamSubscription<String> sub = _allMessages.stream.listen(logMessage);
diff --git a/packages/flutter_tools/test/integration/test_utils.dart b/packages/flutter_tools/test/integration/test_utils.dart
index 8f8a9d8..b75543a 100644
--- a/packages/flutter_tools/test/integration/test_utils.dart
+++ b/packages/flutter_tools/test/integration/test_utils.dart
@@ -39,10 +39,10 @@
     'get'
   ];
   final Process process = await processManager.start(command, workingDirectory: folder);
-  final StringBuffer errorOutput = new StringBuffer();
+  final StringBuffer errorOutput = StringBuffer();
   process.stderr.transform(utf8.decoder).listen(errorOutput.write);
   final int exitCode = await process.exitCode;
   if (exitCode != 0)
-    throw new Exception(
+    throw Exception(
         'flutter packages get failed: ${errorOutput.toString()}');
 }
diff --git a/packages/flutter_tools/test/intellij/intellij_test.dart b/packages/flutter_tools/test/intellij/intellij_test.dart
index 2236616..2da197f 100644
--- a/packages/flutter_tools/test/intellij/intellij_test.dart
+++ b/packages/flutter_tools/test/intellij/intellij_test.dart
@@ -23,13 +23,13 @@
   }
 
   setUp(() {
-    fs = new MemoryFileSystem();
+    fs = MemoryFileSystem();
   });
 
   group('IntelliJ', () {
     group('plugins', () {
       testUsingContext('found', () async {
-        final IntelliJPlugins plugins = new IntelliJPlugins(_kPluginsPath);
+        final IntelliJPlugins plugins = IntelliJPlugins(_kPluginsPath);
 
         final Archive dartJarArchive =
             buildSingleFileArchive('META-INF/plugin.xml', r'''
@@ -40,7 +40,7 @@
 ''');
         writeFileCreatingDirectories(
             fs.path.join(_kPluginsPath, 'Dart', 'lib', 'Dart.jar'),
-            new ZipEncoder().encode(dartJarArchive));
+            ZipEncoder().encode(dartJarArchive));
 
         final Archive flutterJarArchive =
             buildSingleFileArchive('META-INF/plugin.xml', r'''
@@ -51,7 +51,7 @@
 ''');
         writeFileCreatingDirectories(
             fs.path.join(_kPluginsPath, 'flutter-intellij.jar'),
-            new ZipEncoder().encode(flutterJarArchive));
+            ZipEncoder().encode(flutterJarArchive));
 
         final List<ValidationMessage> messages = <ValidationMessage>[];
         plugins.validatePackage(messages, <String>['Dart'], 'Dart');
@@ -72,7 +72,7 @@
       });
 
       testUsingContext('not found', () async {
-        final IntelliJPlugins plugins = new IntelliJPlugins(_kPluginsPath);
+        final IntelliJPlugins plugins = IntelliJPlugins(_kPluginsPath);
 
         final List<ValidationMessage> messages = <ValidationMessage>[];
         plugins.validatePackage(messages, <String>['Dart'], 'Dart');
@@ -97,10 +97,10 @@
 const String _kPluginsPath = '/data/intellij/plugins';
 
 Archive buildSingleFileArchive(String path, String content) {
-  final Archive archive = new Archive();
+  final Archive archive = Archive();
 
   final List<int> bytes = utf8.encode(content);
-  archive.addFile(new ArchiveFile(path, bytes.length, bytes));
+  archive.addFile(ArchiveFile(path, bytes.length, bytes));
 
   return archive;
 }
diff --git a/packages/flutter_tools/test/ios/cocoapods_test.dart b/packages/flutter_tools/test/ios/cocoapods_test.dart
index e732615..a39c8d2 100644
--- a/packages/flutter_tools/test/ios/cocoapods_test.dart
+++ b/packages/flutter_tools/test/ios/cocoapods_test.dart
@@ -42,12 +42,12 @@
 
   setUp(() async {
     Cache.flutterRoot = 'flutter';
-    fs = new MemoryFileSystem();
-    mockProcessManager = new MockProcessManager();
-    mockXcodeProjectInterpreter = new MockXcodeProjectInterpreter();
+    fs = MemoryFileSystem();
+    mockProcessManager = MockProcessManager();
+    mockXcodeProjectInterpreter = MockXcodeProjectInterpreter();
     projectUnderTest = await FlutterProject.fromDirectory(fs.directory('project'));
     projectUnderTest.ios.directory.childDirectory('Runner.xcodeproj').createSync(recursive: true);
-    cocoaPodsUnderTest = new CocoaPods();
+    cocoaPodsUnderTest = CocoaPods();
     pretendPodVersionIs('1.5.0');
     fs.file(fs.path.join(
       Cache.flutterRoot, 'packages', 'flutter_tools', 'templates', 'cocoapods', 'Podfile-objc'
@@ -399,7 +399,7 @@
       projectUnderTest.ios.podManifestLock
         ..createSync(recursive: true)
         ..writeAsStringSync('Existing lock file.');
-      await new Future<void>.delayed(const Duration(milliseconds: 10));
+      await Future<void>.delayed(const Duration(milliseconds: 10));
       projectUnderTest.ios.podfile
         ..writeAsStringSync('Updated Podfile');
       await cocoaPodsUnderTest.processPods(
@@ -488,5 +488,5 @@
 class MockProcessManager extends Mock implements ProcessManager {}
 class MockXcodeProjectInterpreter extends Mock implements XcodeProjectInterpreter {}
 
-ProcessResult exitsWithError([String stdout = '']) => new ProcessResult(1, 1, stdout, '');
-ProcessResult exitsHappy([String stdout = '']) => new ProcessResult(1, 0, stdout, '');
+ProcessResult exitsWithError([String stdout = '']) => ProcessResult(1, 1, stdout, '');
+ProcessResult exitsHappy([String stdout = '']) => ProcessResult(1, 0, stdout, '');
diff --git a/packages/flutter_tools/test/ios/code_signing_test.dart b/packages/flutter_tools/test/ios/code_signing_test.dart
index 38b6b09..be540de 100644
--- a/packages/flutter_tools/test/ios/code_signing_test.dart
+++ b/packages/flutter_tools/test/ios/code_signing_test.dart
@@ -28,14 +28,14 @@
     AnsiTerminal testTerminal;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      mockConfig = new MockConfig();
-      mockIosProject = new MockIosProject();
+      mockProcessManager = MockProcessManager();
+      mockConfig = MockConfig();
+      mockIosProject = MockIosProject();
       when(mockIosProject.buildSettings).thenReturn(<String, String>{
         'For our purposes': 'a non-empty build settings map is valid',
       });
-      testTerminal = new TestTerminal();
-      app = new BuildableIOSApp(mockIosProject);
+      testTerminal = TestTerminal();
+      app = BuildableIOSApp(mockIosProject);
     });
 
     testUsingContext('No auto-sign if Xcode project settings are not available', () async {
@@ -99,7 +99,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -111,27 +111,27 @@
         <String>['security', 'find-certificate', '-c', '1111AAAA11', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
         '',
       ));
 
-      final MockProcess mockProcess = new MockProcess();
-      final MockStdIn mockStdIn = new MockStdIn();
-      final MockStream mockStdErr = new MockStream();
+      final MockProcess mockProcess = MockProcess();
+      final MockStdIn mockStdIn = MockStdIn();
+      final MockStream mockStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockProcess));
 
       when(mockProcess.stdin).thenReturn(mockStdIn);
       when(mockProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Profile 1 (1111AAAA11)/OU=3333CCCC33/O=My Team/C=US'
             ))
           ));
@@ -158,7 +158,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -170,27 +170,27 @@
         <String>['security', 'find-certificate', '-c', '1111AAAA11', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
         '',
       ));
 
-      final MockProcess mockProcess = new MockProcess();
-      final MockStdIn mockStdIn = new MockStdIn();
-      final MockStream mockStdErr = new MockStream();
+      final MockProcess mockProcess = MockProcess();
+      final MockStdIn mockStdIn = MockStdIn();
+      final MockStream mockStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockProcess));
 
       when(mockProcess.stdin).thenReturn(mockStdIn);
       when(mockProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Google Development (1111AAAA11)/OU=3333CCCC33/O=My Team/C=US'
             ))
           ));
@@ -221,7 +221,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -232,37 +232,37 @@
         ''
       ));
       mockTerminalStdInStream =
-          new Stream<String>.fromFuture(new Future<String>.value('3'));
+          Stream<String>.fromFuture(Future<String>.value('3'));
       when(mockProcessManager.runSync(
         <String>['security', 'find-certificate', '-c', '3333CCCC33', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
         '',
       ));
 
-      final MockProcess mockOpenSslProcess = new MockProcess();
-      final MockStdIn mockOpenSslStdIn = new MockStdIn();
-      final MockStream mockOpenSslStdErr = new MockStream();
+      final MockProcess mockOpenSslProcess = MockProcess();
+      final MockStdIn mockOpenSslStdIn = MockStdIn();
+      final MockStream mockOpenSslStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockOpenSslProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockOpenSslProcess));
 
       when(mockOpenSslProcess.stdin).thenReturn(mockOpenSslStdIn);
       when(mockOpenSslProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Profile 3 (3333CCCC33)/OU=4444DDDD44/O=My Team/C=US'
             ))
           ));
       when(mockOpenSslProcess.stderr).thenAnswer((Invocation invocation) => mockOpenSslStdErr);
-      when(mockOpenSslProcess.exitCode).thenAnswer((_) => new Future<int>.value(0));
+      when(mockOpenSslProcess.exitCode).thenAnswer((_) => Future<int>.value(0));
 
       final Map<String, String> signingConfigs = await getCodeSigningIdentityDevelopmentTeam(iosApp: app);
 
@@ -295,7 +295,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -306,37 +306,37 @@
           ''
       ));
       mockTerminalStdInStream =
-        new Stream<String>.fromFuture(new Future<String>.error(new Exception('Cannot read from StdIn')));
+        Stream<String>.fromFuture(Future<String>.error(Exception('Cannot read from StdIn')));
       when(mockProcessManager.runSync(
         <String>['security', 'find-certificate', '-c', '1111AAAA11', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
         '',
       ));
 
-      final MockProcess mockOpenSslProcess = new MockProcess();
-      final MockStdIn mockOpenSslStdIn = new MockStdIn();
-      final MockStream mockOpenSslStdErr = new MockStream();
+      final MockProcess mockOpenSslProcess = MockProcess();
+      final MockStdIn mockOpenSslStdIn = MockStdIn();
+      final MockStream mockOpenSslStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockOpenSslProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockOpenSslProcess));
 
       when(mockOpenSslProcess.stdin).thenReturn(mockOpenSslStdIn);
       when(mockOpenSslProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Profile 1 (1111AAAA11)/OU=5555EEEE55/O=My Team/C=US'
             )),
           ));
       when(mockOpenSslProcess.stderr).thenAnswer((Invocation invocation) => mockOpenSslStdErr);
-      when(mockOpenSslProcess.exitCode).thenAnswer((_) => new Future<int>.value(0));
+      when(mockOpenSslProcess.exitCode).thenAnswer((_) => Future<int>.value(0));
 
       final Map<String, String> signingConfigs = await getCodeSigningIdentityDevelopmentTeam(iosApp: app, usesTerminalUi: false);
 
@@ -363,7 +363,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -377,32 +377,32 @@
         <String>['security', 'find-certificate', '-c', '3333CCCC33', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
         '',
       ));
 
-      final MockProcess mockOpenSslProcess = new MockProcess();
-      final MockStdIn mockOpenSslStdIn = new MockStdIn();
-      final MockStream mockOpenSslStdErr = new MockStream();
+      final MockProcess mockOpenSslProcess = MockProcess();
+      final MockStdIn mockOpenSslStdIn = MockStdIn();
+      final MockStream mockOpenSslStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockOpenSslProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockOpenSslProcess));
 
       when(mockOpenSslProcess.stdin).thenReturn(mockOpenSslStdIn);
       when(mockOpenSslProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Profile 3 (3333CCCC33)/OU=4444DDDD44/O=My Team/C=US'
             ))
           ));
       when(mockOpenSslProcess.stderr).thenAnswer((Invocation invocation) => mockOpenSslStdErr);
-      when(mockOpenSslProcess.exitCode).thenAnswer((_) => new Future<int>.value(0));
+      when(mockOpenSslProcess.exitCode).thenAnswer((_) => Future<int>.value(0));
       when<String>(mockConfig.getValue('ios-signing-cert')).thenReturn('iPhone Developer: Profile 3 (3333CCCC33)');
 
       final Map<String, String> signingConfigs = await getCodeSigningIdentityDevelopmentTeam(iosApp: app);
@@ -433,7 +433,7 @@
       argThat(contains('find-identity')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         '''
@@ -444,12 +444,12 @@
         ''
       ));
       mockTerminalStdInStream =
-          new Stream<String>.fromFuture(new Future<String>.value('3'));
+          Stream<String>.fromFuture(Future<String>.value('3'));
       when(mockProcessManager.runSync(
         <String>['security', 'find-certificate', '-c', '3333CCCC33', '-p'],
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(
+      )).thenReturn(ProcessResult(
         1, // pid
         0, // exitCode
         'This is a mock certificate',
@@ -457,25 +457,25 @@
       ));
 
 
-      final MockProcess mockOpenSslProcess = new MockProcess();
-      final MockStdIn mockOpenSslStdIn = new MockStdIn();
-      final MockStream mockOpenSslStdErr = new MockStream();
+      final MockProcess mockOpenSslProcess = MockProcess();
+      final MockStdIn mockOpenSslStdIn = MockStdIn();
+      final MockStream mockOpenSslStdErr = MockStream();
 
       when(mockProcessManager.start(
       argThat(contains('openssl')),
         environment: anyNamed('environment'),
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenAnswer((Invocation invocation) => new Future<Process>.value(mockOpenSslProcess));
+      )).thenAnswer((Invocation invocation) => Future<Process>.value(mockOpenSslProcess));
 
       when(mockOpenSslProcess.stdin).thenReturn(mockOpenSslStdIn);
       when(mockOpenSslProcess.stdout)
-          .thenAnswer((Invocation invocation) => new Stream<List<int>>.fromFuture(
-            new Future<List<int>>.value(utf8.encode(
+          .thenAnswer((Invocation invocation) => Stream<List<int>>.fromFuture(
+            Future<List<int>>.value(utf8.encode(
               'subject= /CN=iPhone Developer: Profile 3 (3333CCCC33)/OU=4444DDDD44/O=My Team/C=US'
             ))
           ));
       when(mockOpenSslProcess.stderr).thenAnswer((Invocation invocation) => mockOpenSslStdErr);
-      when(mockOpenSslProcess.exitCode).thenAnswer((_) => new Future<int>.value(0));
+      when(mockOpenSslProcess.exitCode).thenAnswer((_) => Future<int>.value(0));
       when<String>(mockConfig.getValue('ios-signing-cert')).thenReturn('iPhone Developer: Invalid Profile');
 
       final Map<String, String> signingConfigs = await getCodeSigningIdentityDevelopmentTeam(iosApp: app);
@@ -499,14 +499,14 @@
   });
 }
 
-final ProcessResult exitsHappy = new ProcessResult(
+final ProcessResult exitsHappy = ProcessResult(
   1, // pid
   0, // exitCode
   '', // stdout
   '', // stderr
 );
 
-final ProcessResult exitsFail = new ProcessResult(
+final ProcessResult exitsFail = ProcessResult(
   2, // pid
   1, // exitCode
   '', // stdout
diff --git a/packages/flutter_tools/test/ios/devices_test.dart b/packages/flutter_tools/test/ios/devices_test.dart
index b2a1291..39518a6 100644
--- a/packages/flutter_tools/test/ios/devices_test.dart
+++ b/packages/flutter_tools/test/ios/devices_test.dart
@@ -26,14 +26,14 @@
 class MockProcess extends Mock implements Process {}
 
 void main() {
-  final FakePlatform osx = new FakePlatform.fromPlatform(const LocalPlatform());
+  final FakePlatform osx = FakePlatform.fromPlatform(const LocalPlatform());
   osx.operatingSystem = 'macos';
 
   group('getAttachedDevices', () {
     MockIMobileDevice mockIMobileDevice;
 
     setUp(() {
-      mockIMobileDevice = new MockIMobileDevice();
+      mockIMobileDevice = MockIMobileDevice();
     });
 
     testUsingContext('return no devices if Xcode is not installed', () async {
@@ -46,7 +46,7 @@
     testUsingContext('returns no devices if none are attached', () async {
       when(iMobileDevice.isInstalled).thenReturn(true);
       when(iMobileDevice.getAvailableDeviceIDs())
-          .thenAnswer((Invocation invocation) => new Future<String>.value(''));
+          .thenAnswer((Invocation invocation) => Future<String>.value(''));
       final List<IOSDevice> devices = await IOSDevice.getAttachedDevices();
       expect(devices, isEmpty);
     }, overrides: <Type, Generator>{
@@ -56,18 +56,18 @@
     testUsingContext('returns attached devices', () async {
       when(iMobileDevice.isInstalled).thenReturn(true);
       when(iMobileDevice.getAvailableDeviceIDs())
-          .thenAnswer((Invocation invocation) => new Future<String>.value('''
+          .thenAnswer((Invocation invocation) => Future<String>.value('''
 98206e7a4afd4aedaff06e687594e089dede3c44
 f577a7903cc54959be2e34bc4f7f80b7009efcf4
 '''));
       when(iMobileDevice.getInfoForDevice('98206e7a4afd4aedaff06e687594e089dede3c44', 'DeviceName'))
-          .thenAnswer((_) => new Future<String>.value('La tele me regarde'));
+          .thenAnswer((_) => Future<String>.value('La tele me regarde'));
       when(iMobileDevice.getInfoForDevice('98206e7a4afd4aedaff06e687594e089dede3c44', 'ProductVersion'))
-          .thenAnswer((_) => new Future<String>.value('10.3.2'));
+          .thenAnswer((_) => Future<String>.value('10.3.2'));
       when(iMobileDevice.getInfoForDevice('f577a7903cc54959be2e34bc4f7f80b7009efcf4', 'DeviceName'))
-          .thenAnswer((_) => new Future<String>.value('Puits sans fond'));
+          .thenAnswer((_) => Future<String>.value('Puits sans fond'));
       when(iMobileDevice.getInfoForDevice('f577a7903cc54959be2e34bc4f7f80b7009efcf4', 'ProductVersion'))
-          .thenAnswer((_) => new Future<String>.value('11.0'));
+          .thenAnswer((_) => Future<String>.value('11.0'));
       final List<IOSDevice> devices = await IOSDevice.getAttachedDevices();
       expect(devices, hasLength(2));
       expect(devices[0].id, '98206e7a4afd4aedaff06e687594e089dede3c44');
@@ -95,15 +95,15 @@
     MockIosProject mockIosProject;
 
     setUp(() {
-      mockIMobileDevice = new MockIMobileDevice();
-      mockIosProject = new MockIosProject();
+      mockIMobileDevice = MockIMobileDevice();
+      mockIosProject = MockIosProject();
     });
 
     testUsingContext('suppresses non-Flutter lines from output', () async {
       when(mockIMobileDevice.startLogger()).thenAnswer((Invocation invocation) {
-        final Process mockProcess = new MockProcess();
+        final Process mockProcess = MockProcess();
         when(mockProcess.stdout).thenAnswer((Invocation invocation) =>
-            new Stream<List<int>>.fromIterable(<List<int>>['''
+            Stream<List<int>>.fromIterable(<List<int>>['''
   Runner(Flutter)[297] <Notice>: A is for ari
   Runner(libsystem_asl.dylib)[297] <Notice>: libMobileGestalt MobileGestaltSupport.m:153: pid 123 (Runner) does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled
   Runner(libsystem_asl.dylib)[297] <Notice>: libMobileGestalt MobileGestalt.c:550: no access to InverseDeviceID (see <rdar://problem/11744455>)
@@ -114,13 +114,13 @@
             .thenAnswer((Invocation invocation) => const Stream<List<int>>.empty());
         // Delay return of exitCode until after stdout stream data, since it terminates the logger.
         when(mockProcess.exitCode)
-            .thenAnswer((Invocation invocation) => new Future<int>.delayed(Duration.zero, () => 0));
-        return new Future<Process>.value(mockProcess);
+            .thenAnswer((Invocation invocation) => Future<int>.delayed(Duration.zero, () => 0));
+        return Future<Process>.value(mockProcess);
       });
 
-      final IOSDevice device = new IOSDevice('123456');
+      final IOSDevice device = IOSDevice('123456');
       final DeviceLogReader logReader = device.getLogReader(
-        app: new BuildableIOSApp(mockIosProject),
+        app: BuildableIOSApp(mockIosProject),
       );
 
       final List<String> lines = await logReader.logLines.toList();
@@ -131,9 +131,9 @@
 
     testUsingContext('includes multi-line Flutter logs in the output', () async {
       when(mockIMobileDevice.startLogger()).thenAnswer((Invocation invocation) {
-        final Process mockProcess = new MockProcess();
+        final Process mockProcess = MockProcess();
         when(mockProcess.stdout).thenAnswer((Invocation invocation) =>
-            new Stream<List<int>>.fromIterable(<List<int>>['''
+            Stream<List<int>>.fromIterable(<List<int>>['''
   Runner(Flutter)[297] <Notice>: This is a multi-line message,
   with another Flutter message following it.
   Runner(Flutter)[297] <Notice>: This is a multi-line message,
@@ -144,13 +144,13 @@
             .thenAnswer((Invocation invocation) => const Stream<List<int>>.empty());
         // Delay return of exitCode until after stdout stream data, since it terminates the logger.
         when(mockProcess.exitCode)
-            .thenAnswer((Invocation invocation) => new Future<int>.delayed(Duration.zero, () => 0));
-        return new Future<Process>.value(mockProcess);
+            .thenAnswer((Invocation invocation) => Future<int>.delayed(Duration.zero, () => 0));
+        return Future<Process>.value(mockProcess);
       });
 
-      final IOSDevice device = new IOSDevice('123456');
+      final IOSDevice device = IOSDevice('123456');
       final DeviceLogReader logReader = device.getLogReader(
-        app: new BuildableIOSApp(mockIosProject),
+        app: BuildableIOSApp(mockIosProject),
       );
 
       final List<String> lines = await logReader.logLines.toList();
diff --git a/packages/flutter_tools/test/ios/ios_workflow_test.dart b/packages/flutter_tools/test/ios/ios_workflow_test.dart
index 981d4a7..a4cacf7 100644
--- a/packages/flutter_tools/test/ios/ios_workflow_test.dart
+++ b/packages/flutter_tools/test/ios/ios_workflow_test.dart
@@ -27,11 +27,11 @@
     FileSystem fs;
 
     setUp(() {
-      iMobileDevice = new MockIMobileDevice();
-      xcode = new MockXcode();
-      processManager = new MockProcessManager();
-      cocoaPods = new MockCocoaPods();
-      fs = new MemoryFileSystem();
+      iMobileDevice = MockIMobileDevice();
+      xcode = MockXcode();
+      processManager = MockProcessManager();
+      cocoaPods = MockCocoaPods();
+      fs = MemoryFileSystem();
 
       when(cocoaPods.evaluateCocoaPodsInstallation)
           .thenAnswer((_) async => CocoaPodsStatus.recommended);
@@ -42,7 +42,7 @@
     testUsingContext('Emit missing status when nothing is installed', () async {
       when(xcode.isInstalled).thenReturn(false);
       when(xcode.xcodeSelectPath).thenReturn(null);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget(
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget(
         hasHomebrew: false,
         hasIosDeploy: false,
       );
@@ -57,7 +57,7 @@
     testUsingContext('Emits partial status when Xcode is not installed', () async {
       when(xcode.isInstalled).thenReturn(false);
       when(xcode.xcodeSelectPath).thenReturn(null);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -69,7 +69,7 @@
     testUsingContext('Emits partial status when Xcode is partially installed', () async {
       when(xcode.isInstalled).thenReturn(false);
       when(xcode.xcodeSelectPath).thenReturn('/Library/Developer/CommandLineTools');
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -85,7 +85,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(false);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -101,7 +101,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(false);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -117,7 +117,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget(hasHomebrew: false);
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget(hasHomebrew: false);
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -133,11 +133,11 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
-      IMobileDevice: () => new MockIMobileDevice(isInstalled: false, isWorking: false),
+      IMobileDevice: () => MockIMobileDevice(isInstalled: false, isWorking: false),
       Xcode: () => xcode,
       CocoaPods: () => cocoaPods,
     });
@@ -149,11 +149,11 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
-      IMobileDevice: () => new MockIMobileDevice(isWorking: false),
+      IMobileDevice: () => MockIMobileDevice(isWorking: false),
       Xcode: () => xcode,
       CocoaPods: () => cocoaPods,
     });
@@ -165,7 +165,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget(hasIosDeploy: false);
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget(hasIosDeploy: false);
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -181,7 +181,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget(iosDeployVersionText: '1.8.0');
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget(iosDeployVersionText: '1.8.0');
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -199,7 +199,7 @@
       when(cocoaPods.evaluateCocoaPodsInstallation)
           .thenAnswer((_) async => CocoaPodsStatus.notInstalled);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -217,7 +217,7 @@
       when(cocoaPods.evaluateCocoaPodsInstallation)
           .thenAnswer((_) async => CocoaPodsStatus.belowRecommendedVersion);
       when(xcode.isSimctlInstalled).thenReturn(true);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -235,7 +235,7 @@
       when(cocoaPods.isCocoaPodsInitialized).thenAnswer((_) async => false);
       when(xcode.isSimctlInstalled).thenReturn(true);
 
-      final ValidationResult result = await new IOSWorkflowTestTarget().validate();
+      final ValidationResult result = await IOSWorkflowTestTarget().validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
       FileSystem: () => fs,
@@ -252,7 +252,7 @@
       when(xcode.isInstalledAndMeetsVersionCheck).thenReturn(true);
       when(xcode.eulaSigned).thenReturn(true);
       when(xcode.isSimctlInstalled).thenReturn(false);
-      final IOSWorkflowTestTarget workflow = new IOSWorkflowTestTarget();
+      final IOSWorkflowTestTarget workflow = IOSWorkflowTestTarget();
       final ValidationResult result = await workflow.validate();
       expect(result.type, ValidationType.partial);
     }, overrides: <Type, Generator>{
@@ -272,7 +272,7 @@
 
       ensureDirectoryExists(fs.path.join(homeDirPath, '.cocoapods', 'repos', 'master', 'README.md'));
 
-      final ValidationResult result = await new IOSWorkflowTestTarget().validate();
+      final ValidationResult result = await IOSWorkflowTestTarget().validate();
       expect(result.type, ValidationType.installed);
     }, overrides: <Type, Generator>{
       FileSystem: () => fs,
@@ -284,7 +284,7 @@
   });
 }
 
-final ProcessResult exitsHappy = new ProcessResult(
+final ProcessResult exitsHappy = ProcessResult(
   1, // pid
   0, // exitCode
   '', // stdout
@@ -295,7 +295,7 @@
   MockIMobileDevice({
     this.isInstalled = true,
     bool isWorking = true,
-  }) : isWorking = new Future<bool>.value(isWorking);
+  }) : isWorking = Future<bool>.value(isWorking);
 
   @override
   final bool isInstalled;
@@ -314,9 +314,9 @@
     bool hasIosDeploy = true,
     String iosDeployVersionText = '1.9.2',
     bool hasIDeviceInstaller = true,
-  }) : hasIosDeploy = new Future<bool>.value(hasIosDeploy),
-       iosDeployVersionText = new Future<String>.value(iosDeployVersionText),
-       hasIDeviceInstaller = new Future<bool>.value(hasIDeviceInstaller);
+  }) : hasIosDeploy = Future<bool>.value(hasIosDeploy),
+       iosDeployVersionText = Future<String>.value(iosDeployVersionText),
+       hasIDeviceInstaller = Future<bool>.value(hasIDeviceInstaller);
 
   @override
   final bool hasHomebrew;
diff --git a/packages/flutter_tools/test/ios/mac_test.dart b/packages/flutter_tools/test/ios/mac_test.dart
index c30631e..8e3ccc3 100644
--- a/packages/flutter_tools/test/ios/mac_test.dart
+++ b/packages/flutter_tools/test/ios/mac_test.dart
@@ -22,12 +22,12 @@
 
 void main() {
   group('IMobileDevice', () {
-    final FakePlatform osx = new FakePlatform.fromPlatform(const LocalPlatform())
+    final FakePlatform osx = FakePlatform.fromPlatform(const LocalPlatform())
       ..operatingSystem = 'macos';
     MockProcessManager mockProcessManager;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
+      mockProcessManager = MockProcessManager();
     });
 
     testUsingContext('getAvailableDeviceIDs throws ToolExit when libimobiledevice is not installed', () async {
@@ -40,7 +40,7 @@
 
     testUsingContext('getAvailableDeviceIDs throws ToolExit when idevice_id returns non-zero', () async {
       when(mockProcessManager.run(<String>['idevice_id', '-l']))
-          .thenAnswer((_) => new Future<ProcessResult>.value(new ProcessResult(1, 1, '', 'Sad today')));
+          .thenAnswer((_) => Future<ProcessResult>.value(ProcessResult(1, 1, '', 'Sad today')));
       expect(() async => await iMobileDevice.getAvailableDeviceIDs(), throwsToolExit());
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -48,7 +48,7 @@
 
     testUsingContext('getAvailableDeviceIDs returns idevice_id output when installed', () async {
       when(mockProcessManager.run(<String>['idevice_id', '-l']))
-          .thenAnswer((_) => new Future<ProcessResult>.value(new ProcessResult(1, 0, 'foo', '')));
+          .thenAnswer((_) => Future<ProcessResult>.value(ProcessResult(1, 0, 'foo', '')));
       expect(await iMobileDevice.getAvailableDeviceIDs(), 'foo');
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -60,8 +60,8 @@
       MockFile mockOutputFile;
 
       setUp(() {
-        mockProcessManager = new MockProcessManager();
-        mockOutputFile = new MockFile();
+        mockProcessManager = MockProcessManager();
+        mockOutputFile = MockFile();
       });
 
       testUsingContext('error if idevicescreenshot is not installed', () async {
@@ -71,7 +71,7 @@
         when(mockProcessManager.run(<String>['idevicescreenshot', outputPath],
             environment: null,
             workingDirectory: null
-        )).thenAnswer((_) => new Future<ProcessResult>.value(new ProcessResult(4, 1, '', '')));
+        )).thenAnswer((_) => Future<ProcessResult>.value(ProcessResult(4, 1, '', '')));
 
         expect(() async => await iMobileDevice.takeScreenshot(mockOutputFile), throwsA(anything));
       }, overrides: <Type, Generator>{
@@ -82,7 +82,7 @@
       testUsingContext('idevicescreenshot captures and returns screenshot', () async {
         when(mockOutputFile.path).thenReturn(outputPath);
         when(mockProcessManager.run(any, environment: null, workingDirectory: null)).thenAnswer(
-            (Invocation invocation) => new Future<ProcessResult>.value(new ProcessResult(4, 0, '', '')));
+            (Invocation invocation) => Future<ProcessResult>.value(ProcessResult(4, 0, '', '')));
 
         await iMobileDevice.takeScreenshot(mockOutputFile);
         verify(mockProcessManager.run(<String>['idevicescreenshot', outputPath],
@@ -101,9 +101,9 @@
     MockXcodeProjectInterpreter mockXcodeProjectInterpreter;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      mockXcodeProjectInterpreter = new MockXcodeProjectInterpreter();
-      xcode = new Xcode();
+      mockProcessManager = MockProcessManager();
+      mockXcodeProjectInterpreter = MockXcodeProjectInterpreter();
+      xcode = Xcode();
     });
 
     testUsingContext('xcodeSelectPath returns null when xcode-select is not installed', () {
@@ -117,7 +117,7 @@
     testUsingContext('xcodeSelectPath returns path when xcode-select is installed', () {
       const String xcodePath = '/Applications/Xcode8.0.app/Contents/Developer';
       when(mockProcessManager.runSync(<String>['/usr/bin/xcode-select', '--print-path']))
-          .thenReturn(new ProcessResult(1, 0, xcodePath, ''));
+          .thenReturn(ProcessResult(1, 0, xcodePath, ''));
       expect(xcode.xcodeSelectPath, xcodePath);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -176,7 +176,7 @@
 
     testUsingContext('eulaSigned is false when clang output indicates EULA not yet accepted', () {
       when(mockProcessManager.runSync(<String>['/usr/bin/xcrun', 'clang']))
-          .thenReturn(new ProcessResult(1, 1, '', 'Xcode EULA has not been accepted.\nLaunch Xcode and accept the license.'));
+          .thenReturn(ProcessResult(1, 1, '', 'Xcode EULA has not been accepted.\nLaunch Xcode and accept the license.'));
       expect(xcode.eulaSigned, isFalse);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -184,7 +184,7 @@
 
     testUsingContext('eulaSigned is true when clang output indicates EULA has been accepted', () {
       when(mockProcessManager.runSync(<String>['/usr/bin/xcrun', 'clang']))
-          .thenReturn(new ProcessResult(1, 1, '', 'clang: error: no input files'));
+          .thenReturn(ProcessResult(1, 1, '', 'clang: error: no input files'));
       expect(xcode.eulaSigned, isTrue);
     }, overrides: <Type, Generator>{
       ProcessManager: () => mockProcessManager,
@@ -201,7 +201,7 @@
     });
 
     testUsingContext('No provisioning profile shows message', () async {
-      final XcodeBuildResult buildResult = new XcodeBuildResult(
+      final XcodeBuildResult buildResult = XcodeBuildResult(
         success: false,
         stdout: '''
 Launching lib/main.dart on iPhone in debug mode...
@@ -258,7 +258,7 @@
 Could not build the precompiled application for the device.
 
 Error launching application on iPhone.''',
-        xcodeBuildExecution: new XcodeBuildExecution(
+        xcodeBuildExecution: XcodeBuildExecution(
           buildCommands: <String>['xcrun', 'xcodebuild', 'blah'],
           appDirectory: '/blah/blah',
           buildForPhysicalDevice: true,
@@ -274,7 +274,7 @@
     });
 
     testUsingContext('No development team shows message', () async {
-      final XcodeBuildResult buildResult = new XcodeBuildResult(
+      final XcodeBuildResult buildResult = XcodeBuildResult(
         success: false,
         stdout: '''
 Running "flutter packages get" in flutter_gallery...  0.6s
@@ -339,7 +339,7 @@
     Code signing is required for product type 'Application' in SDK 'iOS 10.3'
 
 Could not build the precompiled application for the device.''',
-        xcodeBuildExecution: new XcodeBuildExecution(
+        xcodeBuildExecution: XcodeBuildExecution(
           buildCommands: <String>['xcrun', 'xcodebuild', 'blah'],
           appDirectory: '/blah/blah',
           buildForPhysicalDevice: true,
diff --git a/packages/flutter_tools/test/ios/simulators_test.dart b/packages/flutter_tools/test/ios/simulators_test.dart
index 5517e35..24507b5 100644
--- a/packages/flutter_tools/test/ios/simulators_test.dart
+++ b/packages/flutter_tools/test/ios/simulators_test.dart
@@ -25,14 +25,14 @@
   FakePlatform osx;
 
   setUp(() {
-    osx = new FakePlatform.fromPlatform(const LocalPlatform());
+    osx = FakePlatform.fromPlatform(const LocalPlatform());
     osx.operatingSystem = 'macos';
   });
 
   group('logFilePath', () {
     testUsingContext('defaults to rooted from HOME', () {
       osx.environment['HOME'] = '/foo/bar';
-      expect(new IOSSimulator('123').logFilePath, '/foo/bar/Library/Logs/CoreSimulator/123/system.log');
+      expect(IOSSimulator('123').logFilePath, '/foo/bar/Library/Logs/CoreSimulator/123/system.log');
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     }, testOn: 'posix');
@@ -40,7 +40,7 @@
     testUsingContext('respects IOS_SIMULATOR_LOG_FILE_PATH', () {
       osx.environment['HOME'] = '/foo/bar';
       osx.environment['IOS_SIMULATOR_LOG_FILE_PATH'] = '/baz/qux/%{id}/system.log';
-      expect(new IOSSimulator('456').logFilePath, '/baz/qux/456/system.log');
+      expect(IOSSimulator('456').logFilePath, '/baz/qux/456/system.log');
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
@@ -98,13 +98,13 @@
   group('sdkMajorVersion', () {
     // This new version string appears in SimulatorApp-850 CoreSimulator-518.16 beta.
     test('can be parsed from iOS-11-3', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'com.apple.CoreSimulator.SimRuntime.iOS-11-3');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'com.apple.CoreSimulator.SimRuntime.iOS-11-3');
 
       expect(await device.sdkMajorVersion, 11);
     });
 
     test('can be parsed from iOS 11.2', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.2');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.2');
 
       expect(await device.sdkMajorVersion, 11);
     });
@@ -112,55 +112,55 @@
 
   group('IOSSimulator.isSupported', () {
     testUsingContext('Apple TV is unsupported', () {
-      expect(new IOSSimulator('x', name: 'Apple TV').isSupported(), false);
+      expect(IOSSimulator('x', name: 'Apple TV').isSupported(), false);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('Apple Watch is unsupported', () {
-      expect(new IOSSimulator('x', name: 'Apple Watch').isSupported(), false);
+      expect(IOSSimulator('x', name: 'Apple Watch').isSupported(), false);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPad 2 is supported', () {
-      expect(new IOSSimulator('x', name: 'iPad 2').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPad 2').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPad Retina is supported', () {
-      expect(new IOSSimulator('x', name: 'iPad Retina').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPad Retina').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPhone 5 is supported', () {
-      expect(new IOSSimulator('x', name: 'iPhone 5').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPhone 5').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPhone 5s is supported', () {
-      expect(new IOSSimulator('x', name: 'iPhone 5s').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPhone 5s').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPhone SE is supported', () {
-      expect(new IOSSimulator('x', name: 'iPhone SE').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPhone SE').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPhone 7 Plus is supported', () {
-      expect(new IOSSimulator('x', name: 'iPhone 7 Plus').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPhone 7 Plus').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
 
     testUsingContext('iPhone X is supported', () {
-      expect(new IOSSimulator('x', name: 'iPhone X').isSupported(), true);
+      expect(IOSSimulator('x', name: 'iPhone X').isSupported(), true);
     }, overrides: <Type, Generator>{
       Platform: () => osx,
     });
@@ -172,16 +172,16 @@
     IOSSimulator deviceUnderTest;
 
     setUp(() {
-      mockXcode = new MockXcode();
-      mockProcessManager = new MockProcessManager();
+      mockXcode = MockXcode();
+      mockProcessManager = MockProcessManager();
       // Let everything else return exit code 0 so process.dart doesn't crash.
       when(
         mockProcessManager.run(any, environment: null, workingDirectory: null)
       ).thenAnswer((Invocation invocation) =>
-        new Future<ProcessResult>.value(new ProcessResult(2, 0, '', ''))
+        Future<ProcessResult>.value(ProcessResult(2, 0, '', ''))
       );
       // Doesn't matter what the device is.
-      deviceUnderTest = new IOSSimulator('x', name: 'iPhone SE');
+      deviceUnderTest = IOSSimulator('x', name: 'iPhone SE');
     });
 
     testUsingContext(
@@ -200,7 +200,7 @@
         when(mockXcode.majorVersion).thenReturn(8);
         when(mockXcode.minorVersion).thenReturn(2);
         expect(deviceUnderTest.supportsScreenshot, true);
-        final MockFile mockFile = new MockFile();
+        final MockFile mockFile = MockFile();
         when(mockFile.path).thenReturn(fs.path.join('some', 'path', 'to', 'screenshot.png'));
         await deviceUnderTest.takeScreenshot(mockFile);
         verify(mockProcessManager.run(
@@ -219,7 +219,7 @@
       overrides: <Type, Generator>{
         ProcessManager: () => mockProcessManager,
         // Test a real one. Screenshot doesn't require instance states.
-        SimControl: () => new SimControl(),
+        SimControl: () => SimControl(),
         Xcode: () => mockXcode,
       }
     );
@@ -229,13 +229,13 @@
     MockProcessManager mockProcessManager;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
+      mockProcessManager = MockProcessManager();
       when(mockProcessManager.start(any, environment: null, workingDirectory: null))
-        .thenAnswer((Invocation invocation) => new Future<Process>.value(new MockProcess()));
+        .thenAnswer((Invocation invocation) => Future<Process>.value(MockProcess()));
     });
 
     testUsingContext('uses tail on iOS versions prior to iOS 11', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'iOS 9.3');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'iOS 9.3');
       await launchDeviceLogTool(device);
       expect(
         verify(mockProcessManager.start(captureAny, environment: null, workingDirectory: null)).captured.single,
@@ -247,7 +247,7 @@
     });
 
     testUsingContext('uses /usr/bin/log on iOS 11 and above', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.0');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.0');
       await launchDeviceLogTool(device);
       expect(
         verify(mockProcessManager.start(captureAny, environment: null, workingDirectory: null)).captured.single,
@@ -263,13 +263,13 @@
     MockProcessManager mockProcessManager;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
+      mockProcessManager = MockProcessManager();
       when(mockProcessManager.start(any, environment: null, workingDirectory: null))
-        .thenAnswer((Invocation invocation) => new Future<Process>.value(new MockProcess()));
+        .thenAnswer((Invocation invocation) => Future<Process>.value(MockProcess()));
     });
 
     testUsingContext('uses tail on iOS versions prior to iOS 11', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'iOS 9.3');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'iOS 9.3');
       await launchSystemLogTool(device);
       expect(
         verify(mockProcessManager.start(captureAny, environment: null, workingDirectory: null)).captured.single,
@@ -281,7 +281,7 @@
     });
 
     testUsingContext('uses /usr/bin/log on iOS 11 and above', () async {
-      final IOSSimulator device = new IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.0');
+      final IOSSimulator device = IOSSimulator('x', name: 'iPhone SE', category: 'iOS 11.0');
       await launchSystemLogTool(device);
       verifyNever(mockProcessManager.start(any, environment: null, workingDirectory: null));
     },
@@ -295,16 +295,16 @@
     MockIosProject mockIosProject;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      mockIosProject = new MockIosProject();
+      mockProcessManager = MockProcessManager();
+      mockIosProject = MockIosProject();
     });
 
     testUsingContext('simulator can output `)`', () async {
       when(mockProcessManager.start(any, environment: null, workingDirectory: null))
           .thenAnswer((Invocation invocation) {
-        final Process mockProcess = new MockProcess();
+        final Process mockProcess = MockProcess();
         when(mockProcess.stdout).thenAnswer((Invocation invocation) =>
-            new Stream<List<int>>.fromIterable(<List<int>>['''
+            Stream<List<int>>.fromIterable(<List<int>>['''
 2017-09-13 15:26:57.228948-0700  localhost Runner[37195]: (Flutter) Observatory listening on http://127.0.0.1:57701/
 2017-09-13 15:26:57.228948-0700  localhost Runner[37195]: (Flutter) ))))))))))
 2017-09-13 15:26:57.228948-0700  localhost Runner[37195]: (Flutter) #0      Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)'''
@@ -313,13 +313,13 @@
             .thenAnswer((Invocation invocation) => const Stream<List<int>>.empty());
         // Delay return of exitCode until after stdout stream data, since it terminates the logger.
         when(mockProcess.exitCode)
-            .thenAnswer((Invocation invocation) => new Future<int>.delayed(Duration.zero, () => 0));
-        return new Future<Process>.value(mockProcess);
+            .thenAnswer((Invocation invocation) => Future<int>.delayed(Duration.zero, () => 0));
+        return Future<Process>.value(mockProcess);
       });
 
-      final IOSSimulator device = new IOSSimulator('123456', category: 'iOS 11.0');
+      final IOSSimulator device = IOSSimulator('123456', category: 'iOS 11.0');
       final DeviceLogReader logReader = device.getLogReader(
-        app: new BuildableIOSApp(mockIosProject),
+        app: BuildableIOSApp(mockIosProject),
       );
 
       final List<String> lines = await logReader.logLines.toList();
@@ -370,11 +370,11 @@
     SimControl simControl;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
+      mockProcessManager = MockProcessManager();
       when(mockProcessManager.runSync(any))
-          .thenReturn(new ProcessResult(mockPid, 0, validSimControlOutput, ''));
+          .thenReturn(ProcessResult(mockPid, 0, validSimControlOutput, ''));
 
-      simControl = new SimControl();
+      simControl = SimControl();
     });
 
     testUsingContext('getDevices succeeds', () {
diff --git a/packages/flutter_tools/test/ios/xcodeproj_test.dart b/packages/flutter_tools/test/ios/xcodeproj_test.dart
index 204fe44..d80fbc1 100644
--- a/packages/flutter_tools/test/ios/xcodeproj_test.dart
+++ b/packages/flutter_tools/test/ios/xcodeproj_test.dart
@@ -29,10 +29,10 @@
     FileSystem fs;
 
     setUp(() {
-      mockProcessManager = new MockProcessManager();
-      xcodeProjectInterpreter = new XcodeProjectInterpreter();
+      mockProcessManager = MockProcessManager();
+      xcodeProjectInterpreter = XcodeProjectInterpreter();
       macOS = fakePlatform('macos');
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
       fs.file(xcodebuild).createSync(recursive: true);
     });
 
@@ -52,7 +52,7 @@
 
     testUsingOsxContext('versionText returns null when xcodebuild is not fully installed', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version'])).thenReturn(
-        new ProcessResult(
+        ProcessResult(
           0,
           1,
           "xcode-select: error: tool 'xcodebuild' requires Xcode, "
@@ -66,43 +66,43 @@
 
     testUsingOsxContext('versionText returns formatted version text', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.versionText, 'Xcode 8.3.3, Build version 8E3004b');
     });
 
     testUsingOsxContext('versionText handles Xcode version string with unexpected format', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.versionText, 'Xcode Ultra5000, Build version 8E3004b');
     });
 
     testUsingOsxContext('majorVersion returns major version', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.majorVersion, 8);
     });
 
     testUsingOsxContext('majorVersion is null when version has unexpected format', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.majorVersion, isNull);
     });
 
     testUsingOsxContext('minorVersion returns minor version', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.minorVersion, 3);
     });
 
     testUsingOsxContext('minorVersion returns 0 when minor version is unspecified', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode 8\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode 8\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.minorVersion, 0);
     });
 
     testUsingOsxContext('minorVersion is null when version has unexpected format', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.minorVersion, isNull);
     });
 
@@ -120,7 +120,7 @@
 
     testUsingOsxContext('isInstalled is false when Xcode is not fully installed', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version'])).thenReturn(
-        new ProcessResult(
+        ProcessResult(
           0,
           1,
           "xcode-select: error: tool 'xcodebuild' requires Xcode, "
@@ -134,13 +134,13 @@
 
     testUsingOsxContext('isInstalled is false when version has unexpected format', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.isInstalled, isFalse);
     });
 
     testUsingOsxContext('isInstalled is true when version has expected format', () {
       when(mockProcessManager.runSync(<String>[xcodebuild, '-version']))
-          .thenReturn(new ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
+          .thenReturn(ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
       expect(xcodeProjectInterpreter.isInstalled, isTrue);
     });
   });
@@ -161,7 +161,7 @@
         Runner
 
 ''';
-      final XcodeProjectInfo info = new XcodeProjectInfo.fromXcodeBuildOutput(output);
+      final XcodeProjectInfo info = XcodeProjectInfo.fromXcodeBuildOutput(output);
       expect(info.targets, <String>['Runner']);
       expect(info.schemes, <String>['Runner']);
       expect(info.buildConfigurations, <String>['Debug', 'Release']);
@@ -185,7 +185,7 @@
         Paid
 
 ''';
-      final XcodeProjectInfo info = new XcodeProjectInfo.fromXcodeBuildOutput(output);
+      final XcodeProjectInfo info = XcodeProjectInfo.fromXcodeBuildOutput(output);
       expect(info.targets, <String>['Runner']);
       expect(info.schemes, <String>['Free', 'Paid']);
       expect(info.buildConfigurations, <String>['Debug (Free)', 'Debug (Paid)', 'Release (Free)', 'Release (Paid)']);
@@ -211,20 +211,20 @@
       expect(XcodeProjectInfo.expectedBuildConfigurationFor(const BuildInfo(BuildMode.release, 'Hello'), 'Hello'), 'Release-Hello');
     });
     test('scheme for default project is Runner', () {
-      final XcodeProjectInfo info = new XcodeProjectInfo(<String>['Runner'], <String>['Debug', 'Release'], <String>['Runner']);
+      final XcodeProjectInfo info = XcodeProjectInfo(<String>['Runner'], <String>['Debug', 'Release'], <String>['Runner']);
       expect(info.schemeFor(BuildInfo.debug), 'Runner');
       expect(info.schemeFor(BuildInfo.profile), 'Runner');
       expect(info.schemeFor(BuildInfo.release), 'Runner');
       expect(info.schemeFor(const BuildInfo(BuildMode.debug, 'unknown')), isNull);
     });
     test('build configuration for default project is matched against BuildMode', () {
-      final XcodeProjectInfo info = new XcodeProjectInfo(<String>['Runner'], <String>['Debug', 'Release'], <String>['Runner']);
+      final XcodeProjectInfo info = XcodeProjectInfo(<String>['Runner'], <String>['Debug', 'Release'], <String>['Runner']);
       expect(info.buildConfigurationFor(BuildInfo.debug, 'Runner'), 'Debug');
       expect(info.buildConfigurationFor(BuildInfo.profile, 'Runner'), 'Release');
       expect(info.buildConfigurationFor(BuildInfo.release, 'Runner'), 'Release');
     });
     test('scheme for project with custom schemes is matched against flavor', () {
-      final XcodeProjectInfo info = new XcodeProjectInfo(
+      final XcodeProjectInfo info = XcodeProjectInfo(
         <String>['Runner'],
         <String>['Debug (Free)', 'Debug (Paid)', 'Release (Free)', 'Release (Paid)'],
         <String>['Free', 'Paid'],
@@ -236,7 +236,7 @@
       expect(info.schemeFor(const BuildInfo(BuildMode.debug, 'unknown')), isNull);
     });
     test('build configuration for project with custom schemes is matched against BuildMode and flavor', () {
-      final XcodeProjectInfo info = new XcodeProjectInfo(
+      final XcodeProjectInfo info = XcodeProjectInfo(
         <String>['Runner'],
         <String>['debug (free)', 'Debug paid', 'release - Free', 'Release-Paid'],
         <String>['Free', 'Paid'],
@@ -247,7 +247,7 @@
       expect(info.buildConfigurationFor(const BuildInfo(BuildMode.release, 'paid'), 'Paid'), 'Release-Paid');
     });
     test('build configuration for project with inconsistent naming is null', () {
-      final XcodeProjectInfo info = new XcodeProjectInfo(
+      final XcodeProjectInfo info = XcodeProjectInfo(
         <String>['Runner'],
         <String>['Debug-F', 'Dbg Paid', 'Rel Free', 'Release Full'],
         <String>['Free', 'Paid'],
@@ -265,9 +265,9 @@
     FileSystem fs;
 
     setUp(() {
-      fs = new MemoryFileSystem();
-      mockArtifacts = new MockLocalEngineArtifacts();
-      mockProcessManager = new MockProcessManager();
+      fs = MemoryFileSystem();
+      mockArtifacts = MockLocalEngineArtifacts();
+      mockProcessManager = MockProcessManager();
       macOS = fakePlatform('macos');
       fs.file(xcodebuild).createSync(recursive: true);
     });
@@ -515,7 +515,7 @@
 }
 
 Platform fakePlatform(String name) {
-  return new FakePlatform.fromPlatform(const LocalPlatform())..operatingSystem = name;
+  return FakePlatform.fromPlatform(const LocalPlatform())..operatingSystem = name;
 }
 
 class MockLocalEngineArtifacts extends Mock implements LocalEngineArtifacts {}
diff --git a/packages/flutter_tools/test/project_test.dart b/packages/flutter_tools/test/project_test.dart
index 5ab8100..aa737b0 100644
--- a/packages/flutter_tools/test/project_test.dart
+++ b/packages/flutter_tools/test/project_test.dart
@@ -137,7 +137,7 @@
 
     group('ensure ready for platform-specific tooling', () {
       testInMemory('does nothing, if project is not created', () async {
-        final FlutterProject project = new FlutterProject(
+        final FlutterProject project = FlutterProject(
           fs.directory('not_created'),
           FlutterManifest.empty(),
           FlutterManifest.empty(),
@@ -229,9 +229,9 @@
       MockIOSWorkflow mockIOSWorkflow;
       MockXcodeProjectInterpreter mockXcodeProjectInterpreter;
       setUp(() {
-        fs = new MemoryFileSystem();
-        mockIOSWorkflow = new MockIOSWorkflow();
-        mockXcodeProjectInterpreter = new MockXcodeProjectInterpreter();
+        fs = MemoryFileSystem();
+        mockIOSWorkflow = MockIOSWorkflow();
+        mockXcodeProjectInterpreter = MockXcodeProjectInterpreter();
       });
 
       void testWithMocks(String description, Future<Null> testMethod()) {
@@ -367,12 +367,12 @@
 /// is in memory.
 void testInMemory(String description, Future<Null> testMethod()) {
   Cache.flutterRoot = getFlutterRoot();
-  final FileSystem testFileSystem = new MemoryFileSystem(
+  final FileSystem testFileSystem = MemoryFileSystem(
     style: platform.isWindows ? FileSystemStyle.windows : FileSystemStyle.posix,
   );
   // Transfer needed parts of the Flutter installation folder
   // to the in-memory file system used during testing.
-  transfer(new Cache().getArtifactDirectory('gradle_wrapper'), testFileSystem);
+  transfer(Cache().getArtifactDirectory('gradle_wrapper'), testFileSystem);
   transfer(fs.directory(Cache.flutterRoot)
       .childDirectory('packages')
       .childDirectory('flutter_tools')
@@ -386,7 +386,7 @@
     testMethod,
     overrides: <Type, Generator>{
       FileSystem: () => testFileSystem,
-      Cache: () => new Cache(),
+      Cache: () => Cache(),
     },
   );
 }
diff --git a/packages/flutter_tools/test/protocol_discovery_test.dart b/packages/flutter_tools/test/protocol_discovery_test.dart
index 1b84b11..0f4fb42 100644
--- a/packages/flutter_tools/test/protocol_discovery_test.dart
+++ b/packages/flutter_tools/test/protocol_discovery_test.dart
@@ -35,8 +35,8 @@
       ///
       /// See also: [runZoned]
       void initialize() {
-        logReader = new MockDeviceLogReader();
-        discoverer = new ProtocolDiscovery.observatory(logReader);
+        logReader = MockDeviceLogReader();
+        discoverer = ProtocolDiscovery.observatory(logReader);
       }
 
       tearDown(() {
@@ -124,10 +124,10 @@
 
     group('port forwarding', () {
       testUsingContext('default port', () async {
-        final MockDeviceLogReader logReader = new MockDeviceLogReader();
-        final ProtocolDiscovery discoverer = new ProtocolDiscovery.observatory(
+        final MockDeviceLogReader logReader = MockDeviceLogReader();
+        final ProtocolDiscovery discoverer = ProtocolDiscovery.observatory(
           logReader,
-          portForwarder: new MockPortForwarder(99),
+          portForwarder: MockPortForwarder(99),
         );
 
         // Get next port future.
@@ -142,10 +142,10 @@
       });
 
       testUsingContext('specified port', () async {
-        final MockDeviceLogReader logReader = new MockDeviceLogReader();
-        final ProtocolDiscovery discoverer = new ProtocolDiscovery.observatory(
+        final MockDeviceLogReader logReader = MockDeviceLogReader();
+        final ProtocolDiscovery discoverer = ProtocolDiscovery.observatory(
           logReader,
-          portForwarder: new MockPortForwarder(99),
+          portForwarder: MockPortForwarder(99),
           hostPort: 1243,
         );
 
@@ -161,10 +161,10 @@
       });
 
       testUsingContext('specified port zero', () async {
-        final MockDeviceLogReader logReader = new MockDeviceLogReader();
-        final ProtocolDiscovery discoverer = new ProtocolDiscovery.observatory(
+        final MockDeviceLogReader logReader = MockDeviceLogReader();
+        final ProtocolDiscovery discoverer = ProtocolDiscovery.observatory(
           logReader,
-          portForwarder: new MockPortForwarder(99),
+          portForwarder: MockPortForwarder(99),
           hostPort: 0,
         );
 
@@ -180,10 +180,10 @@
       });
 
       testUsingContext('ipv6', () async {
-        final MockDeviceLogReader logReader = new MockDeviceLogReader();
-        final ProtocolDiscovery discoverer = new ProtocolDiscovery.observatory(
+        final MockDeviceLogReader logReader = MockDeviceLogReader();
+        final ProtocolDiscovery discoverer = ProtocolDiscovery.observatory(
           logReader,
-          portForwarder: new MockPortForwarder(99),
+          portForwarder: MockPortForwarder(99),
           hostPort: 54777,
           ipv6: true,
         );
@@ -200,10 +200,10 @@
       });
 
       testUsingContext('ipv6 with Ascii Escape code', () async {
-        final MockDeviceLogReader logReader = new MockDeviceLogReader();
-        final ProtocolDiscovery discoverer = new ProtocolDiscovery.observatory(
+        final MockDeviceLogReader logReader = MockDeviceLogReader();
+        final ProtocolDiscovery discoverer = ProtocolDiscovery.observatory(
           logReader,
-          portForwarder: new MockPortForwarder(99),
+          portForwarder: MockPortForwarder(99),
           hostPort: 54777,
           ipv6: true,
         );
diff --git a/packages/flutter_tools/test/resident_runner_test.dart b/packages/flutter_tools/test/resident_runner_test.dart
index 55eeab1..fd50df4 100644
--- a/packages/flutter_tools/test/resident_runner_test.dart
+++ b/packages/flutter_tools/test/resident_runner_test.dart
@@ -46,8 +46,8 @@
   TestRunner createTestRunner() {
     // TODO(jacobr): make these tests run with `trackWidgetCreation: true` as
     // well as the default flags.
-    return new TestRunner(
-      <FlutterDevice>[new FlutterDevice(new MockDevice(), trackWidgetCreation: false)],
+    return TestRunner(
+      <FlutterDevice>[FlutterDevice(MockDevice(), trackWidgetCreation: false)],
     );
   }
 
diff --git a/packages/flutter_tools/test/runner/flutter_command_runner_test.dart b/packages/flutter_tools/test/runner/flutter_command_runner_test.dart
index 827692a..bda0f61 100644
--- a/packages/flutter_tools/test/runner/flutter_command_runner_test.dart
+++ b/packages/flutter_tools/test/runner/flutter_command_runner_test.dart
@@ -30,16 +30,16 @@
     });
 
     setUp(() {
-      fs = new MemoryFileSystem();
+      fs = MemoryFileSystem();
       fs.directory(_kFlutterRoot).createSync(recursive: true);
       fs.directory(_kProjectRoot).createSync(recursive: true);
       fs.currentDirectory = _kProjectRoot;
 
-      platform = new FakePlatform(environment: <String, String>{
+      platform = FakePlatform(environment: <String, String>{
         'FLUTTER_ROOT': _kFlutterRoot,
       });
 
-      runner = createTestCommandRunner(new DummyFlutterCommand());
+      runner = createTestCommandRunner(DummyFlutterCommand());
     });
 
     group('run', () {
diff --git a/packages/flutter_tools/test/runner/flutter_command_test.dart b/packages/flutter_tools/test/runner/flutter_command_test.dart
index f5c5b08..29ab6df 100644
--- a/packages/flutter_tools/test/runner/flutter_command_test.dart
+++ b/packages/flutter_tools/test/runner/flutter_command_test.dart
@@ -24,17 +24,17 @@
     List<int> mockTimes;
 
     setUp(() {
-      cache = new MockCache();
-      clock = new MockClock();
-      usage = new MockUsage();
+      cache = MockCache();
+      clock = MockClock();
+      usage = MockUsage();
       when(usage.isFirstRun).thenReturn(false);
       when(clock.now()).thenAnswer(
-        (Invocation _) => new DateTime.fromMillisecondsSinceEpoch(mockTimes.removeAt(0))
+        (Invocation _) => DateTime.fromMillisecondsSinceEpoch(mockTimes.removeAt(0))
       );
     });
 
     testUsingContext('honors shouldUpdateCache false', () async {
-      final DummyFlutterCommand flutterCommand = new DummyFlutterCommand(shouldUpdateCache: false);
+      final DummyFlutterCommand flutterCommand = DummyFlutterCommand(shouldUpdateCache: false);
       await flutterCommand.run();
       verifyZeroInteractions(cache);
     },
@@ -43,7 +43,7 @@
     });
 
     testUsingContext('honors shouldUpdateCache true', () async {
-      final DummyFlutterCommand flutterCommand = new DummyFlutterCommand(shouldUpdateCache: true);
+      final DummyFlutterCommand flutterCommand = DummyFlutterCommand(shouldUpdateCache: true);
       await flutterCommand.run();
       verify(cache.updateAll()).called(1);
     },
@@ -55,7 +55,7 @@
       // Crash if called a third time which is unexpected.
       mockTimes = <int>[1000, 2000];
 
-      final DummyFlutterCommand flutterCommand = new DummyFlutterCommand();
+      final DummyFlutterCommand flutterCommand = DummyFlutterCommand();
       await flutterCommand.run();
       verify(clock.now()).called(2);
 
@@ -76,7 +76,7 @@
       mockTimes = <int>[1000, 2000];
 
       final DummyFlutterCommand flutterCommand =
-          new DummyFlutterCommand(noUsagePath: true);
+          DummyFlutterCommand(noUsagePath: true);
       await flutterCommand.run();
       verify(clock.now()).called(2);
       verifyNever(usage.sendTiming(
@@ -92,14 +92,14 @@
       // Crash if called a third time which is unexpected.
       mockTimes = <int>[1000, 2000];
 
-      final FlutterCommandResult commandResult = new FlutterCommandResult(
+      final FlutterCommandResult commandResult = FlutterCommandResult(
         ExitStatus.success,
         // nulls should be cleaned up.
         timingLabelParts: <String> ['blah1', 'blah2', null, 'blah3'],
-        endTimeOverride: new DateTime.fromMillisecondsSinceEpoch(1500)
+        endTimeOverride: DateTime.fromMillisecondsSinceEpoch(1500)
       );
 
-      final DummyFlutterCommand flutterCommand = new DummyFlutterCommand(
+      final DummyFlutterCommand flutterCommand = DummyFlutterCommand(
         commandFunction: () async => commandResult
       );
       await flutterCommand.run();
@@ -125,7 +125,7 @@
       // Crash if called a third time which is unexpected.
       mockTimes = <int>[1000, 2000];
 
-      final DummyFlutterCommand flutterCommand = new DummyFlutterCommand(
+      final DummyFlutterCommand flutterCommand = DummyFlutterCommand(
         commandFunction: () async {
           throwToolExit('fail');
           return null; // unreachable
diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart
index b932cf8..2424667 100644
--- a/packages/flutter_tools/test/src/common.dart
+++ b/packages/flutter_tools/test/src/common.dart
@@ -20,7 +20,7 @@
 
 /// A matcher that compares the type of the actual value to the type argument T.
 // TODO(ianh): Remove this once https://github.com/dart-lang/matcher/issues/98 is fixed
-Matcher isInstanceOf<T>() => new test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
+Matcher isInstanceOf<T>() => test_package.TypeMatcher<T>(); // ignore: prefer_const_constructors, https://github.com/dart-lang/sdk/issues/32544
 
 void tryToDelete(Directory directory) {
   // This should not be necessary, but it turns out that
@@ -42,7 +42,7 @@
   if (platform.environment.containsKey('FLUTTER_ROOT'))
     return platform.environment['FLUTTER_ROOT'];
 
-  Error invalidScript() => new StateError('Invalid script: ${platform.script}');
+  Error invalidScript() => StateError('Invalid script: ${platform.script}');
 
   Uri scriptUri;
   switch (platform.script.scheme) {
@@ -50,7 +50,7 @@
       scriptUri = platform.script;
       break;
     case 'data':
-      final RegExp flutterTools = new RegExp(r'(file://[^"]*[/\\]flutter_tools[/\\][^"]+\.dart)', multiLine: true);
+      final RegExp flutterTools = RegExp(r'(file://[^"]*[/\\]flutter_tools[/\\][^"]+\.dart)', multiLine: true);
       final Match match = flutterTools.firstMatch(Uri.decodeFull(platform.script.path));
       if (match == null)
         throw invalidScript();
@@ -69,7 +69,7 @@
 }
 
 CommandRunner<Null> createTestCommandRunner([FlutterCommand command]) {
-  final FlutterCommandRunner runner = new FlutterCommandRunner();
+  final FlutterCommandRunner runner = FlutterCommandRunner();
   if (command != null)
     runner.addCommand(command);
   return runner;
@@ -79,7 +79,7 @@
 void updateFileModificationTime(String path,
                                 DateTime baseTime,
                                 int seconds) {
-  final DateTime modificationTime = baseTime.add(new Duration(seconds: seconds));
+  final DateTime modificationTime = baseTime.add(Duration(seconds: seconds));
   fs.file(path).setLastModifiedSync(modificationTime);
 }
 
@@ -112,7 +112,7 @@
 Future<String> createProject(Directory temp, {List<String> arguments}) async {
   arguments ??= <String>['--no-pub'];
   final String projectPath = fs.path.join(temp.path, 'flutter_project');
-  final CreateCommand command = new CreateCommand();
+  final CreateCommand command = CreateCommand();
   final CommandRunner<Null> runner = createTestCommandRunner(command);
   await runner.run(<String>['create']..addAll(arguments)..add(projectPath));
   return projectPath;
diff --git a/packages/flutter_tools/test/src/context.dart b/packages/flutter_tools/test/src/context.dart
index bc37d0e..0885212 100644
--- a/packages/flutter_tools/test/src/context.dart
+++ b/packages/flutter_tools/test/src/context.dart
@@ -58,7 +58,7 @@
     final File settingsFile = fs.file(
       fs.path.join(configDir.path, '.flutter_settings')
     );
-    return new Config(settingsFile);
+    return Config(settingsFile);
   }
 
   test(description, () async {
@@ -67,20 +67,20 @@
         name: 'mocks',
         overrides: <Type, Generator>{
           Config: () => buildConfig(fs),
-          DeviceManager: () => new MockDeviceManager(),
-          Doctor: () => new MockDoctor(),
-          FlutterVersion: () => new MockFlutterVersion(),
-          HttpClient: () => new MockHttpClient(),
+          DeviceManager: () => MockDeviceManager(),
+          Doctor: () => MockDoctor(),
+          FlutterVersion: () => MockFlutterVersion(),
+          HttpClient: () => MockHttpClient(),
           IOSSimulatorUtils: () {
-            final MockIOSSimulatorUtils mock = new MockIOSSimulatorUtils();
+            final MockIOSSimulatorUtils mock = MockIOSSimulatorUtils();
             when(mock.getAttachedDevices()).thenReturn(<IOSSimulator>[]);
             return mock;
           },
-          Logger: () => new BufferLogger(),
-          OperatingSystemUtils: () => new MockOperatingSystemUtils(),
-          SimControl: () => new MockSimControl(),
-          Usage: () => new MockUsage(),
-          XcodeProjectInterpreter: () => new MockXcodeProjectInterpreter(),
+          Logger: () => BufferLogger(),
+          OperatingSystemUtils: () => MockOperatingSystemUtils(),
+          SimControl: () => MockSimControl(),
+          Usage: () => MockUsage(),
+          XcodeProjectInterpreter: () => MockXcodeProjectInterpreter(),
         },
         body: () {
           final String flutterRoot = getFlutterRoot();
@@ -154,11 +154,11 @@
   }
 
   @override
-  Stream<Device> getAllConnectedDevices() => new Stream<Device>.fromIterable(devices);
+  Stream<Device> getAllConnectedDevices() => Stream<Device>.fromIterable(devices);
 
   @override
   Stream<Device> getDevicesById(String deviceId) {
-    return new Stream<Device>.fromIterable(
+    return Stream<Device>.fromIterable(
         devices.where((Device device) => device.id == deviceId));
   }
 
@@ -200,7 +200,7 @@
     final List<DoctorValidator> superValidators = super.validators;
     return superValidators.map((DoctorValidator v) {
       if (v is AndroidValidator) {
-        return new MockAndroidWorkflowValidator();
+        return MockAndroidWorkflowValidator();
       }
       return v;
     }).toList();
@@ -261,7 +261,7 @@
   Stream<Map<String, dynamic>> get onSend => null;
 
   @override
-  Future<Null> ensureAnalyticsSent() => new Future<Null>.value();
+  Future<Null> ensureAnalyticsSent() => Future<Null>.value();
 
   @override
   void printWelcome() { }
@@ -287,7 +287,7 @@
 
   @override
   XcodeProjectInfo getInfo(String projectPath) {
-    return new XcodeProjectInfo(
+    return XcodeProjectInfo(
       <String>['Runner'],
       <String>['Debug', 'Release'],
       <String>['Runner'],
diff --git a/packages/flutter_tools/test/src/mocks.dart b/packages/flutter_tools/test/src/mocks.dart
index b87a343..1aab448 100644
--- a/packages/flutter_tools/test/src/mocks.dart
+++ b/packages/flutter_tools/test/src/mocks.dart
@@ -26,12 +26,12 @@
 
 class MockApplicationPackageStore extends ApplicationPackageStore {
   MockApplicationPackageStore() : super(
-    android: new AndroidApk(
+    android: AndroidApk(
       id: 'io.flutter.android.mock',
       file: fs.file('/mock/path/to/android/SkyShell.apk'),
       launchActivity: 'io.flutter.android.mock.MockActivity'
     ),
-    iOS: new BuildableIOSApp(new MockIosProject())
+    iOS: BuildableIOSApp(MockIosProject())
   );
 }
 
@@ -113,7 +113,7 @@
 
 /// A ProcessManager that starts Processes by delegating to a ProcessFactory.
 class MockProcessManager implements ProcessManager {
-  ProcessFactory processFactory = (List<String> commands) => new MockProcess();
+  ProcessFactory processFactory = (List<String> commands) => MockProcess();
   bool succeed = true;
   List<String> commands;
 
@@ -132,11 +132,11 @@
     if (!succeed) {
       final String executable = command[0];
       final List<String> arguments = command.length > 1 ? command.sublist(1) : <String>[];
-      throw new ProcessException(executable, arguments);
+      throw ProcessException(executable, arguments);
     }
 
     commands = command;
-    return new Future<Process>.value(processFactory(command));
+    return Future<Process>.value(processFactory(command));
   }
 
   @override
@@ -151,8 +151,8 @@
     Stream<List<int>> stdin,
     this.stdout = const Stream<List<int>>.empty(),
     this.stderr = const Stream<List<int>>.empty(),
-  }) : exitCode = exitCode ?? new Future<int>.value(0),
-       stdin = stdin ?? new MemoryIOSink();
+  }) : exitCode = exitCode ?? Future<int>.value(0),
+       stdin = stdin ?? MemoryIOSink();
 
   @override
   final int pid;
@@ -185,8 +185,8 @@
     await _stdoutController.close();
   }
 
-  final StreamController<List<int>> _stdoutController = new StreamController<List<int>>();
-  final CompleterIOSink _stdin = new CompleterIOSink();
+  final StreamController<List<int>> _stdoutController = StreamController<List<int>>();
+  final CompleterIOSink _stdin = CompleterIOSink();
 
   @override
   Stream<List<int>> get stdout => _stdoutController.stream;
@@ -209,7 +209,7 @@
 
 /// An IOSink that completes a future with the first line written to it.
 class CompleterIOSink extends MemoryIOSink {
-  final Completer<List<int>> _completer = new Completer<List<int>>();
+  final Completer<List<int>> _completer = Completer<List<int>>();
 
   Future<List<int>> get future => _completer.future;
 
@@ -235,7 +235,7 @@
 
   @override
   Future<Null> addStream(Stream<List<int>> stream) {
-    final Completer<Null> completer = new Completer<Null>();
+    final Completer<Null> completer = Completer<Null>();
     stream.listen((List<int> data) {
       add(data);
     }).onDone(() => completer.complete(null));
@@ -271,7 +271,7 @@
 
   @override
   void addError(dynamic error, [StackTrace stackTrace]) {
-    throw new UnimplementedError();
+    throw UnimplementedError();
   }
 
   @override
@@ -286,8 +286,8 @@
 
 /// A Stdio that collects stdout and supports simulated stdin.
 class MockStdio extends Stdio {
-  final MemoryIOSink _stdout = new MemoryIOSink();
-  final StreamController<List<int>> _stdin = new StreamController<List<int>>();
+  final MemoryIOSink _stdout = MemoryIOSink();
+  final StreamController<List<int>> _stdin = StreamController<List<int>>();
 
   @override
   IOSink get stdout => _stdout;
@@ -304,8 +304,8 @@
 
 class MockPollingDeviceDiscovery extends PollingDeviceDiscovery {
   final List<Device> _devices = <Device>[];
-  final StreamController<Device> _onAddedController = new StreamController<Device>.broadcast();
-  final StreamController<Device> _onRemovedController = new StreamController<Device>.broadcast();
+  final StreamController<Device> _onAddedController = StreamController<Device>.broadcast();
+  final StreamController<Device> _onRemovedController = StreamController<Device>.broadcast();
 
   MockPollingDeviceDiscovery() : super('mock');
 
@@ -370,7 +370,7 @@
   @override
   String get name => 'MockLogReader';
 
-  final StreamController<String> _linesController = new StreamController<String>.broadcast();
+  final StreamController<String> _linesController = StreamController<String>.broadcast();
 
   @override
   Stream<String> get logLines => _linesController.stream;
@@ -384,7 +384,7 @@
 
 void applyMocksToCommand(FlutterCommand command) {
   command
-    ..applicationPackages = new MockApplicationPackageStore();
+    ..applicationPackages = MockApplicationPackageStore();
 }
 
 /// Common functionality for tracking mock interaction
@@ -392,7 +392,7 @@
   final List<String> messages = <String>[];
 
   void expectMessages(List<String> expectedMessages) {
-    final List<String> actualMessages = new List<String>.from(messages);
+    final List<String> actualMessages = List<String>.from(messages);
     messages.clear();
     expect(actualMessages, unorderedEquals(expectedMessages));
   }
@@ -461,6 +461,6 @@
   Future<CompilerOutput> recompile(String mainPath, List<String> invalidatedFiles, {String outputPath, String packagesFilePath}) async {
     fs.file(outputPath).createSync(recursive: true);
     fs.file(outputPath).writeAsStringSync('compiled_kernel_output');
-    return new CompilerOutput(outputPath, 0);
+    return CompilerOutput(outputPath, 0);
   }
 }
diff --git a/packages/flutter_tools/test/stop_test.dart b/packages/flutter_tools/test/stop_test.dart
index e74e42a..b30813d 100644
--- a/packages/flutter_tools/test/stop_test.dart
+++ b/packages/flutter_tools/test/stop_test.dart
@@ -19,19 +19,19 @@
     });
 
     testUsingContext('returns 0 when Android is connected and ready to be stopped', () async {
-      final StopCommand command = new StopCommand();
+      final StopCommand command = StopCommand();
       applyMocksToCommand(command);
-      final MockAndroidDevice device = new MockAndroidDevice();
-      when(device.stopApp(any)).thenAnswer((Invocation invocation) => new Future<bool>.value(true));
+      final MockAndroidDevice device = MockAndroidDevice();
+      when(device.stopApp(any)).thenAnswer((Invocation invocation) => Future<bool>.value(true));
       testDeviceManager.addDevice(device);
       await createTestCommandRunner(command).run(<String>['stop']);
     });
 
     testUsingContext('returns 0 when iOS is connected and ready to be stopped', () async {
-      final StopCommand command = new StopCommand();
+      final StopCommand command = StopCommand();
       applyMocksToCommand(command);
-      final MockIOSDevice device = new MockIOSDevice();
-      when(device.stopApp(any)).thenAnswer((Invocation invocation) => new Future<bool>.value(true));
+      final MockIOSDevice device = MockIOSDevice();
+      when(device.stopApp(any)).thenAnswer((Invocation invocation) => Future<bool>.value(true));
       testDeviceManager.addDevice(device);
 
       await createTestCommandRunner(command).run(<String>['stop']);
diff --git a/packages/flutter_tools/test/tester/flutter_tester_test.dart b/packages/flutter_tools/test/tester/flutter_tester_test.dart
index 3ca867d..5b7aa26 100644
--- a/packages/flutter_tools/test/tester/flutter_tester_test.dart
+++ b/packages/flutter_tools/test/tester/flutter_tester_test.dart
@@ -24,7 +24,7 @@
   MemoryFileSystem fs;
 
   setUp(() {
-    fs = new MemoryFileSystem();
+    fs = MemoryFileSystem();
   });
 
   group('FlutterTesterApp', () {
@@ -33,7 +33,7 @@
       await fs.directory(projectPath).create(recursive: true);
       fs.currentDirectory = projectPath;
 
-      final FlutterTesterApp app = new FlutterTesterApp.fromCurrentDirectory();
+      final FlutterTesterApp app = FlutterTesterApp.fromCurrentDirectory();
       expect(app.name, 'my_project');
       expect(app.packagesFile.path, fs.path.join(projectPath, '.packages'));
     }, overrides: <Type, Generator>{
@@ -47,7 +47,7 @@
     });
 
     testUsingContext('no device', () async {
-      final FlutterTesterDevices discoverer = new FlutterTesterDevices();
+      final FlutterTesterDevices discoverer = FlutterTesterDevices();
 
       final List<Device> devices = await discoverer.devices;
       expect(devices, isEmpty);
@@ -55,7 +55,7 @@
 
     testUsingContext('has device', () async {
       FlutterTesterDevices.showFlutterTesterDevice = true;
-      final FlutterTesterDevices discoverer = new FlutterTesterDevices();
+      final FlutterTesterDevices discoverer = FlutterTesterDevices();
 
       final List<Device> devices = await discoverer.devices;
       expect(devices, hasLength(1));
@@ -71,7 +71,7 @@
     List<String> logLines;
 
     setUp(() {
-      device = new FlutterTesterDevice('flutter-tester');
+      device = FlutterTesterDevice('flutter-tester');
 
       logLines = <String>[];
       device.getLogReader().logLines.listen(logLines.add);
@@ -105,9 +105,9 @@
       MockProcess mockProcess;
 
       final Map<Type, Generator> startOverrides = <Type, Generator>{
-        Platform: () => new FakePlatform(operatingSystem: 'linux'),
+        Platform: () => FakePlatform(operatingSystem: 'linux'),
         FileSystem: () => fs,
-        Cache: () => new Cache(rootOverride: fs.directory(flutterRoot)),
+        Cache: () => Cache(rootOverride: fs.directory(flutterRoot)),
         ProcessManager: () => mockProcessManager,
         KernelCompiler: () => mockKernelCompiler,
         Artifacts: () => mockArtifacts,
@@ -125,22 +125,22 @@
         projectPath = fs.path.join('home', 'me', 'hello');
         mainPath = fs.path.join(projectPath, 'lin', 'main.dart');
 
-        mockProcessManager = new MockProcessManager();
+        mockProcessManager = MockProcessManager();
         mockProcessManager.processFactory =
             (List<String> commands) => mockProcess;
 
-        mockArtifacts = new MockArtifacts();
+        mockArtifacts = MockArtifacts();
         final String artifactPath = fs.path.join(flutterRoot, 'artifact');
         fs.file(artifactPath).createSync(recursive: true);
         when(mockArtifacts.getArtifactPath(any)).thenReturn(artifactPath);
 
-        mockKernelCompiler = new MockKernelCompiler();
+        mockKernelCompiler = MockKernelCompiler();
       });
 
       testUsingContext('not debug', () async {
         final LaunchResult result = await device.startApp(null,
             mainPath: mainPath,
-            debuggingOptions: new DebuggingOptions.disabled(const BuildInfo(BuildMode.release, null)));
+            debuggingOptions: DebuggingOptions.disabled(const BuildInfo(BuildMode.release, null)));
         expect(result.started, isFalse);
       }, overrides: startOverrides);
 
@@ -149,14 +149,14 @@
         expect(() async {
           await device.startApp(null,
               mainPath: mainPath,
-              debuggingOptions: new DebuggingOptions.disabled(const BuildInfo(BuildMode.debug, null)));
+              debuggingOptions: DebuggingOptions.disabled(const BuildInfo(BuildMode.debug, null)));
         }, throwsToolExit());
       }, overrides: startOverrides);
 
       testUsingContext('start', () async {
         final Uri observatoryUri = Uri.parse('http://127.0.0.1:6666/');
-        mockProcess = new MockProcess(
-            stdout: new Stream<List<int>>.fromIterable(<List<int>>[
+        mockProcess = MockProcess(
+            stdout: Stream<List<int>>.fromIterable(<List<int>>[
           '''
 Observatory listening on $observatoryUri
 Hello!
@@ -177,12 +177,12 @@
           packagesPath: anyNamed('packagesPath'),
         )).thenAnswer((_) async {
           fs.file('$mainPath.dill').createSync(recursive: true);
-          return new CompilerOutput('$mainPath.dill', 0);
+          return CompilerOutput('$mainPath.dill', 0);
         });
 
         final LaunchResult result = await device.startApp(null,
             mainPath: mainPath,
-            debuggingOptions: new DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)));
+            debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)));
         expect(result.started, isTrue);
         expect(result.observatoryUri, observatoryUri);
 
diff --git a/packages/flutter_tools/test/trace_test.dart b/packages/flutter_tools/test/trace_test.dart
index d824934..f8cbcc4 100644
--- a/packages/flutter_tools/test/trace_test.dart
+++ b/packages/flutter_tools/test/trace_test.dart
@@ -12,7 +12,7 @@
 void main() {
   group('trace', () {
     testUsingContext('returns 1 when no Android device is connected', () async {
-      final TraceCommand command = new TraceCommand();
+      final TraceCommand command = TraceCommand();
       applyMocksToCommand(command);
       try {
         await createTestCommandRunner(command).run(<String>['trace']);
diff --git a/packages/flutter_tools/test/utils_test.dart b/packages/flutter_tools/test/utils_test.dart
index a638dec..513a75d 100644
--- a/packages/flutter_tools/test/utils_test.dart
+++ b/packages/flutter_tools/test/utils_test.dart
@@ -12,7 +12,7 @@
 void main() {
   group('SettingsFile', () {
     test('parse', () {
-      final SettingsFile file = new SettingsFile.parse('''
+      final SettingsFile file = SettingsFile.parse('''
 # ignore comment
 foo=bar
 baz=qux
@@ -26,7 +26,7 @@
   group('uuid', () {
     // xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
     test('simple', () {
-      final Uuid uuid = new Uuid();
+      final Uuid uuid = Uuid();
       final String result = uuid.generateV4();
       expect(result.length, 36);
       expect(result[8], '-');
@@ -36,7 +36,7 @@
     });
 
     test('can parse', () {
-      final Uuid uuid = new Uuid();
+      final Uuid uuid = Uuid();
       final String result = uuid.generateV4();
       expect(int.parse(result.substring(0, 8), radix: 16), isNotNull);
       expect(int.parse(result.substring(9, 13), radix: 16), isNotNull);
@@ -46,7 +46,7 @@
     });
 
     test('special bits', () {
-      final Uuid uuid = new Uuid();
+      final Uuid uuid = Uuid();
       String result = uuid.generateV4();
       expect(result[14], '4');
       expect(result[19].toLowerCase(), isIn('89ab'));
@@ -59,23 +59,23 @@
     });
 
     test('is pretty random', () {
-      final Set<String> set = new Set<String>();
+      final Set<String> set = Set<String>();
 
-      Uuid uuid = new Uuid();
+      Uuid uuid = Uuid();
       for (int i = 0; i < 64; i++) {
         final String val = uuid.generateV4();
         expect(set, isNot(contains(val)));
         set.add(val);
       }
 
-      uuid = new Uuid();
+      uuid = Uuid();
       for (int i = 0; i < 64; i++) {
         final String val = uuid.generateV4();
         expect(set, isNot(contains(val)));
         set.add(val);
       }
 
-      uuid = new Uuid();
+      uuid = Uuid();
       for (int i = 0; i < 64; i++) {
         final String val = uuid.generateV4();
         expect(set, isNot(contains(val)));
@@ -87,35 +87,35 @@
   group('Version', () {
     test('can parse and compare', () {
       expect(Version.unknown.toString(), equals('unknown'));
-      expect(new Version(null, null, null).toString(), equals('0'));
+      expect(Version(null, null, null).toString(), equals('0'));
 
-      final Version v1 = new Version.parse('1');
+      final Version v1 = Version.parse('1');
       expect(v1.major, equals(1));
       expect(v1.minor, equals(0));
       expect(v1.patch, equals(0));
 
       expect(v1, greaterThan(Version.unknown));
 
-      final Version v2 = new Version.parse('1.2');
+      final Version v2 = Version.parse('1.2');
       expect(v2.major, equals(1));
       expect(v2.minor, equals(2));
       expect(v2.patch, equals(0));
 
-      final Version v3 = new Version.parse('1.2.3');
+      final Version v3 = Version.parse('1.2.3');
       expect(v3.major, equals(1));
       expect(v3.minor, equals(2));
       expect(v3.patch, equals(3));
 
-      final Version v4 = new Version.parse('1.12');
+      final Version v4 = Version.parse('1.12');
       expect(v4, greaterThan(v2));
 
       expect(v3, greaterThan(v2));
       expect(v2, greaterThan(v1));
 
-      final Version v5 = new Version(1, 2, 0, text: 'foo');
+      final Version v5 = Version(1, 2, 0, text: 'foo');
       expect(v5, equals(v2));
 
-      expect(new Version.parse('Preview2.2'), isNull);
+      expect(Version.parse('Preview2.2'), isNull);
     });
   });
 
@@ -130,40 +130,40 @@
 
     test('fires at start', () async {
       bool called = false;
-      poller = new Poller(() async {
+      poller = Poller(() async {
         called = true;
       }, const Duration(seconds: 1));
       expect(called, false);
-      await new Future<Null>.delayed(kShortDelay);
+      await Future<Null>.delayed(kShortDelay);
       expect(called, true);
     });
 
     test('runs periodically', () async {
       // Ensure we get the first (no-delay) callback, and one of the periodic callbacks.
       int callCount = 0;
-      poller = new Poller(() async {
+      poller = Poller(() async {
         callCount++;
-      }, new Duration(milliseconds: kShortDelay.inMilliseconds ~/ 2));
+      }, Duration(milliseconds: kShortDelay.inMilliseconds ~/ 2));
       expect(callCount, 0);
-      await new Future<Null>.delayed(kShortDelay);
+      await Future<Null>.delayed(kShortDelay);
       expect(callCount, greaterThanOrEqualTo(2));
     });
 
     test('no quicker then the periodic delay', () async {
       // Make sure that the poller polls at delay + the time it took to run the callback.
-      final Completer<Duration> completer = new Completer<Duration>();
+      final Completer<Duration> completer = Completer<Duration>();
       DateTime firstTime;
-      poller = new Poller(() async {
+      poller = Poller(() async {
         if (firstTime == null)
-          firstTime = new DateTime.now();
+          firstTime = DateTime.now();
         else
-          completer.complete(new DateTime.now().difference(firstTime));
+          completer.complete(DateTime.now().difference(firstTime));
 
         // introduce a delay
-        await new Future<Null>.delayed(kShortDelay);
+        await Future<Null>.delayed(kShortDelay);
       }, kShortDelay);
       final Duration duration = await completer.future;
-      expect(duration, greaterThanOrEqualTo(new Duration(milliseconds: kShortDelay.inMilliseconds * 2)));
+      expect(duration, greaterThanOrEqualTo(Duration(milliseconds: kShortDelay.inMilliseconds * 2)));
     });
   });
 
diff --git a/packages/flutter_tools/test/version_test.dart b/packages/flutter_tools/test/version_test.dart
index 6060d5f..bd2cbcd 100644
--- a/packages/flutter_tools/test/version_test.dart
+++ b/packages/flutter_tools/test/version_test.dart
@@ -18,7 +18,7 @@
 import 'src/common.dart';
 import 'src/context.dart';
 
-final Clock _testClock = new Clock.fixed(new DateTime(2015, 1, 1));
+final Clock _testClock = Clock.fixed(DateTime(2015, 1, 1));
 final DateTime _upToDateVersion = _testClock.agoBy(FlutterVersion.kVersionAgeConsideredUpToDate ~/ 2);
 final DateTime _outOfDateVersion = _testClock.agoBy(FlutterVersion.kVersionAgeConsideredUpToDate * 2);
 final DateTime _stampUpToDate = _testClock.agoBy(FlutterVersion.kCheckAgeConsideredUpToDate ~/ 2);
@@ -29,8 +29,8 @@
   MockCache mockCache;
 
   setUp(() {
-    mockProcessManager = new MockProcessManager();
-    mockCache = new MockCache();
+    mockProcessManager = MockProcessManager();
+    mockCache = MockCache();
   });
 
   group('$FlutterVersion', () {
@@ -51,7 +51,7 @@
       await FlutterVersion.instance.checkFlutterVersionFreshness();
       _expectVersionMessage('');
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -61,7 +61,7 @@
         mockProcessManager,
         mockCache,
         localCommitDate: _outOfDateVersion,
-        stamp: new VersionCheckStamp(
+        stamp: VersionCheckStamp(
           lastTimeVersionWasChecked: _stampOutOfDate,
           lastKnownRemoteVersion: _outOfDateVersion,
         ),
@@ -74,7 +74,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage('');
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -84,7 +84,7 @@
         mockProcessManager,
         mockCache,
         localCommitDate: _outOfDateVersion,
-        stamp: new VersionCheckStamp(
+        stamp: VersionCheckStamp(
           lastTimeVersionWasChecked: _stampUpToDate,
           lastKnownRemoteVersion: _upToDateVersion,
         ),
@@ -95,7 +95,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage(FlutterVersion.newVersionAvailableMessage());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -105,7 +105,7 @@
         mockProcessManager,
         mockCache,
         localCommitDate: _outOfDateVersion,
-        stamp: new VersionCheckStamp(
+        stamp: VersionCheckStamp(
             lastTimeVersionWasChecked: _stampUpToDate,
             lastKnownRemoteVersion: _upToDateVersion,
         ),
@@ -120,7 +120,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage('');
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -149,7 +149,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage('');
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -159,7 +159,7 @@
         mockProcessManager,
         mockCache,
         localCommitDate: _outOfDateVersion,
-        stamp: new VersionCheckStamp(
+        stamp: VersionCheckStamp(
             lastTimeVersionWasChecked: _stampOutOfDate,
             lastKnownRemoteVersion: _testClock.ago(days: 2),
         ),
@@ -172,7 +172,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage(FlutterVersion.newVersionAvailableMessage());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -191,7 +191,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage('');
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -210,7 +210,7 @@
       await version.checkFlutterVersionFreshness();
       _expectVersionMessage(FlutterVersion.versionOutOfDateMessage(_testClock.now().difference(_outOfDateVersion)));
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -229,7 +229,7 @@
       when(mockProcessManager.runSync(
         <String>['git', 'merge-base', '--is-ancestor', 'abcdef', '123456'],
         workingDirectory: anyNamed('workingDirectory'),
-      )).thenReturn(new ProcessResult(1, 0, '', ''));
+      )).thenReturn(ProcessResult(1, 0, '', ''));
 
       expect(
         version.checkRevisionAncestry(
@@ -245,7 +245,7 @@
       ));
     },
     overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
     });
   });
@@ -261,7 +261,7 @@
       fakeData(mockProcessManager, mockCache);
       _expectDefault(await VersionCheckStamp.load());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -270,7 +270,7 @@
       fakeData(mockProcessManager, mockCache, stampJson: '<');
       _expectDefault(await VersionCheckStamp.load());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -279,7 +279,7 @@
       fakeData(mockProcessManager, mockCache, stampJson: '[]');
       _expectDefault(await VersionCheckStamp.load());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -298,7 +298,7 @@
       expect(stamp.lastTimeVersionWasChecked, _testClock.ago(days: 2));
       expect(stamp.lastTimeWarningWasPrinted, _testClock.now());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -308,7 +308,7 @@
 
       _expectDefault(await VersionCheckStamp.load());
 
-      final VersionCheckStamp stamp = new VersionCheckStamp(
+      final VersionCheckStamp stamp = VersionCheckStamp(
         lastKnownRemoteVersion: _testClock.ago(days: 1),
         lastTimeVersionWasChecked: _testClock.ago(days: 2),
         lastTimeWarningWasPrinted: _testClock.now(),
@@ -320,7 +320,7 @@
       expect(storedStamp.lastTimeVersionWasChecked, _testClock.ago(days: 2));
       expect(storedStamp.lastTimeWarningWasPrinted, _testClock.now());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -330,7 +330,7 @@
 
       _expectDefault(await VersionCheckStamp.load());
 
-      final VersionCheckStamp stamp = new VersionCheckStamp(
+      final VersionCheckStamp stamp = VersionCheckStamp(
         lastKnownRemoteVersion: _testClock.ago(days: 10),
         lastTimeVersionWasChecked: _testClock.ago(days: 9),
         lastTimeWarningWasPrinted: _testClock.ago(days: 8),
@@ -346,7 +346,7 @@
       expect(storedStamp.lastTimeVersionWasChecked, _testClock.ago(days: 2));
       expect(storedStamp.lastTimeWarningWasPrinted, _testClock.now());
     }, overrides: <Type, Generator>{
-      FlutterVersion: () => new FlutterVersion(_testClock),
+      FlutterVersion: () => FlutterVersion(_testClock),
       ProcessManager: () => mockProcessManager,
       Cache: () => mockCache,
     });
@@ -371,11 +371,11 @@
   bool expectServerPing = false,
 }) {
   ProcessResult success(String standardOutput) {
-    return new ProcessResult(1, 0, standardOutput, '');
+    return ProcessResult(1, 0, standardOutput, '');
   }
 
   ProcessResult failure(int exitCode) {
-    return new ProcessResult(1, exitCode, '', 'error');
+    return ProcessResult(1, exitCode, '', 'error');
   }
 
   when(cache.getStampFor(any)).thenAnswer((Invocation invocation) {
@@ -398,7 +398,7 @@
       return null;
     }
 
-    throw new StateError('Unexpected call to Cache.setStampFor(${invocation.positionalArguments}, ${invocation.namedArguments})');
+    throw StateError('Unexpected call to Cache.setStampFor(${invocation.positionalArguments}, ${invocation.namedArguments})');
   });
 
   final Answering<ProcessResult> syncAnswer = (Invocation invocation) {
@@ -426,7 +426,7 @@
       return success(remoteCommitDate.toString());
     }
 
-    throw new StateError('Unexpected call to ProcessManager.run(${invocation.positionalArguments}, ${invocation.namedArguments})');
+    throw StateError('Unexpected call to ProcessManager.run(${invocation.positionalArguments}, ${invocation.namedArguments})');
   };
 
   when(pm.runSync(any, workingDirectory: anyNamed('workingDirectory'))).thenAnswer(syncAnswer);
@@ -438,27 +438,27 @@
     <String>['git', 'rev-parse', '--abbrev-ref', '--symbolic', '@{u}'],
     workingDirectory: anyNamed('workingDirectory'),
     environment: anyNamed('environment'),
-  )).thenReturn(new ProcessResult(101, 0, 'master', ''));
+  )).thenReturn(ProcessResult(101, 0, 'master', ''));
   when(pm.runSync(
     <String>['git', 'rev-parse', '--abbrev-ref', 'HEAD'],
     workingDirectory: anyNamed('workingDirectory'),
     environment: anyNamed('environment'),
-  )).thenReturn(new ProcessResult(102, 0, 'branch', ''));
+  )).thenReturn(ProcessResult(102, 0, 'branch', ''));
   when(pm.runSync(
     <String>['git', 'log', '-n', '1', '--pretty=format:%H'],
     workingDirectory: anyNamed('workingDirectory'),
     environment: anyNamed('environment'),
-  )).thenReturn(new ProcessResult(103, 0, '1234abcd', ''));
+  )).thenReturn(ProcessResult(103, 0, '1234abcd', ''));
   when(pm.runSync(
     <String>['git', 'log', '-n', '1', '--pretty=format:%ar'],
     workingDirectory: anyNamed('workingDirectory'),
     environment: anyNamed('environment'),
-  )).thenReturn(new ProcessResult(104, 0, '1 second ago', ''));
+  )).thenReturn(ProcessResult(104, 0, '1 second ago', ''));
   when(pm.runSync(
     <String>['git', 'describe', '--match', 'v*.*.*', '--first-parent', '--long', '--tags'],
     workingDirectory: anyNamed('workingDirectory'),
     environment: anyNamed('environment'),
-  )).thenReturn(new ProcessResult(105, 0, 'v0.1.2-3-1234abcd', ''));
+  )).thenReturn(ProcessResult(105, 0, 'v0.1.2-3-1234abcd', ''));
 }
 
 class MockProcessManager extends Mock implements ProcessManager {}