sort_constructors_first (#22575)

diff --git a/packages/flutter_tools/lib/src/android/android_studio.dart b/packages/flutter_tools/lib/src/android/android_studio.dart
index 932433b..00f0dda 100644
--- a/packages/flutter_tools/lib/src/android/android_studio.dart
+++ b/packages/flutter_tools/lib/src/android/android_studio.dart
@@ -36,16 +36,6 @@
     _init();
   }
 
-  final String directory;
-  final String studioAppName;
-  final Version version;
-  final String configured;
-
-  String _pluginsPath;
-  String _javaPath;
-  bool _isValid = false;
-  final List<String> _validationMessages = <String>[];
-
   factory AndroidStudio.fromMacOSBundle(String bundlePath) {
     final String studioPath = fs.path.join(bundlePath, 'Contents');
     final String plistFile = fs.path.join(studioPath, 'Info.plist');
@@ -89,6 +79,16 @@
     return null;
   }
 
+  final String directory;
+  final String studioAppName;
+  final Version version;
+  final String configured;
+
+  String _pluginsPath;
+  String _javaPath;
+  bool _isValid = false;
+  final List<String> _validationMessages = <String>[];
+
   String get javaPath => _javaPath;
 
   bool get isValid => _isValid;
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 3302e94..b12d338 100644
--- a/packages/flutter_tools/lib/src/android/android_studio_validator.dart
+++ b/packages/flutter_tools/lib/src/android/android_studio_validator.dart
@@ -11,10 +11,10 @@
 import 'android_studio.dart';
 
 class AndroidStudioValidator extends DoctorValidator {
-  final AndroidStudio _studio;
-
   AndroidStudioValidator(this._studio) : super('Android Studio');
 
+  final AndroidStudio _studio;
+
   static List<DoctorValidator> get allValidators {
     final List<DoctorValidator> validators = <DoctorValidator>[];
     final List<AndroidStudio> studios = AndroidStudio.allInstalled();
diff --git a/packages/flutter_tools/lib/src/application_package.dart b/packages/flutter_tools/lib/src/application_package.dart
index 03fbd9b..fc16897 100644
--- a/packages/flutter_tools/lib/src/application_package.dart
+++ b/packages/flutter_tools/lib/src/application_package.dart
@@ -21,12 +21,12 @@
 import 'tester/flutter_tester.dart';
 
 abstract class ApplicationPackage {
-  /// Package ID from the Android Manifest or equivalent.
-  final String id;
-
   ApplicationPackage({ @required this.id })
     : assert(id != null);
 
+  /// Package ID from the Android Manifest or equivalent.
+  final String id;
+
   String get name;
 
   String get displayName => name;
@@ -38,12 +38,6 @@
 }
 
 class AndroidApk extends ApplicationPackage {
-  /// Path to the actual apk file.
-  final File file;
-
-  /// The path to the activity that should be launched.
-  final String launchActivity;
-
   AndroidApk({
     String id,
     @required this.file,
@@ -88,6 +82,12 @@
     );
   }
 
+  /// Path to the actual apk file.
+  final File file;
+
+  /// The path to the activity that should be launched.
+  final String launchActivity;
+
   /// Creates a new AndroidApk based on the information in the Android manifest.
   static Future<AndroidApk> fromAndroidProject(AndroidProject androidProject) async {
     File apkFile;
@@ -250,15 +250,15 @@
 }
 
 class PrebuiltIOSApp extends IOSApp {
-  final Directory bundleDir;
-  final String bundleName;
-
   PrebuiltIOSApp({
     this.bundleDir,
     this.bundleName,
     @required String projectBundleId,
   }) : super(projectBundleId: projectBundleId);
 
+  final Directory bundleDir;
+  final String bundleName;
+
   @override
   String get name => bundleName;
 
@@ -299,11 +299,11 @@
 }
 
 class ApplicationPackageStore {
+  ApplicationPackageStore({ this.android, this.iOS });
+
   AndroidApk android;
   IOSApp iOS;
 
-  ApplicationPackageStore({ this.android, this.iOS });
-
   Future<ApplicationPackage> getPackageForPlatform(TargetPlatform platform) async {
     switch (platform) {
       case TargetPlatform.android_arm:
@@ -332,9 +332,6 @@
 }
 
 class _Element extends _Entry {
-  List<_Entry> children;
-  String name;
-
   _Element.fromLine(String line, _Element parent) {
     //      E: application (line=29)
     final List<String> parts = line.trimLeft().split(' ');
@@ -344,6 +341,9 @@
     children = <_Entry>[];
   }
 
+  List<_Entry> children;
+  String name;
+
   void addChild(_Entry child) {
     children.add(child);
   }
@@ -369,9 +369,6 @@
 }
 
 class _Attribute extends _Entry {
-  String key;
-  String value;
-
   _Attribute.fromLine(String line, _Element parent) {
     //     A: android:label(0x01010001)="hello_world" (Raw: "hello_world")
     const String attributePrefix = 'A: ';
@@ -383,6 +380,9 @@
     level = line.length - line.trimLeft().length;
     this.parent = parent;
   }
+
+  String key;
+  String value;
 }
 
 class ApkManifestData {
diff --git a/packages/flutter_tools/lib/src/artifacts.dart b/packages/flutter_tools/lib/src/artifacts.dart
index 9ad2d9b..59c20c7 100644
--- a/packages/flutter_tools/lib/src/artifacts.dart
+++ b/packages/flutter_tools/lib/src/artifacts.dart
@@ -231,12 +231,12 @@
 
 /// Manages the artifacts of a locally built engine.
 class LocalEngineArtifacts extends Artifacts {
+  LocalEngineArtifacts(this._engineSrcPath, this.engineOutPath, this._hostEngineOutPath);
+
   final String _engineSrcPath;
   final String engineOutPath; // TODO(goderbauer): This should be private.
   String _hostEngineOutPath;
 
-  LocalEngineArtifacts(this._engineSrcPath, this.engineOutPath, this._hostEngineOutPath);
-
   @override
   String getArtifactPath(Artifact artifact, [TargetPlatform platform, BuildMode mode]) {
     switch (artifact) {
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
index 5052e5d..871c882 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
@@ -56,21 +56,21 @@
 }
 
 class _ManifestAssetBundle implements AssetBundle {
+  /// Constructs an [_ManifestAssetBundle] that gathers the set of assets from the
+  /// pubspec.yaml manifest.
+  _ManifestAssetBundle();
+
   @override
   final Map<String, DevFSContent> entries = <String, DevFSContent>{};
 
+  DateTime _lastBuildTimestamp;
+
   static const String defaultManifestPath = 'pubspec.yaml';
   static const String _assetManifestJson = 'AssetManifest.json';
   static const String _fontManifestJson = 'FontManifest.json';
   static const String _fontSetMaterial = 'material';
   static const String _license = 'LICENSE';
 
-  DateTime _lastBuildTimestamp;
-
-  /// Constructs an [_ManifestAssetBundle] that gathers the set of assets from the
-  /// pubspec.yaml manifest.
-  _ManifestAssetBundle();
-
   @override
   bool wasBuiltOnce() => _lastBuildTimestamp != null;
 
diff --git a/packages/flutter_tools/lib/src/base/version.dart b/packages/flutter_tools/lib/src/base/version.dart
index 663c43e..80ad3f0 100644
--- a/packages/flutter_tools/lib/src/base/version.dart
+++ b/packages/flutter_tools/lib/src/base/version.dart
@@ -3,24 +3,6 @@
 // found in the LICENSE file.
 
 class Version implements Comparable<Version> {
-  static final RegExp versionPattern =
-      RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?');
-
-  /// The major version number: "1" in "1.2.3".
-  final int major;
-
-  /// The minor version number: "2" in "1.2.3".
-  final int minor;
-
-  /// The patch version number: "3" in "1.2.3".
-  final int patch;
-
-  /// The original string representation of the version number.
-  ///
-  /// This preserves textual artifacts like leading zeros that may be left out
-  /// of the parsed version.
-  final String _text;
-
   /// Creates a new [Version] object.
   factory Version(int major, int minor, int patch, {String text}) {
     if (text == null) {
@@ -76,6 +58,24 @@
 
   static Version get unknown => Version(0, 0, 0, text: 'unknown');
 
+  /// The major version number: "1" in "1.2.3".
+  final int major;
+
+  /// The minor version number: "2" in "1.2.3".
+  final int minor;
+
+  /// The patch version number: "3" in "1.2.3".
+  final int patch;
+
+  /// The original string representation of the version number.
+  ///
+  /// This preserves textual artifacts like leading zeros that may be left out
+  /// of the parsed version.
+  final String _text;
+
+  static final RegExp versionPattern =
+      RegExp(r'^(\d+)(\.(\d+)(\.(\d+))?)?');
+
   /// Two [Version]s are equal if their version numbers are. The version text
   /// is ignored.
   @override
diff --git a/packages/flutter_tools/lib/src/commands/analyze_base.dart b/packages/flutter_tools/lib/src/commands/analyze_base.dart
index 04547d2..e10f96f 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_base.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_base.dart
@@ -15,11 +15,11 @@
 
 /// Common behavior for `flutter analyze` and `flutter analyze --watch`
 abstract class AnalyzeBase {
+  AnalyzeBase(this.argResults);
+
   /// The parsed argument results for execution.
   final ArgResults argResults;
 
-  AnalyzeBase(this.argResults);
-
   /// Called by [AnalyzeCommand] to start the analysis process.
   Future<Null> analyze();
 
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart
index 18d38bc..de16efb 100644
--- a/packages/flutter_tools/lib/src/commands/daemon.dart
+++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -819,14 +819,14 @@
 
 /// This domain responds to methods like [getEmulators] and [launch].
 class EmulatorDomain extends Domain {
-  EmulatorManager emulators = EmulatorManager();
-
   EmulatorDomain(Daemon daemon) : super(daemon, 'emulator') {
     registerHandler('getEmulators', getEmulators);
     registerHandler('launch', launch);
     registerHandler('create', create);
   }
 
+  EmulatorManager emulators = EmulatorManager();
+
   Future<List<Map<String, dynamic>>> getEmulators([Map<String, dynamic> args]) async {
     final List<Emulator> list = await emulators.getAllAvailableEmulators();
     return list.map<Map<String, dynamic>>(_emulatorToMap).toList();
@@ -971,9 +971,9 @@
 }
 
 class LogMessage {
+  LogMessage(this.level, this.message, [this.stackTrace]);
+
   final String level;
   final String message;
   final StackTrace stackTrace;
-
-  LogMessage(this.level, this.message, [this.stackTrace]);
 }
diff --git a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
index 3979beb..9bb14cf 100644
--- a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
+++ b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
@@ -444,18 +444,18 @@
 // VM service running on a Fuchsia device. [process] is the ssh process running
 // the tunnel and [port] is the local port.
 class _PortForwarder {
-  final String _remoteAddress;
-  final int _remotePort;
-  final int _localPort;
-  final Process _process;
-  final String _sshConfig;
-
   _PortForwarder._(this._remoteAddress,
                    this._remotePort,
                    this._localPort,
                    this._process,
                    this._sshConfig);
 
+  final String _remoteAddress;
+  final int _remotePort;
+  final int _localPort;
+  final Process _process;
+  final String _sshConfig;
+
   int get port => _localPort;
 
   static Future<_PortForwarder> start(String sshConfig,
@@ -519,11 +519,11 @@
 }
 
 class FuchsiaDeviceCommandRunner {
+  FuchsiaDeviceCommandRunner(this._address, this._sshConfig);
+
   final String _address;
   final String _sshConfig;
 
-  FuchsiaDeviceCommandRunner(this._address, this._sshConfig);
-
   Future<List<String>> run(String command) async {
     final List<String> args = <String>['ssh', '-F', _sshConfig, _address, command];
     printTrace(args.join(' '));
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart
index 36efd98..40c3548 100644
--- a/packages/flutter_tools/lib/src/commands/run.dart
+++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -72,12 +72,6 @@
 }
 
 class RunCommand extends RunCommandBase {
-  @override
-  final String name = 'run';
-
-  @override
-  final String description = 'Run your Flutter app on an attached device.';
-
   RunCommand({ bool verboseHelp = false }) : super(verboseHelp: verboseHelp) {
     requiresPubspecYaml();
     usesFilesystemOptions(hide: !verboseHelp);
@@ -179,6 +173,12 @@
       ..addOption(FlutterOptions.kExtraGenSnapshotOptions, hide: true);
   }
 
+  @override
+  final String name = 'run';
+
+  @override
+  final String description = 'Run your Flutter app on an attached device.';
+
   List<Device> devices;
 
   @override
diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart
index a3c6930..9ae0778 100644
--- a/packages/flutter_tools/lib/src/compile.dart
+++ b/packages/flutter_tools/lib/src/compile.dart
@@ -21,10 +21,10 @@
 typedef CompilerMessageConsumer = void Function(String message, {bool emphasis, TerminalColor color});
 
 class CompilerOutput {
+  const CompilerOutput(this.outputFilename, this.errorCount);
+
   final String outputFilename;
   final int errorCount;
-
-  const CompilerOutput(this.outputFilename, this.errorCount);
 }
 
 class _StdoutHandler {
@@ -198,10 +198,10 @@
 
 /// Class that allows to serialize compilation requests to the compiler.
 abstract class _CompilationRequest {
-  Completer<CompilerOutput> completer;
-
   _CompilationRequest(this.completer);
 
+  Completer<CompilerOutput> completer;
+
   Future<CompilerOutput> _run(ResidentCompiler compiler);
 
   Future<void> run(ResidentCompiler compiler) async {
diff --git a/packages/flutter_tools/lib/src/crash_reporting.dart b/packages/flutter_tools/lib/src/crash_reporting.dart
index 9018cee..b353780 100644
--- a/packages/flutter_tools/lib/src/crash_reporting.dart
+++ b/packages/flutter_tools/lib/src/crash_reporting.dart
@@ -48,10 +48,10 @@
 /// * In tests call [initializeWith] and provide a mock implementation of
 ///   [http.Client].
 class CrashReportSender {
-  static CrashReportSender _instance;
-
   CrashReportSender._(this._client);
 
+  static CrashReportSender _instance;
+
   static CrashReportSender get instance => _instance ?? CrashReportSender._(http.Client());
 
   /// Overrides the default [http.Client] with [client] for testing purposes.
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart
index b4b6e6b..b318302 100644
--- a/packages/flutter_tools/lib/src/dart/pub.dart
+++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -23,7 +23,17 @@
 // DO NOT update without contacting kevmoo.
 // We have server-side tooling that assumes the values are consistent.
 class PubContext {
-  static final RegExp _validContext = RegExp('[a-z][a-z_]*[a-z]');
+  PubContext._(this._values) {
+    for (String item in _values) {
+      if (!_validContext.hasMatch(item)) {
+        throw ArgumentError.value(
+            _values, 'value', 'Must match RegExp ${_validContext.pattern}');
+      }
+    }
+  }
+
+  static PubContext getVerifyContext(String commandName) =>
+      PubContext._(<String>['verify', commandName.replaceAll('-', '_')]);
 
   static final PubContext create = PubContext._(<String>['create']);
   static final PubContext createPackage = PubContext._(<String>['create_pkg']);
@@ -38,17 +48,7 @@
 
   final List<String> _values;
 
-  PubContext._(this._values) {
-    for (String item in _values) {
-      if (!_validContext.hasMatch(item)) {
-        throw ArgumentError.value(
-            _values, 'value', 'Must match RegExp ${_validContext.pattern}');
-      }
-    }
-  }
-
-  static PubContext getVerifyContext(String commandName) =>
-      PubContext._(<String>['verify', commandName.replaceAll('-', '_')]);
+  static final RegExp _validContext = RegExp('[a-z][a-z_]*[a-z]');
 
   @override
   String toString() => 'PubContext: ${_values.join(':')}';
diff --git a/packages/flutter_tools/lib/src/dependency_checker.dart b/packages/flutter_tools/lib/src/dependency_checker.dart
index 8316443..bcc9407 100644
--- a/packages/flutter_tools/lib/src/dependency_checker.dart
+++ b/packages/flutter_tools/lib/src/dependency_checker.dart
@@ -8,10 +8,11 @@
 import 'globals.dart';
 
 class DependencyChecker {
+  DependencyChecker(this.builder, this.assets);
+
   final DartDependencySetBuilder builder;
   final Set<String> _dependencies = Set<String>();
   final AssetBundle assets;
-  DependencyChecker(this.builder, this.assets);
 
   /// Returns [true] if any components have been modified after [threshold] or
   /// if it cannot be determined.
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index 3dd8819..54b7107 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -201,10 +201,10 @@
 /// An implementation of [DevFSOperations] that speaks to the
 /// vm service.
 class ServiceProtocolDevFSOperations implements DevFSOperations {
-  final VMService vmService;
-
   ServiceProtocolDevFSOperations(this.vmService);
 
+  final VMService vmService;
+
   @override
   Future<Uri> create(String fsName) async {
     final Map<String, dynamic> response = await vmService.vm.createDevFS(fsName);
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart
index d0fcf2f..ca10b6e 100644
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -420,10 +420,10 @@
 }
 
 abstract class IntelliJValidator extends DoctorValidator {
-  final String installPath;
-
   IntelliJValidator(String title, this.installPath) : super(title);
 
+  final String installPath;
+
   String get version;
   String get pluginsPath;
 
@@ -644,10 +644,10 @@
 }
 
 class ValidatorWithResult extends DoctorValidator {
-  final ValidationResult result;
-
   ValidatorWithResult(String title, this.result) : super(title);
 
+  final ValidationResult result;
+
   @override
   Future<ValidationResult> validate() async => result;
 }
diff --git a/packages/flutter_tools/lib/src/emulator.dart b/packages/flutter_tools/lib/src/emulator.dart
index 42e63fe..51d0706 100644
--- a/packages/flutter_tools/lib/src/emulator.dart
+++ b/packages/flutter_tools/lib/src/emulator.dart
@@ -277,10 +277,10 @@
 }
 
 class CreateEmulatorResult {
+  CreateEmulatorResult(this.emulatorName, {this.success, this.output, this.error});
+
   final bool success;
   final String emulatorName;
   final String output;
   final String error;
-
-  CreateEmulatorResult(this.emulatorName, {this.success, this.output, this.error});
 }
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
index 0c02bcc..7609979 100644
--- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
+++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
@@ -10,10 +10,10 @@
 
 /// Read the log for a particular device.
 class _FuchsiaLogReader extends DeviceLogReader {
-  FuchsiaDevice _device;
-
   _FuchsiaLogReader(this._device);
 
+  FuchsiaDevice _device;
+
   @override String get name => _device.name;
 
   Stream<String> _logLines;
diff --git a/packages/flutter_tools/lib/src/intellij/intellij.dart b/packages/flutter_tools/lib/src/intellij/intellij.dart
index 03f2d0f..46278ba 100644
--- a/packages/flutter_tools/lib/src/intellij/intellij.dart
+++ b/packages/flutter_tools/lib/src/intellij/intellij.dart
@@ -11,11 +11,11 @@
 import '../doctor.dart';
 
 class IntelliJPlugins {
-  static final Version kMinFlutterPluginVersion = Version(16, 0, 0);
+  IntelliJPlugins(this.pluginsPath);
 
   final String pluginsPath;
 
-  IntelliJPlugins(this.pluginsPath);
+  static final Version kMinFlutterPluginVersion = Version(16, 0, 0);
 
   void validatePackage(
       List<ValidationMessage> messages, List<String> packageNames, String title,
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index d9f4e26..f567692 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -440,11 +440,6 @@
 }
 
 class _IOSDeviceLogReader extends DeviceLogReader {
-  // Matches a syslog line from the runner.
-  RegExp _runnerLineRegex;
-  // Matches a syslog line from any app.
-  RegExp _anyLineRegex;
-
   _IOSDeviceLogReader(this.device, ApplicationPackage app) {
     _linesController = StreamController<String>.broadcast(
       onListen: _start,
@@ -465,6 +460,11 @@
 
   final IOSDevice device;
 
+  // Matches a syslog line from the runner.
+  RegExp _runnerLineRegex;
+  // Matches a syslog line from any app.
+  RegExp _anyLineRegex;
+
   StreamController<String> _linesController;
   Process _process;
 
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index 77dd9d4..ea830e3 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -482,8 +482,6 @@
 }
 
 class _IOSSimulatorLogReader extends DeviceLogReader {
-  String _appName;
-
   _IOSSimulatorLogReader(this.device, IOSApp app) {
     _linesController = StreamController<String>.broadcast(
       onListen: _start,
@@ -494,6 +492,8 @@
 
   final IOSSimulator device;
 
+  String _appName;
+
   StreamController<String> _linesController;
 
   // We log from two files: the device and the system log.
diff --git a/packages/flutter_tools/lib/src/plugins.dart b/packages/flutter_tools/lib/src/plugins.dart
index 2b959c7..cd4827b 100644
--- a/packages/flutter_tools/lib/src/plugins.dart
+++ b/packages/flutter_tools/lib/src/plugins.dart
@@ -22,12 +22,6 @@
 }
 
 class Plugin {
-  final String name;
-  final String path;
-  final String androidPackage;
-  final String iosPrefix;
-  final String pluginClass;
-
   Plugin({
     this.name,
     this.path,
@@ -53,6 +47,12 @@
       pluginClass: pluginClass,
     );
   }
+
+  final String name;
+  final String path;
+  final String androidPackage;
+  final String iosPrefix;
+  final String pluginClass;
 }
 
 Plugin _pluginFromPubspec(String name, Uri packageRoot) {
diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart
index 0654611..3f94c80 100644
--- a/packages/flutter_tools/lib/src/project.dart
+++ b/packages/flutter_tools/lib/src/project.dart
@@ -148,15 +148,15 @@
 /// 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 = RegExp(r'^\s*PRODUCT_BUNDLE_IDENTIFIER\s*=\s*(.*);\s*$');
-  static const String _productBundleIdVariable = r'$(PRODUCT_BUNDLE_IDENTIFIER)';
-  static const String _hostAppBundleName = 'Runner';
-
   IosProject._(this.parent);
 
   /// The parent of this project.
   final FlutterProject parent;
 
+  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';
+
   Directory get _ephemeralDirectory => parent.directory.childDirectory('.ios');
   Directory get _editableDirectory => parent.directory.childDirectory('ios');
 
@@ -321,14 +321,14 @@
 /// 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 = RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$');
-  static final RegExp _groupPattern = RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$');
-
   AndroidProject._(this.parent);
 
   /// The parent of this project.
   final FlutterProject parent;
 
+  static final RegExp _applicationIdPattern = RegExp('^\\s*applicationId\\s+[\'\"](.*)[\'\"]\\s*\$');
+  static final RegExp _groupPattern = RegExp('^\\s*group\\s+[\'\"](.*)[\'\"]\\s*\$');
+
   /// The Gradle root directory of the Android host app. This is the directory
   /// containing the `app/` subdirectory and the `settings.gradle` file that
   /// includes it in the overall Gradle project.
diff --git a/packages/flutter_tools/lib/src/tester/flutter_tester.dart b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
index 4e5ff5f..219d46b 100644
--- a/packages/flutter_tools/lib/src/tester/flutter_tester.dart
+++ b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
@@ -22,8 +22,6 @@
 import '../version.dart';
 
 class FlutterTesterApp extends ApplicationPackage {
-  final Directory _directory;
-
   factory FlutterTesterApp.fromCurrentDirectory() {
     return FlutterTesterApp._(fs.currentDirectory);
   }
@@ -32,6 +30,8 @@
       : _directory = directory,
         super(id: directory.path);
 
+  final Directory _directory;
+
   @override
   String get name => _directory.basename;
 
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index 98612c0..da54493 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -368,10 +368,6 @@
 /// Contains data and load/save logic pertaining to Flutter version checks.
 @visibleForTesting
 class VersionCheckStamp {
-  /// The prefix of the stamp file where we cache Flutter version check data.
-  @visibleForTesting
-  static const String kFlutterVersionCheckStampFile = 'flutter_version_check';
-
   const VersionCheckStamp({
     this.lastTimeVersionWasChecked,
     this.lastKnownRemoteVersion,
@@ -382,6 +378,10 @@
   final DateTime lastKnownRemoteVersion;
   final DateTime lastTimeWarningWasPrinted;
 
+  /// The prefix of the stamp file where we cache Flutter version check data.
+  @visibleForTesting
+  static const String kFlutterVersionCheckStampFile = 'flutter_version_check';
+
   static Future<VersionCheckStamp> load() async {
     final String versionCheckStamp = Cache.instance.getStampFor(kFlutterVersionCheckStampFile);
 
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index 0fa50cb..e76b963 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -559,7 +559,20 @@
 }
 
 class ServiceEvent extends ServiceObject {
-  /// The possible 'kind' values.
+  ServiceEvent._empty(ServiceObjectOwner owner) : super._empty(owner);
+
+  String _kind;
+  String get kind => _kind;
+  DateTime _timestamp;
+  DateTime get timestamp => _timestamp;
+  String _extensionKind;
+  String get extensionKind => _extensionKind;
+  Map<String, dynamic> _extensionData;
+  Map<String, dynamic> get extensionData => _extensionData;
+  List<Map<String, dynamic>> _timelineEvents;
+  List<Map<String, dynamic>> get timelineEvents => _timelineEvents;
+
+  // The possible 'kind' values.
   static const String kVMUpdate               = 'VMUpdate';
   static const String kIsolateStart           = 'IsolateStart';
   static const String kIsolateRunnable        = 'IsolateRunnable';
@@ -587,19 +600,6 @@
   static const String kLogging                = '_Logging';
   static const String kExtension              = 'Extension';
 
-  ServiceEvent._empty(ServiceObjectOwner owner) : super._empty(owner);
-
-  String _kind;
-  String get kind => _kind;
-  DateTime _timestamp;
-  DateTime get timestamp => _timestamp;
-  String _extensionKind;
-  String get extensionKind => _extensionKind;
-  Map<String, dynamic> _extensionData;
-  Map<String, dynamic> get extensionData => _extensionData;
-  List<Map<String, dynamic>> _timelineEvents;
-  List<Map<String, dynamic>> get timelineEvents => _timelineEvents;
-
   @override
   void _update(Map<String, dynamic> map, bool mapIsRef) {
     _loaded = true;
diff --git a/packages/flutter_tools/lib/src/vmservice_record_replay.dart b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
index 49dd7c3..0126f87 100644
--- a/packages/flutter_tools/lib/src/vmservice_record_replay.dart
+++ b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
@@ -22,11 +22,6 @@
 /// A [StreamChannel] that expects VM service (JSON-rpc) protocol messages and
 /// serializes all such messages to the file system for later playback.
 class RecordingVMServiceChannel extends DelegatingStreamChannel<String> {
-  final List<_Message> _messages = <_Message>[];
-
-  _RecordingStream _streamRecorder;
-  _RecordingSink _sinkRecorder;
-
   RecordingVMServiceChannel(StreamChannel<String> delegate, Directory location)
       : super(delegate) {
     addShutdownHook(() async {
@@ -41,6 +36,11 @@
     }, ShutdownStage.SERIALIZE_RECORDING);
   }
 
+  final List<_Message> _messages = <_Message>[];
+
+  _RecordingStream _streamRecorder;
+  _RecordingSink _sinkRecorder;
+
   @override
   Stream<String> get stream {
     _streamRecorder ??= _RecordingStream(super.stream, _messages);
@@ -53,9 +53,6 @@
 
 /// Base class for request and response JSON-rpc messages.
 abstract class _Message implements Comparable<_Message> {
-  final String type;
-  final Map<String, dynamic> data;
-
   _Message(this.type, this.data);
 
   factory _Message.fromRecording(Map<String, dynamic> recordingData) {
@@ -64,6 +61,9 @@
         : _Response(recordingData[_kData]);
   }
 
+  final String type;
+  final Map<String, dynamic> data;
+
   int get id => data[_kId];
 
   /// Allows [JsonEncoder] to properly encode objects of this type.
@@ -115,11 +115,6 @@
 /// A helper class that monitors a [Stream] of VM service JSON-rpc responses
 /// and saves the responses to a recording.
 class _RecordingStream {
-  final Stream<String> _delegate;
-  final StreamController<String> _controller;
-  final List<_Message> _recording;
-  StreamSubscription<String> _subscription;
-
   _RecordingStream(Stream<String> stream, this._recording)
       : _delegate = stream,
         _controller = stream.isBroadcast
@@ -144,6 +139,11 @@
     };
   }
 
+  final Stream<String> _delegate;
+  final StreamController<String> _controller;
+  final List<_Message> _recording;
+  StreamSubscription<String> _subscription;
+
   StreamSubscription<String> _listenToStream() {
     return _delegate.listen(
       (String element) {
@@ -162,11 +162,11 @@
 /// A [StreamSink] that monitors VM service JSON-rpc requests and saves the
 /// requests to a recording.
 class _RecordingSink implements StreamSink<String> {
+  _RecordingSink(this._delegate, this._recording);
+
   final StreamSink<String> _delegate;
   final List<_Message> _recording;
 
-  _RecordingSink(this._delegate, this._recording);
-
   @override
   Future<dynamic> close() => _delegate.close();
 
@@ -194,13 +194,13 @@
 /// to its [StreamChannel.sink], looks up those requests in a recording, and
 /// replays the corresponding responses back from the recording.
 class ReplayVMServiceChannel extends StreamChannelMixin<String> {
+  ReplayVMServiceChannel(Directory location)
+      : _transactions = _loadTransactions(location);
+
   final Map<int, _Transaction> _transactions;
   final StreamController<String> _controller = StreamController<String>();
   _ReplaySink _replaySink;
 
-  ReplayVMServiceChannel(Directory location)
-      : _transactions = _loadTransactions(location);
-
   static Map<int, _Transaction> _loadTransactions(Directory location) {
     final File file = _getManifest(location);
     final String jsonData = file.readAsStringSync();
@@ -250,11 +250,11 @@
 }
 
 class _ReplaySink implements StreamSink<String> {
+  _ReplaySink(this.channel);
+
   final ReplayVMServiceChannel channel;
   final Completer<Null> _completer = Completer<Null>();
 
-  _ReplaySink(this.channel);
-
   @override
   Future<dynamic> close() {
     _completer.complete();
diff --git a/packages/flutter_tools/lib/src/vscode/vscode.dart b/packages/flutter_tools/lib/src/vscode/vscode.dart
index e92b9e3..3ed7586 100644
--- a/packages/flutter_tools/lib/src/vscode/vscode.dart
+++ b/packages/flutter_tools/lib/src/vscode/vscode.dart
@@ -45,17 +45,6 @@
     }
   }
 
-  final String directory;
-  final String extensionDirectory;
-  final Version version;
-  final String edition;
-
-  static const String extensionIdentifier = 'Dart-Code.flutter';
-
-  bool _isValid = false;
-  Version _extensionVersion;
-  final List<String> _validationMessages = <String>[];
-
   factory VsCode.fromDirectory(String installPath, String extensionDirectory,
       { String edition }) {
     final String packageJsonPath =
@@ -67,6 +56,17 @@
     return VsCode._(installPath, extensionDirectory, version: version, edition: edition);
   }
 
+  final String directory;
+  final String extensionDirectory;
+  final Version version;
+  final String edition;
+
+  static const String extensionIdentifier = 'Dart-Code.flutter';
+
+  bool _isValid = false;
+  Version _extensionVersion;
+  final List<String> _validationMessages = <String>[];
+
   bool get isValid => _isValid;
   String get productName => 'VS Code' + (edition != null ? ', $edition' : '');
 
diff --git a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
index b93e1d0..3d95170 100644
--- a/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
+++ b/packages/flutter_tools/lib/src/vscode/vscode_validator.dart
@@ -9,11 +9,12 @@
 import 'vscode.dart';
 
 class VsCodeValidator extends DoctorValidator {
-  static const String extensionMarketplaceUrl =
-    'https://marketplace.visualstudio.com/items?itemName=${VsCode.extensionIdentifier}';
+  VsCodeValidator(this._vsCode) : super(_vsCode.productName);
+
   final VsCode _vsCode;
 
-  VsCodeValidator(this._vsCode) : super(_vsCode.productName);
+  static const String extensionMarketplaceUrl =
+    'https://marketplace.visualstudio.com/items?itemName=${VsCode.extensionIdentifier}';
 
   static Iterable<DoctorValidator> get installedValidators {
     return VsCode
diff --git a/packages/flutter_tools/test/commands/doctor_test.dart b/packages/flutter_tools/test/commands/doctor_test.dart
index 7e37463..ea49e34 100644
--- a/packages/flutter_tools/test/commands/doctor_test.dart
+++ b/packages/flutter_tools/test/commands/doctor_test.dart
@@ -510,18 +510,17 @@
 /// A doctor that takes any two validators. Used to check behavior when
 /// merging ValidationTypes (installed, missing, partial).
 class FakeSmallGroupDoctor extends Doctor {
-  List<DoctorValidator> _validators;
   FakeSmallGroupDoctor(DoctorValidator val1, DoctorValidator val2) {
     _validators = <DoctorValidator>[GroupedValidator(<DoctorValidator>[val1, val2])];
   }
+
+  List<DoctorValidator> _validators;
+
   @override
   List<DoctorValidator> get validators => _validators;
 }
 
 class VsCodeValidatorTestTargets extends VsCodeValidator {
-  static final String validInstall = fs.path.join('test', 'data', 'vscode', 'application');
-  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(VsCode.fromDirectory(installDirectory, extensionDirectory, edition: edition));
 
@@ -533,4 +532,8 @@
 
   static VsCodeValidatorTestTargets get installedWithoutExtension =>
       VsCodeValidatorTestTargets._(validInstall, missingExtensions);
+
+  static final String validInstall = fs.path.join('test', 'data', 'vscode', 'application');
+  static final String validExtensions = fs.path.join('test', 'data', 'vscode', 'extensions');
+  static final String missingExtensions = fs.path.join('test', 'data', 'vscode', 'notExtensions');
 }
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart
index 16e23f3..ec4773f 100644
--- a/packages/flutter_tools/test/dart/pub_get_test.dart
+++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -251,13 +251,13 @@
 }
 
 class MockDirectory implements Directory {
-  static bool findCache = false;
-
   MockDirectory(this.path);
 
   @override
   final String path;
 
+  static bool findCache = false;
+
   @override
   bool existsSync() => findCache && path.endsWith('.pub-cache');
 
diff --git a/packages/flutter_tools/test/devfs_test.dart b/packages/flutter_tools/test/devfs_test.dart
index c834d02..d3c72bc 100644
--- a/packages/flutter_tools/test/devfs_test.dart
+++ b/packages/flutter_tools/test/devfs_test.dart
@@ -424,14 +424,14 @@
 }
 
 class MockVMService extends BasicMock implements VMService {
-  Uri _httpAddress;
-  HttpServer _server;
-  MockVM _vm;
-
   MockVMService() {
     _vm = MockVM(this);
   }
 
+  Uri _httpAddress;
+  HttpServer _server;
+  MockVM _vm;
+
   @override
   Uri get httpAddress => _httpAddress;
 
@@ -468,14 +468,14 @@
 }
 
 class MockVM implements VM {
+  MockVM(this._service);
+
   final MockVMService _service;
   final Uri _baseUri = Uri.parse('file:///tmp/devfs/test');
   bool _devFSExists = false;
 
   static const int kFileSystemAlreadyExists = 1001;
 
-  MockVM(this._service);
-
   @override
   Future<Map<String, dynamic>> createDevFS(String fsName) async {
     _service.messages.add('create $fsName');
diff --git a/packages/flutter_tools/test/device_test.dart b/packages/flutter_tools/test/device_test.dart
index 286ee49..db32c3d 100644
--- a/packages/flutter_tools/test/device_test.dart
+++ b/packages/flutter_tools/test/device_test.dart
@@ -39,10 +39,10 @@
 }
 
 class TestDeviceManager extends DeviceManager {
-  final List<Device> allDevices;
-
   TestDeviceManager(this.allDevices);
 
+  final List<Device> allDevices;
+
   @override
   Stream<Device> getAllConnectedDevices() {
     return Stream<Device>.fromIterable(allDevices);
@@ -50,11 +50,11 @@
 }
 
 class _MockDevice extends Device {
+  _MockDevice(this.name, String id) : super(id);
+
   @override
   final String name;
 
-  _MockDevice(this.name, String id) : super(id);
-
   @override
   void noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
 }
diff --git a/packages/flutter_tools/test/emulator_test.dart b/packages/flutter_tools/test/emulator_test.dart
index 01c7d4c..0bb1499 100644
--- a/packages/flutter_tools/test/emulator_test.dart
+++ b/packages/flutter_tools/test/emulator_test.dart
@@ -152,10 +152,10 @@
 }
 
 class TestEmulatorManager extends EmulatorManager {
-  final List<Emulator> allEmulators;
-
   TestEmulatorManager(this.allEmulators);
 
+  final List<Emulator> allEmulators;
+
   @override
   Future<List<Emulator>> getAllAvailableEmulators() {
     return Future<List<Emulator>>.value(allEmulators);
diff --git a/packages/flutter_tools/test/hot_test.dart b/packages/flutter_tools/test/hot_test.dart
index 9d92cd2..0094422 100644
--- a/packages/flutter_tools/test/hot_test.dart
+++ b/packages/flutter_tools/test/hot_test.dart
@@ -135,10 +135,10 @@
 }
 
 class TestHotRunnerConfig extends HotRunnerConfig {
-  bool successfulSetup;
-
   TestHotRunnerConfig({@required this.successfulSetup});
 
+  bool successfulSetup;
+
   @override
   Future<bool> setupHotRestart() async {
     return successfulSetup;
diff --git a/packages/flutter_tools/test/protocol_discovery_test.dart b/packages/flutter_tools/test/protocol_discovery_test.dart
index 0bd6606..d8499f2 100644
--- a/packages/flutter_tools/test/protocol_discovery_test.dart
+++ b/packages/flutter_tools/test/protocol_discovery_test.dart
@@ -223,9 +223,10 @@
 }
 
 class MockPortForwarder extends DevicePortForwarder {
-  final int availablePort;
   MockPortForwarder([this.availablePort]);
 
+  final int availablePort;
+
   @override
   Future<int> forward(int devicePort, {int hostPort}) async {
     hostPort ??= 0;
diff --git a/packages/flutter_tools/test/src/mocks.dart b/packages/flutter_tools/test/src/mocks.dart
index 5bcb4bc..eec77f1 100644
--- a/packages/flutter_tools/test/src/mocks.dart
+++ b/packages/flutter_tools/test/src/mocks.dart
@@ -308,12 +308,12 @@
 }
 
 class MockPollingDeviceDiscovery extends PollingDeviceDiscovery {
+  MockPollingDeviceDiscovery() : super('mock');
+
   final List<Device> _devices = <Device>[];
   final StreamController<Device> _onAddedController = StreamController<Device>.broadcast();
   final StreamController<Device> _onRemovedController = StreamController<Device>.broadcast();
 
-  MockPollingDeviceDiscovery() : super('mock');
-
   @override
   Future<List<Device>> pollingGetDevices() async => _devices;